windows 10 版本 1607 上的视频捕获

Video capture on windows 10 version 1607

可能有些人听说过 Windows 10 周年更新 (1607) 的视频捕获问题。社交媒体上所有讨论的本质都是 MJPEG 存在问题。我们公司开发了一种相机,它是一种 UVC 设备,使用 YUY2 Mediaformat。它与 MJPEG 无关。 但是尝试使用 GraphEdit 访问失败。当我尝试在 Graphedit 工作区中插入视频捕获过滤器时,出现错误:

使用 Windows 10 Version Version 1511 这可以正常工作。 Win10版本1607出现问题。 如果有人能提供帮助,我会很高兴。

Windows10周年更新问题主要与网络摄像头和应用程序之间的新组件的出现有关:Frame Server(参见related explanation)。

对 M-JPEG 的支持中断是一个副作用,后来由 KB3176938 通过 Windows 更新修复或部分修复。

您提到的问题看起来与Frame Server有关。您可以使用注册表禁用它并检查绕过它是否可以使您的相机正常运行。如果是这种情况,这又是一种可能的行为,那么您的相机出现问题并且 Frame Server 不喜欢该设备。它拒绝该设备,使其无法使用 DirectShow API 使用该设备及其视频源,而这又可能由于许多与媒体类型无关的原因而发生。显然,预计该设备是网络摄像头或类似设备,它应该实现典型的接口,如 IAMStreamConfig 等。由于您的设备被称为 UVC 兼容并且 Windows 应该接收它,因此应该有一些框架服务器不喜欢,例如错误的公开功能。

只有一种可能可以解决此问题:由于问题仅出在我们自己设计的相机上,并且仅适用于具有奇数分辨率值(例如 160x121)的视频格式,我们更改了此格式(例如更改为 160x122)。 Windows10(1607)的Frameserver不再排除x或y维度的奇数。