SkillAgentSearch skills...

Uvcc

USB Video Class (UVC) device configurator. Used for webcams, camcorders, etcetera. Command line interface for automation.

Install / Use

/learn @joelpurra/Uvcc

README

<p align="center"> <a href="https://files.joelpurra.com/projects/uvcc/demo/2020-09-02/uvcc-demo.2020-09-02.mp4"><img src="https://files.joelpurra.com/projects/uvcc/demo/2020-09-02/uvcc-demo.2020-09-02.gif" alt="uvcc demo video showing rubber ducks and a candle with varying camera settings" width="480" height="270" border="0" /></a> </p> <h1 align="center"> <a href="https://joelpurra.com/projects/uvcc/">uvcc</a> </h1> <p align="center"> <a href="https://en.wikipedia.org/wiki/USB_video_device_class">USB Video Class</a> (UVC) device configurator </p>

Overview

  • Fine-tune camera controls on the fly, such as brightness, contrast, saturation, gain, white balance/color temperature, zoom.
  • Export/import of settings makes it easy to reliably configure one or more cameras for various situations.
  • Command line interface (CLI) with JSON input/output for automation and repeatability.

Compatible cameras

Do you have another UVC-compatible camera?

Installation

Requires Node.js (node and npm commands). Published on npm as uvcc.

npm install --global uvcc

Or use npx to execute with npx uvcc.

On Linux, you may need to change device access permissions.

Features

  • List available UVC cameras and camera controls.
  • Get/set individual camera controls.
  • Export/import full JSON control snapshots using stdout/stdin.
  • Per-user/per-directory/custom configuration files to handle multiple cameras.

Short usage example

First start a program which shows a camera preview, such as Photo Booth on macOS or Cheese on Linux.

# Display commands and options.
uvcc --help

# Export current configuration. You can save it to a file, modify, and import later.
uvcc export

# Turn off automatic white balance to manually set the 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 the contrast to 192.
# NOTE: the contrast range for Logitech C920 is 0-255, default value 128.
uvcc set contrast 192

See also


uvcc Copyright © 2018, 2019, 2020, 2021, 2022 Joel Purra. Released under GNU General Public License version 3.0 (GPL-3.0). Your donations are appreciated!

View on GitHub
GitHub Stars111
CategoryContent
Updated5d ago
Forks7

Languages

TypeScript

Security Score

100/100

Audited on Mar 31, 2026

No findings