Last Update: 2021 - 01 - 21
Video Camera Capture Properties - VB.net Demo
by Philipp Stiefel, originally published 2021-02-15
last revision on 2021-01-23
This is about a Visual Basic .Net project I quickly created to show the settings dialogs for webcams and similar capture devices. These settings dialogs can be opened from most programs handling video input, but they are often hidden in not easily accessible locations. Some programs are missing these settings dialogs altogether. – I’m looking at you Microsoft Teams!
These dialogs are built into Windows, but for whatever unfathomable reasons there is no tool included to access them. – They are only accessible through Windows APIs.
My intention was to create such a tool to be able to quickly adjust some settings (most important to me was Exposure) of my Logitech C920 camera (Amazon affiliate link) manually. An optional “Stage 2” of this project would have been to define and save different profiles of the settings and for quickly switching between these profiles. (The Logitech C920 driver does not store the video settings beyond restarting the computer. The automatic default settings are decent for “normal” webcam usage, but when I record my videos for YouTube and have very bright light, the default settings are not acceptable.)
“Stage 1” of this project was supposed to be done in an evening. For that reason I used the Video for Windows (VfW) API which is a typical Win32 type API and pretty easy to use from VB.net and also from VBA. The alternative would have been DirectX/DirectShow, which is a COM-API primarily intended to be used with C++. – A different beast entirely.
I hacked away for an evening and actually managed to get the desired settings dialogs to display. However, these dialogs from VfW were older versions of the dialogs than those I knew from other video applications using DirectShow. Some settings were missing in those dialogs. – I could live with that. – But, to my disappointment, the Exposure setting, the most important one, is displayed there as expected, but it is read-only. :-(
So, for me this project has hit a dead end and I do not intend to continue working on it. Nevertheless, I make it available for free here. It does work as intended in showing the video settings dialogs and letting you adjust most of the settings. This is helpful for applications such as MS Teams, that do not include these setting dialogs.
Another small drawback of the VfW-API is that is working based on a capture window. I.e., you need to capture the video output of the camera first, and only then can access the settings. This does not work if another program already has captured the camera output to display or stream it somewhere.
So, with the flaws and limitations on the table, I leave it to you.
Download VideoProperties application: VideoProperties.zip
Download VideoProperties source code: VideoProperties_Source.zip (Visual Studio 2017 VB.net project)
© 1999 - 2021 by Philipp Stiefel - Privacy Policiy