uvcc, a tool to configure USB Video Class (UVC) compliant devices from the command line. You can find the
uvcc source code on github. (Note: I'm the author.) It's a generic tool which should work for any UVC webcams, although I've only tested it with my Logitech C920 HD Pro Webcam.
uvcc npm package requires Node.js including
Here is how to turn off automatic exposure and automatic white balance settings, and manually set white balance and contrast. Other controls are available.
# Install uvcc using npm.
npm install --global uvcc
# Find your UVC device, note the vendor id (vId) and product id (pId).
# The ids can be in hexadecimal (0x000) or decimal (0000) format.
# For example Logitech (0x46d) C920 HD Pro Webcam (0x82d).
# Use the vendor id and product id to export current configuration.
uvcc --vendor 0x46d --product 0x82d export
# Set exposure to manual.
uvcc --vendor 0x46d --product 0x82d set autoExposureMode 1
# Turn off automatic white balance.
uvcc --vendor 0x46d --product 0x82d set autoWhiteBalance 0
# Set the white balance temperature to 2000.
# NOTE: the whiteBalanceTemperature range for Logitech C920 is 2000-6500.
uvcc --vendor 0x46d --product 0x82d set whiteBalanceTemperature 2000
# Set the contrast to 192.
# NOTE: the contrast range for Logitech C920 is 0-255, default value 128.
uvcc --vendor 0x46d --product 0x82d set contrast 192
It is also possible to export and import several settings at once, in case you need to reliably and repeatedly configure one or more cameras for various situations.