代码之家  ›  专栏  ›  技术社区  ›  namenlos

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

  •  4
  • namenlos  · 技术社区  · 16 年前

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

    我认为我需要的是:C代码,它接受一个输入XAML文件,并以每秒24帧的速度输出一个高质量的WMV。

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

    1. 使用Camtasia Studio等屏幕录制软件进行录制。这是可行的,但动画不是很平滑,尤其是当动画有很多变换或移动时

    2. 使用Epiphan系统提供的DVI2USB等硬件。成本太高;我没试过。

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

    这篇博文提供了一个完整的将WPF/XAML导出为AVI的源代码示例。虽然没有我想要的那么快,但它满足了我的需要:

    link to MSDN blog bost

    1 回复  |  直到 16 年前
        1
  •  4
  •   ima    16 年前

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

    更新:看起来您不需要实时,所以RenderTargetBitmap应该可以正常工作。