我想写一个新的虚拟摄像头驱动程序,例如,它将采取AVI或直播流为屏幕和流它作为摄像头的来源。
我不会有网络摄像头真的,我想添加一个虚拟网络摄像头,流桌面屏幕。
我应该在内核模式下编写一个网络摄像头来这样做吗?如果是这样的话,你能给我介绍一个网络摄像头驱动程序示例吗?
如果我应该在DirectShow中这样做,我如何添加一个摄像头设备到控制面板中的摄像头列表中,例如在雅虎信使中,我可以选择该设备作为摄像头,并将我的桌面作为摄像头图像进行流式传输。
我该如何开始?
发布于 2009-10-21 02:27:37
您需要编写一个DirectShow源过滤器。Windows SDK包含一个名为baseclasses的库,它可以帮助您开发这样的过滤器。请参阅CSourceStream以获得一个很好的起点。
要使该设备显示在其他视频流设备下,您必须在CLSID_VideoInputCategory下的DirectShow应用程序接口中注册您的过滤器。您不需要/不应该编写内核驱动程序。
发布于 2012-05-09 18:10:01
您可以从DirectShow包下的示例"amcap“开始,它是一个非常适合初学者的示例。如果您想列出摄像头设备,请转到ChooseDevices()方法。
发布于 2021-01-23 19:38:18
您需要开发用于创建虚拟摄像机的DirectShow源过滤器,请先阅读以下内容
https://docs.microsoft.com/en-us/windows/win32/directshow/writing-source-filters
然后你就可以领养
https://github.com/roman380/tmhare.mvps.org-vcam
您可以在此示例虚拟摄影机的顶部进行操作。
这实现了IAMStreamConfig和IKsPropertySet接口
这是使用CSourceStream和实现IPin和IBaseFilter的CSource类构建的
https://stackoverflow.com/questions/1596424
复制相似问题