首页 > 解决方案 > 任何区分虚拟和物理相机的方法

问题描述

使用 Directshow.NET,我开发了一个应用程序,它从相机中抓取一些图片并将其保存在磁盘上。一切都很好,但如果某些虚拟相机已注册(安装)例如。Cyber​​link YouCam 然后直接显示接收以下帧:(GraphStudio 截图)

在此处输入图像描述

因此,为避免这种情况,我想检测找到的视频设备FilterCategory.VideoInputDevice是虚拟网络摄像头还是物理网络摄像头。有什么方法可以区分两者吗?

标签: directshowdirectshow.net

解决方案


物理相机由WDM Video Capture Filter实现。虚拟摄像机模仿那些,有些更好,有些更糟。

那些没有驱动程序实现的虚拟摄像机通常不会实现 WDM Video Capture Filter 的某些接口。通过驱动程序实现的可以通过它们的硬件路径过滤掉(黑名单)。后者的任务更难,因为 WDM Video Capture Filter 包装了这样的驱动程序并实现了一个与物理设备过滤器非常相似的过滤器,但硬件路径应该揭示其虚拟性质。


推荐阅读