If your webcam does not work in Windows 10, you should know that you are not the only one, it is a general problem.
Wow, it’s being caused by the Windows 10 Anniversary Update; It seems that the amount of news is accompanied by the same number of problems.
This is the third article in a week that we published in Omicrono about the problems caused by this great update; In part it is understandable that these patches bring bugs, but on the other it is worrying that every day that passes we find a new problem.
This time the bug seems to be related to webcams, specifically the way in which Windows 10 allows applications to connect to hardware, and worst of all, at the moment there seems to be no solution.
How webcams work in Windows 10 Anniversary Update
It turns out that among all the great news that we already mentioned at the time, The Anniversary Update also completely changed the mechanism by which webcams are used, whether they are connected by USB or by the network.
Normally in Windows only one program can access a webcam at a time; that is, once the operating system decides to grant the use rights of the camera to an application, hardware is locked for the rest.This could be a great inconvenience if we want several apps to use the same webcam.
The Anniversary Update fixes this with a new system called Windows Camera Frame Server, which as its name creates a server that allows multiple connections from different programs at the same time, and allows you to share the video with all of them.
Why your webcam does not work in Windows 10
The bug has to do with the way in which the Windows Camera Frame Server manages the video stream coming from the webcams. Usually the ideal is to process that video without compressing it, in YUV or NV12 data; in this way, the compression process falls on the app and on what you decide to do with the data.
However, uncompressed video has one negative point: the amount of space it takes up. If your webcam uses a USB 2 connection, the connection is only capable of sending a maximum of 480Mb / s, soIt is inevitable that the webcam itself compresses the video to get the right transfer rate, either with the H.264 or MJPEG codec.
The problem is that Windows Camera Frame Server does not support compressed video, only video in uncompressed format, and this is not a bug according to Microsoft, but a conscious decision. What the company’s engineers wanted to avoid is that the apps had to decompress the video in order to edit or modify it, which would add more steps and reduce performance; By accepting only video in YUV or NV12, Window ensures that apps only have to receive the data and do whatever they want with it.
The result, perhaps predictable, is that many webcams do not work correctly with Windows 10. Or rather, technically they work, but apps can’t access video data Because it comes compressed and Windows Camera Frame Server does not offer it.
With Skype it is very easy to check this problem first hand. When you initiate a video call, Skype will start with a low resolution like 640480 in YUV, and if you find that the connection is good enough to support better quality video, try jumping to 720p or 1080p.
It is at this point that the video is compressed, Windows Camera Frame Server stops supporting it, and the app crashes. If you have seen that Skype worked well initially but soon it was caught, this is why.
How to fix webcam problem in Windows 10
Microsoft has already announced that it is working to fix this problem by adding support for compressed video, but better sit back. H.264 will be especially difficult to implement, so it can take a few weeks or even months.
Meanwhile, there is an unofficial method to fix the problem on our own, although it involves modifying the registry. Therefore, keep in mind that you should be very careful with what you are doing and it is recommended to make a registry backup before.
To get started, open the registry editor by opening the start menu and looking for regedit.
Then navigate through the following folders: HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Windows Media Foundation -> Platform
Here right click with the mouse and in New, DWORD Value (32bits) creates a new key called EnableFrameServerMode and give it the value 0. This will be for 32 bit and 64 bit Windows.
But if what you want is to run 32-bit apps on 64-bit Windows, you will have to navigate to HKEY_LOCAL_MACHINE -> SOFTWARE -> WOW6432Node -> Microsoft -> Windows Media Foundation -> Platform and create the same DWORDEnableFrameServerMode with the value 0.