Windows 8 上的 RTSP 流式传输到虚拟视频设备

RTSP stream to virtual video device on Windows 8

我搜索了 high 和 low,但没有找到可以让我创建一个 windows 应用程序来获取 rtsp 流 (H.264) 并将其刷新到虚拟视频设备的内容。我需要这个,这样我就可以 select 该虚拟视频设备而不是我的 Flash 应用程序中连接的摄像头。 Whosebug 中的大多数帖子都引用了已经构建的应用程序,这并不是很有帮助 例如。 Convert RTSP stream to virtual web camera

我可以在 Windows 8 上使用 DirectShow,但发现它在 Windows 8 SDK 上被淘汰了(我下载了 windows sdk,但没有 directshow 示例)

我也找到了这篇关于 directshow 和过滤器的文章,但似乎不是 对我很有帮助,因为它指的是 windows 的旧版本。 http://www.infognition.com/blog/2013/accessing_raw_video_in_directshow.html

那么,如何在 windows 上对 DirectShow features/filter 图形进行编程 8. 我研究了 Windows Presentation Foundation,但样本不多,而且 directshow 似乎更直接。

微软为什么要走这条路?

Windows 中没有合适的库存组件,尤其是 DirectShow API(因为 Microsoft 多年来一直没有推动它,或者出于其他原因)。您可以自行填写缺失的部分或使用第三方解决方案。

Windows 8 仍然提供 DirectShow API 层来支持遗留应用程序,您可以在其上构建新应用程序。没有虚拟视频源,但是有 Ball and PushSource SDK samples (note that older SDKs were richer on samples), and then there is popular VCam 示例显示如何将滤镜变成 "registered" 视频源。

那么不支持RTSP客户端,这部分你自己实现吧。

Windows 8 提供不错的 H.264 编码器和解码器,您还可以选择使用替代解决方案。

实际上,VMIX 视频混合软件将从几乎任何流、diretx 兼容的视频采集卡(包括 ebay 上的 easy cap 9$ 采集卡)中提取,然后输出到 directshow 兼容的虚拟设备,并且它可以做到同时连接到两个虚拟设备..

并且免费版本最多允许 4 个输入,并且可以完美切换,付费版本允许 1000 个输入。我目前正在使用它进行每周一次的广播捕获,使用 3 个 USB 捕获卡从摄像机组件输出,混合标题覆盖,输出到虚拟设备,然后 Microsoft 表达式编码器抓取转码并发送到 windows 媒体服务服务器.同时 VMIX 以 360p 录制到一个 h.264 文件,并在端口 80 上流式传输到本地网络,并创建另一个虚拟设备,该设备被另一个 运行 表达式编码器副本抓取并发送到另一台服务器IIS流畅流格式..

VMIX 是一个很棒的免费且便宜的程序,从基本的所有视频到复杂的视频混合和文件转换..