如何将XAML / WPF文件转换为视频(AVI,WMV等)

时间:2008-09-16 19:17:03

标签: wpf xaml video animation record

我有一个简单的WPF(XAML)文件,它有一些动画形状和文本。动画没有交互行为。我想把这个动画录制成一个视频文件,我后来打算用它作为截屏视频的“介绍”屏幕。

我认为我需要:C#代码采用输入XAML文件并吐出高质量的WMV(例如24fps)。

我已经调查过的可能的替代方案

  1. 使用Camtasia Studio等屏幕录制软件进行录制。这有效,但动画并不是很流畅,特别是当动画有很多过渡或动作时

  2. 使用Epiphan Systems的DVI2USB等硬件。成本太高;没试过。

  3. 使用DVR卡录制电视输出(S-Video等) - 低质量和低分辨率。

  4. 2008年10月28日更新 - 工作源代码

    此博客文章包含将WPF / XAML导出为AVI的完整工作源代码示例。它并不像我想的那么快,但它可以满足我的需求:

    link to MSDN blog bost

1 个答案:

答案 0 :(得分:4)

使用RenderTargetBitmap渲染帧,然后使用您选择的编解码器进行编码。速度不是很快,但普通PC上可以达到24 fps。我们使用类似的技术将视频流从新的WPF指标提供给传统的位图系统。可能有更好的解决方案,但它确实有效。

我还听说过一个解决方案,从内部使用WPF从DirectX缓冲区中提取渲染帧,其工作速度比RenderTargetBitmap快得多,但在生产系统中使用它似乎太不可靠了

更新:看起来你不需要实时,所以RenderTargetBitmap应该没有任何问题。