将网络视频流注册为虚拟摄像机
Registering a network video stream as a virtual camera
所以在过去的几周里,我一直试图解决这个问题,但有点停滞不前。我正在尝试将来自 IP 地址的 RTSP 流注册为虚拟网络摄像头,以便在另一个应用程序(可能是 Skype 或类似应用程序)中使用。我需要的是让我的计算机将虚拟网络摄像头添加到其设备列表中。这最好通过 C# 脚本完成,因为可以通过 .NET 程序动态添加设备。
我在 Whosebug 上发现了类似的问题,但其中许多已经过时,使用 Linux,或接收另一个流 format/protocol。
到目前为止,我的方法一直是使用 DirectShow 过滤器,并且到目前为止它在一定程度上奏效了。使用 Graphedit,我可以使用 RTSP 源过滤器查看我的传入流。但是,存在一些问题:
- 源过滤器是试用版,完整版是付费的,而且相当昂贵
- 我没有使用 DirectShow 过滤器编程的经验
- 我只通过 GraphEdit 显示了流,没有注册虚拟驱动程序,所以例如 Skype 无法使用流
所以我想我的问题可以归结为:
- 我使用 DirectShow 的方法是实现我想要的唯一方法吗?
- 如果 Windows 应将流列为网络摄像头设备,过滤器是否是正确的使用方法?
- vcam 是否仍然是实现此类功能的最佳示例?
- 是否有人知道可以实现我所描述的功能的类似开源程序?
无论如何,我很感激能得到的任何帮助!
谢谢。
The diagram below explains the applicability of virtual cameras:
您正在尝试以某种方式安装较低的绿色或蓝色盒子,以便它从 RTSP 读取数据。
请注意,越来越多的应用程序(如新的 Skype)是基于媒体基础的(图中右上角的框),而您的基于过滤器的源越来越不适用。
创建一个被各种软件识别的虚拟相机假设你提供了一个驱动程序(红框)。尽管存在这样的软件包,但我不知道有任何开源甚至免费的资源可以让您快速开始这条路线。
基于 DirectShow 过滤器的源(您还没有在那里实现 RTSP 客户端)将只能被具有相同位数的基于 DirectShow 的应用程序看到。
所以在过去的几周里,我一直试图解决这个问题,但有点停滞不前。我正在尝试将来自 IP 地址的 RTSP 流注册为虚拟网络摄像头,以便在另一个应用程序(可能是 Skype 或类似应用程序)中使用。我需要的是让我的计算机将虚拟网络摄像头添加到其设备列表中。这最好通过 C# 脚本完成,因为可以通过 .NET 程序动态添加设备。 我在 Whosebug 上发现了类似的问题,但其中许多已经过时,使用 Linux,或接收另一个流 format/protocol。
到目前为止,我的方法一直是使用 DirectShow 过滤器,并且到目前为止它在一定程度上奏效了。使用 Graphedit,我可以使用 RTSP 源过滤器查看我的传入流。但是,存在一些问题:
- 源过滤器是试用版,完整版是付费的,而且相当昂贵
- 我没有使用 DirectShow 过滤器编程的经验
- 我只通过 GraphEdit 显示了流,没有注册虚拟驱动程序,所以例如 Skype 无法使用流
所以我想我的问题可以归结为:
- 我使用 DirectShow 的方法是实现我想要的唯一方法吗?
- 如果 Windows 应将流列为网络摄像头设备,过滤器是否是正确的使用方法?
- vcam 是否仍然是实现此类功能的最佳示例?
- 是否有人知道可以实现我所描述的功能的类似开源程序?
无论如何,我很感激能得到的任何帮助! 谢谢。
The diagram below explains the applicability of virtual cameras:
您正在尝试以某种方式安装较低的绿色或蓝色盒子,以便它从 RTSP 读取数据。
请注意,越来越多的应用程序(如新的 Skype)是基于媒体基础的(图中右上角的框),而您的基于过滤器的源越来越不适用。
创建一个被各种软件识别的虚拟相机假设你提供了一个驱动程序(红框)。尽管存在这样的软件包,但我不知道有任何开源甚至免费的资源可以让您快速开始这条路线。
基于 DirectShow 过滤器的源(您还没有在那里实现 RTSP 客户端)将只能被具有相同位数的基于 DirectShow 的应用程序看到。