{"id":13961760,"url":"https://github.com/joelpurra/uvcc","last_synced_at":"2025-03-16T18:32:07.104Z","repository":{"id":28974746,"uuid":"119888568","full_name":"joelpurra/uvcc","owner":"joelpurra","description":"USB Video Class (UVC) device configurator. Used for webcams, camcorders, etcetera. Command line interface for automation.","archived":false,"fork":false,"pushed_at":"2023-03-15T11:33:57.000Z","size":1125,"stargazers_count":103,"open_issues_count":8,"forks_count":5,"subscribers_count":7,"default_branch":"develop","last_synced_at":"2025-02-27T12:16:29.943Z","etag":null,"topics":["camera","camera-controls","configuration","digital-camera","json","usb","usb-cameras","uvc","uvc-cameras","uvcc","uvccamera","video","webcam","webcamera","webcams"],"latest_commit_sha":null,"homepage":"https://joelpurra.com/projects/uvcc/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joelpurra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-02-01T20:18:57.000Z","updated_at":"2025-02-24T12:41:45.000Z","dependencies_parsed_at":"2024-01-17T16:08:30.654Z","dependency_job_id":"b1c0f12a-5593-41cc-94d0-47afea08b398","html_url":"https://github.com/joelpurra/uvcc","commit_stats":{"total_commits":147,"total_committers":3,"mean_commits":49.0,"dds":"0.013605442176870763","last_synced_commit":"f38eda4f32d3c8eadeef9ce74dcbf096354521c9"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelpurra%2Fuvcc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelpurra%2Fuvcc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelpurra%2Fuvcc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joelpurra%2Fuvcc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joelpurra","download_url":"https://codeload.github.com/joelpurra/uvcc/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243826783,"owners_count":20354220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["camera","camera-controls","configuration","digital-camera","json","usb","usb-cameras","uvc","uvc-cameras","uvcc","uvccamera","video","webcam","webcamera","webcams"],"created_at":"2024-08-08T17:01:25.300Z","updated_at":"2025-03-16T18:32:04.696Z","avatar_url":"https://github.com/joelpurra.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://files.joelpurra.com/projects/uvcc/demo/2020-09-02/uvcc-demo.2020-09-02.mp4\"\u003e\u003cimg 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\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://joelpurra.com/projects/uvcc/\"\u003euvcc\u003c/a\u003e\n\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://en.wikipedia.org/wiki/USB_video_device_class\"\u003eUSB Video Class\u003c/a\u003e (UVC) device configurator\n\u003c/p\u003e\n\n## Overview\n\n- Fine-tune camera controls on the fly, such as brightness, contrast, saturation, gain, white balance/color temperature, zoom.\n- Export/import of settings makes it easy to reliably configure one or more cameras for various situations.\n- Command line interface (CLI) with JSON input/output for automation and repeatability.\n\n## Compatible cameras\n\n- [Elgato Facecam](https://www.elgato.com/facecam) ([4057:0120](./examples/elgato-facecam/4057-120/))\n- [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/))\n- [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/))\n- [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/))\n- Hopefully other [UVC-compatible webcams and digital camcorders](https://en.wikipedia.org/wiki/List_of_USB_video_class_devices).\n\n### Do you have another UVC-compatible camera?\n\n- Add it to the [`./examples/`](./examples/).\n- Is it not working?\n  - [Report an issue.](https://github.com/joelpurra/uvcc/issues?q=is%3Aopen)\n  - [Help fix the source code!](./DEVELOP.md)\n\n## Installation\n\nRequires [Node.js](https://nodejs.org/) (`node` and `npm` commands). Published on npm as [`uvcc`](https://www.npmjs.com/package/uvcc).\n\n```shell\nnpm install --global uvcc\n```\n\nOr use [`npx`](https://www.npmjs.com/package/npx) to execute with `npx uvcc`.\n\nOn Linux, you may need to [change device access permissions](./USAGE.md#linux).\n\n## Features\n\n- List available UVC cameras and camera controls.\n- Get/set individual camera controls.\n- Export/import full JSON control snapshots using `stdout`/`stdin`.\n- Per-user/per-directory/custom configuration files to handle multiple cameras.\n\n## Short usage example\n\nFirst start a program which shows a camera preview, such as Photo Booth on macOS or Cheese on Linux.\n\n```shell\n# Display commands and options.\nuvcc --help\n\n# Export current configuration. You can save it to a file, modify, and import later.\nuvcc export\n\n# Turn off automatic white balance to manually set the white balance.\nuvcc set auto_white_balance_temperature 0\n\n# Set the white balance temperature to 2000.\n# NOTE: the white_balance_temperature range for Logitech C920 is 2000-6500.\nuvcc set white_balance_temperature 2000\n\n# Set the contrast to 192.\n# NOTE: the contrast range for Logitech C920 is 0-255, default value 128.\nuvcc set contrast 192\n```\n\n## See also\n\n- Further help and configuration in [USAGE.md](./USAGE.md).\n- The [./examples/](./examples/) directory for some sample output.\n- The [CHANGELOG.md](./CHANGELOG.md), in particular for breaking changes.\n- Read [DEVELOP.md](./DEVELOP.md) to submit a patch or add your camera output to the examples.\n- [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.\n\n---\n\n[`uvcc`](https://joelpurra.com/projects/uvcc/) Copyright \u0026copy; 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/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoelpurra%2Fuvcc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoelpurra%2Fuvcc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoelpurra%2Fuvcc/lists"}