将网络视频流注册为虚拟摄像机

时间:2019-03-11 07:11:50

标签: video-capture directshow rtsp

因此,在过去的几周中,我一直试图解决此问题,但陷入停顿。我正在尝试将来自IP地址的RTSP流注册为虚拟网络摄像头,以用于其他应用程序(可以是Skype或类似应用程序)。我需要的是计算机将虚拟摄像头添加到其设备列表中。最好通过C#脚本完成此操作,因为可以通过.NET程序动态添加设备。 我在StackOverflow上发现了类似的问题,但其中许多已经过时,使用Linux或接收了其他流格式/协议。

到目前为止,我的方法一直是使用DirectShow过滤器,到目前为止已经奏效了。使用Graphedit,我可以使用RTSP源过滤器查看传入的流。但是,存在一些问题:

  • 源过滤器是一个试用版,完整版已付费并且非常昂贵
  • 我没有DirectShow过滤器编程的经验
  • 我只通过GraphEdit显示了流,没有注册虚拟驱动程序,因此Skype无法使用该流

所以我想我的问题可以归结为:

  • 我使用DirectShow的方法是实现我想要的唯一方法吗?
  • 如果Windows应将流列为网络摄像头设备,则过滤器是正确的使用方法吗?
  • vcam仍然是实现此类目标的最佳范例吗?
  • 有人知道实现我所描述的类似的开源程序吗?

无论如何,我感谢能获得的任何帮助! 谢谢。

1 个答案:

答案 0 :(得分:1)

  

The diagram below explains the applicability of virtual cameras:

enter image description here

您正试图以某种方式安装下部的绿色或蓝色框,以使其从RTSP读取数据。

请注意,越来越多的应用程序(例如新的Skype)都基于Media Foundation(在图表的右上方),并且基于过滤器的源代码越来越不适用。

创建可以被各种软件识别的虚拟相机,前提是您要提供驱动程序(红色框)。即使存在这样的软件包,我也不知道有任何开源或免费的开源可让您快速开始使用此路线。

基于DirectShow过滤器的源(您尚未在那里实现RTSP客户端)只能由具有相同位数的基于DirectShow的应用程序看到。