2008-09-16 15 views
4

У меня есть простой файл WPF (XAML), который имеет некоторые анимированные фигуры и текст. Анимация не имеет интерактивного поведения. Я хочу записать эту анимацию в виде видеофайла, который позже я буду использовать в качестве экрана «intro» для создания скринкаста.Как преобразовать файл XAML/WPF в видео (AVI, WMV и т. Д.)

Что мне нужно: код C#, который принимает входной файл XAML и выдает высококачественный WMV (например, 24 кадра в секунду).

Возможные альтернативы я исследовал уже

  1. Запись с программным обеспечением записи экрана, как Camtasia Studio. Это работает, но анимации не так гладки, особенно когда анимация имеет много переходов или перемещений.

  2. Используйте аппаратные средства, такие как DVI2USB от Epiphan Systems. Затраты слишком велики; не пробовал.

  3. Запись ТВ-выхода (S-Video и т. Д.) С использованием карты DVR - низкое качество и низкое разрешение.

Update 28 Окт 2008 - рабочий исходный код

Этот блог имеет полный рабочий исходный код примера экспорта WPF/XAML как AVI. Это не так быстро, как хотелось бы, но это работает для моих потребностей:

link to MSDN blog bost

ответ

4

Рендер кадры с RenderTargetBitmap, затем закодировать с кодеком по вашему выбору. Не очень быстро, но 24 fps достижимы на обычном ПК. Мы используем аналогичную технику для подачи видеопотока из новых индикаторов WPF в устаревшую растровую систему. Там может быть лучшее решение, но оно работает.

Я также слышал о решении с тяговым обработанный кадр из DirectX буферов, которые WPF использует внутренне, который работает гораздо быстрее, чем RenderTargetBitmap, но это казалось слишком ненадежным для использования в производственной системе

Update: Кажется, вы не нужны в реальном времени, поэтому RenderTargetBitmap должен работать без проблем.

 Смежные вопросы

  • Нет связанных вопросов^_^