如何将 WPF 表单的内容(作为帧)流式传输到 AVI 文件?
Posted
技术标签:
【中文标题】如何将 WPF 表单的内容(作为帧)流式传输到 AVI 文件?【英文标题】:How to stream contents of a WPF form (as frames) to an AVI File? 【发布时间】:2011-04-15 20:08:02 【问题描述】:我目前将实时视频混合发送到输出屏幕(特定屏幕上的表单)。将其视为 PowerPoint 的真正高级版本。我称它为电脑的视频控制室。我想从一个屏幕(我的选择,我允许多个屏幕)和计算机(立体声)设置的音频每秒拍摄 30 帧,将其保存到硬盘上。我怎么做?
我知道我可以使用 RenderTargetBitmap 类绘制界面图像,但是如何将这些图像(作为帧)放入 AVI 文件或将其推送到视频服务器? SDK?或者一个代码示例来指出我正确的方向,会很好!我还想捕捉当前立体声混音或麦克风的声音(由用户决定)。
我不想使用第三方,我更愿意在程序中这样做以最大限度地控制它。我很好,使用第二个程序进行压缩并只保存原始 AVI 文件(带音频流)。正如任何程序员都会说的那样,磁盘很便宜。如果必须,我会分别保存视频和音频流,但我不想这样做。
告诉我。
【问题讨论】:
您的意思是 WCF 而不是 WPF? WCF 可能是您正在寻找的 - WPF 是一个 GUI 工具包,而 WCF 是 Windows Communcation Foundation 工具包,它具有您需要的网络/流/传输内容。 我正在使用 WPF 来呈现项目,无论我使用什么都必须抓取项目并发送流。 我想这就是我要开始的地方。 这个thread怎么样 基本上我将视频和实时流混合到屏幕上,我希望能够流式传输。它必须抓取屏幕并将其作为流发送到媒体服务器(任何服务器,我都会支持最好的例子,哈哈。)。 【参考方案1】:查看RenderTargetBitmap class。它允许您将任何视觉对象转换为像素,然后您可以将这些像素传递给编码器/网络堆栈,例如 here
中描述的那些还可以查看 Windows media foundation 将您的像素转换为 avi 或流
【讨论】:
我需要一个将位图帧实时编码为 AVI 流的示例。附:谢谢你的名字,我目前用来收集预览和网格屏幕的类。以上是关于如何将 WPF 表单的内容(作为帧)流式传输到 AVI 文件?的主要内容,如果未能解决你的问题,请参考以下文章