使用Directshow.NET我开发了一个应用程序,它从相机中抓取一些图片并将其保存在磁盘上。一切都很顺利,但如果有些虚拟相机注册(安装),例如。 Cyberlink YouCam然后指示接收以下框架:(GraphStudio屏幕截图)
因此,为了避免这种情况,我想检测FilterCategory.VideoInputDevice
找到的视频设备是虚拟还是物理网络摄像头。有没有办法区分两者?
答案 0 :(得分:0)
物理相机由WDM Video Capture Filter实施。虚拟摄像机模仿那些,有些 - 更好,有些 - 更糟。
在没有驱动程序的情况下实现的虚拟摄像机通常不会实现WDM视频捕获过滤器的某些接口。通过驱动程序实现的一个可以通过其硬件路径过滤掉(黑名单)。后者的任务更难,因为WDM视频捕获过滤器包装了这样的驱动程序并实现了与物理设备过滤器非常相似的过滤器,但硬件路径应该揭示其虚拟性质。