4

我有一个简单的 WPF (XAML) 文件,其中包含一些动画形状和文本。动画没有交互行为。我想将此动画录制为视频文件,稍后我打算将其用作截屏视频的“介绍”屏幕。

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

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

  1. 使用 Camtasia Studio 等屏幕录制软件进行录制。这可行,但动画不那么流畅,尤其是当动画有很多过渡或移动时

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

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

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

这篇博文有一个完整的工作源代码示例,将 WPF/XAML 导出为 AVI。它没有我想要的那么快,但它可以满足我的需求:

链接到 MSDN 博客博文

4

1 回答 1

4

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

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

更新:您似乎不需要实时,因此 RenderTargetBitmap 应该可以正常工作。

于 2008-09-16T19:27:12.133 回答