

Now that I have a DirectShow sDevice that represents the webcam, I create a filter to expose the control interface of the web cam. DirectShow uses a module system called filters to expose device functionality. You can dump out the list of DsDevices and peek at the name property until you see your webcam.

If you are having a autofocus problem with a different brand or model of webcam, just replace that name with the name of your webcam. Then I do a LINQ query to filter that list for the first match “Microsoft® LifeCam HD-5000”. Using DsDevice from DirectShowLib, I was able to get the list of devices for the category of VideoInputDevice. The next step was to get access to the webcam. To use the DirectShowLib library, I added it via nuget. The source code is up on GitHub via this handy little URL. The code was written with Visual Studio 2017, it has not been tested with any other compiler. The app is hard coded to connect to a LifeCam HD-5000, but it would be easy enough to change the code for other webcam. With that library, it was little more than a handful of lines of code to access webcam controls. The DirectShowLib library maps the DirectShow Interfaces for use from a. So after seeing some stuff on StackOverflow on how to use the IAMCameraControl interface in DirectShow, I wrote a tiny command line app called FocusUF.įocusUF uses the DirectShowLib library library to provide nice, friendly C# access to DirectShow. I prefer to avoid hacks like that when it’s something that I could code around. There is a registry hack that lets you turn off autofocus. I’m not able to sit motionless while on a webcam. Since Windows 8, they stopped as the OS directly supported the webcam. Microsoft used to supply drivers for the HD-5000 and it had a control app where you could adjust the focus settings. Your face will shift in and out of focus and it’s just a distraction. When you are in a video chat, this can get very annoying (very quickly) for the other viewers.

It goes in and out of focus and locks in after a second or two. The autofocus keeps shifting the focus around if you move your head slightly. The LifeCam HD-5000 webcam is a decent webcam with an annoying feature. Why am I out of focus? It’s because I have a Microsoft LifeCam HD-5000 and I’m running Windows 10. Note from the future: I updated the code and blogged about it here.
