如何将XAML / WPF文件转换为视频(AVI,WMV等)
时间:2020-03-05 18:56:54 来源:igfitidea点击:
我有一个简单的WPF(XAML)文件,其中包含一些动画形状和文本。动画没有交互行为。我想将此动画录制为视频文件,以后打算用作截屏视频的"介绍"屏幕。
我想我需要的是:带有输入XAML文件并以高质量(例如24fps)吐出高质量WMV的Ccode。
- 使用屏幕录制软件(例如Camtasia Studio)进行录制。这可行,但是动画不那么平滑,特别是当动画有很多过渡或者移动时
- 使用Epiphan Systems的DVI2USB之类的硬件。费用太多;还没试过
- 使用DVR卡录制电视输出(S视频等)-低质量和低分辨率。
这篇博客文章提供了将WPF / XAML导出为AVI的完整工作源代码示例。它没有我想要的快,但是可以满足我的需求:
链接到MSDN Blog Bost
解决方案
回答
使用RenderTargetBitmap渲染帧,然后使用我们选择的编解码器进行编码。速度不是很快,但是在普通PC上可以达到24 fps。我们使用类似的技术将视频流从新的WPF指示器馈送到旧式位图系统。可能有更好的解决方案,但它可以工作。
我也听说过一种解决方案,该解决方案是从WPF内部使用的DirectX缓冲区中提取渲染帧的方法,该方法的工作速度比RenderTargetBitmap快得多,但是在生产系统中使用它似乎不太可靠
更新:看来我们不需要实时,因此RenderTargetBitmap应该可以正常工作。