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
npm, or run commands using
# Install uvcc using npm.
npm install --global uvcc
# Alternatively, skip install and use npx as a prefix to all uvcc commands.
Here is how to turn off automatic exposure and automatic white balance settings, and manually set white balance and contrast. Other controls are available.
# Export current configuration of the first UVC device found.
# Turn off automatic white balance.
uvcc set auto_white_balance_temperature 0
# Set the white balance temperature to 2000.
# NOTE: the white_balance_temperature range for Logitech C920 is 2000-6500.
uvcc set white_balance_temperature 2000
# Set exposure to manual.
uvcc set auto_exposure_mode 1
# Set exposure time to 500 milliseconds.
# NOTE: the absolute_exposure_time range for Logitech C920 is 3-2047.
uvcc set absolute_exposure_time 500
# Set the contrast to 192.
# NOTE: the contrast range for Logitech C920 is 0-255, default value 128.
uvcc 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. See