Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joelpurra/uvcc
USB Video Class (UVC) device configurator. Used for webcams, camcorders, etcetera. Command line interface for automation.
https://github.com/joelpurra/uvcc
camera camera-controls configuration digital-camera json usb usb-cameras uvc uvc-cameras uvcc uvccamera video webcam webcamera webcams
Last synced: about 2 months ago
JSON representation
USB Video Class (UVC) device configurator. Used for webcams, camcorders, etcetera. Command line interface for automation.
- Host: GitHub
- URL: https://github.com/joelpurra/uvcc
- Owner: joelpurra
- License: gpl-3.0
- Created: 2018-02-01T20:18:57.000Z (almost 7 years ago)
- Default Branch: develop
- Last Pushed: 2023-03-15T11:33:57.000Z (almost 2 years ago)
- Last Synced: 2024-10-12T14:31:06.550Z (2 months ago)
- Topics: camera, camera-controls, configuration, digital-camera, json, usb, usb-cameras, uvc, uvc-cameras, uvcc, uvccamera, video, webcam, webcamera, webcams
- Language: TypeScript
- Homepage: https://joelpurra.com/projects/uvcc/
- Size: 1.07 MB
- Stars: 98
- Watchers: 8
- Forks: 5
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
uvcc
USB Video Class (UVC) device configurator## 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
- [Elgato Facecam](https://www.elgato.com/facecam) ([4057:0120](./examples/elgato-facecam/4057-120/))
- [Logitech C920 HD Pro Webcam](https://www.logitech.com/en-us/products/webcams/c920s-pro-hd-webcam.html) ([1133:2093](./examples/logitech-c920/1133-2093/))
- [Logitech C922 Pro Stream Webcam](https://www.logitech.com/en-us/products/webcams/c922-pro-stream-webcam.html) ([1133:2140](./examples/logitech-c922/1133-2140/))
- [Microsoft LifeCam Studio](https://www.microsoft.com/en-WW/accessories/products/webcams/lifecam-studio) Model 1425 ([1118:1906](./examples/microsoft-1425/1118-1906/), [1118:2065](./examples/microsoft-1425/1118-2065/))
- Hopefully other [UVC-compatible webcams and digital camcorders](https://en.wikipedia.org/wiki/List_of_USB_video_class_devices).### Do you have another UVC-compatible camera?
- Add it to the [`./examples/`](./examples/).
- Is it not working?
- [Report an issue.](https://github.com/joelpurra/uvcc/issues?q=is%3Aopen)
- [Help fix the source code!](./DEVELOP.md)## Installation
Requires [Node.js](https://nodejs.org/) (`node` and `npm` commands). Published on npm as [`uvcc`](https://www.npmjs.com/package/uvcc).
```shell
npm install --global uvcc
```Or use [`npx`](https://www.npmjs.com/package/npx) to execute with `npx uvcc`.
On Linux, you may need to [change device access permissions](./USAGE.md#linux).
## 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.
```shell
# 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
- Further help and configuration in [USAGE.md](./USAGE.md).
- The [./examples/](./examples/) directory for some sample output.
- The [CHANGELOG.md](./CHANGELOG.md), in particular for breaking changes.
- Read [DEVELOP.md](./DEVELOP.md) to submit a patch or add your camera output to the examples.
- [USB Video Class](https://en.wikipedia.org/wiki/USB_video_device_class) and [list of USB video class devices](https://en.wikipedia.org/wiki/List_of_USB_video_class_devices) on Wikipedia.---
[`uvcc`](https://joelpurra.com/projects/uvcc/) Copyright © 2018, 2019, 2020, 2021, 2022 [Joel Purra](https://joelpurra.com/). Released under [GNU General Public License version 3.0 (GPL-3.0)](https://www.gnu.org/licenses/gpl.html). [Your donations are appreciated!](https://joelpurra.com/donate/)