我在 C# 中使用 DirectShowNet。我一直在开发一个应用程序来使用网络摄像头来显示视频、更改分辨率和拍照(无论是静止图钉还是来自捕获流)。我一直在 2 台不同的机器(Win 7 64 位和 Win 8 64 位)以及这些机器上的内部网络摄像头(它们是笔记本电脑)和其他 2 台网络摄像头 Logitech C920 和 Microsoft LifeCam Studio 上对其进行测试。
有一天,LifeCam Studio 在我的 Win 8 机器上停止工作。使用 GraphEditPlus,检查 Capture 引脚的 VideoFormats,我注意到神秘地不再列出 RGB24 格式。我编写的应用程序只使用 24 位颜色格式。仅列出 YUY2 16 位格式。如果我在我的 Win 7 机器上检查相同的网络摄像头,我会看到列出了 YUY2 和 RGB24 格式。以前,我的 Win 8 机器确实列出了这两种格式。
问题是,什么可能导致 DirectShow 更改 Capture 引脚的 VideoFormats 列表?到目前为止,我注意到更改驱动程序版本会对网络摄像头支持的引脚产生巨大影响,但我还没有看到它们像这样更改视频格式。据我所知,我还没有更新任何一台机器上网络摄像头的驱动程序。
这是两台机器的驱动程序版本。