It seems that others have now encountered the change in how Windows 10 handles webcams after the Anniversary update. Many applications simply never try to go beyond 720p30, so it wasn’t clear to me how many people would be impacted by this change.
After my initial post about this on 8/4 I dropped news of the trouble in the related support forums for OBS, vMix, and Wirecast. My thought was that people involved in the production of streaming media could possibly be impacted.
How ironic that in the two weeks since there’s been a flood of complaints about the Anniversary Update breaking webcam access in Skype. It hadn’t occurred to me that Skype, a Microsoft product(!), would also be impacted.
It seems that, post update, the combination of Skype and a Logitech C920 or C930e can launch a video call, but it fails shortly thereafter. My expectation is that Skype starts the call with a modest video stream, 720p or less. Once the streams are flowing and it senses that the connection is good, it tries to switch to better quality and the video stops.
It knows that the camera is capable of 1080p30 when using MJPEG or H.264. However, the new frame server mechanism that’s intended to allow webcam sharing doesn’t fetch compressed streams from the camera, nor deliver them to a client app. So when Skype requests 1080p from the frame server the video is simply lost.
Although I seldom use it, Skype still has a vast installed base. Combine this with the fact that the Logitech C920 is probably the world’s single most popular webcam, and you have millions of people impacted.
In a thread on MSDN the Microsoft developer responsible for cameras has explained the intent of the frame server, which is notable. What they failed to appreciate is how its present state would impact legacy apps. Any apps smart enough to specifically request MJPEG or H.264 simply fail when the frame server will not comply.
They have now accepted the need to deliver compressed streams from the frame server, and are reportedly already testing a version that can deliver MJPEG. So an initial fix that isn’t too far away. Apparently adding H.264 capability in the frame server is more difficult, so that will take longer to implement.
Happily, there is an immediate workaround. If you have installed the Anniversary Update and require normal webcam functionality you can use the following registry hack to disable the new frame server mechanism.
Try opening up HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows Media Foundation\Platform and add a DWORD with name EnableFrameServerMode. Set its value to 0 and try again. For 64-bit apps (e.g. UWP Skype), use the same path above, minus WOW6432Node.
So, a workaround is readily available…and a longer term solution is in the works. Hopefully Microsoft has learned an important lesson along the way. This is the sort of thing that should have been uncovered by their Insider Program.