uvcc
changelog
See full list of commits for details.
- 8779b90 Target Node.js v16, v18, v19, v20
- Drop v14 (about two months early), drop v17 (about eight months late), add v19 (about four months late), add v20 (about two months early).
- 61d8071 Add example output from Elgato Facecam (4057:0120) (#28 by @m0ose)
- 3a79c54 Add example output from Logitech C922 Pro Stream Webcam (1133:2140)
- 9342420 Add example output from Microsoft LifeCam Studio Model 1425 (1118:2065) (#17 by @holbrookdev)
- aebbe71 Update example output from Logitech C920 (1133:2093)
- 235fe37 Take vendor/product ids into account for examples
- Relates to #21, where the differences between hardware variations within the same camera "marketing name" are discussed.
- 999c7d5 Upgrade forked uvc-control v2
- Targets
node-usb
^v2.4.1 via the forkednode-uvc-control
v2 at267b0db
. - Still uses the legacy USB device interface.
- Targets
- e5e9748 Target Node.js v14, v16, v17, v18
- These are the available current/active/maintenance releases as of 2022-05-12.
- Fixes #25.
- 7cc2775 Upgrade forked uvc-control v2
- Pins
node-usb
to v1.9.2 via the forkednode-uvc-control
v2. - Includes an upstream fix in
node-usb
for theuvcc
program exit delay. - Should fix #20 and #22.
- Pins
- 3c171b1 Upgrade package-lock.json
- Includes pinning
node-usb
to v1.8.0 via the forkednode-uvc-control
v2.- Should fix #19 package errors after node/npm upgrade.
- Includes pinning
- a2bab40 Target Node.js v12, v14, v16, v17
- Fixes #18.
- ebea941 Upgrade package-lock.json
- Includes an upgrade to
node-usb
v1.8.0 via the forkednode-uvc-control
v2, which breaks #16 (delay at program exit) again. - The alternative is that
uvcc
doesn't work at all on the current Node.js v17. - See also node-usb/node-usb#418.
- Includes an upgrade to
- Other dependencies also upgraded.
- ccf5e05 Fix
--version
flag
- 77757f0 Switch to ESM
- Modernizes code to use Node.js ECMAScript modules.
- Targets current stable Node.js versions (basically v12, v14, v16) which have ESM support.
- 08eb9fe Run npm update
- Includes fix in joelpurra/node-uvc-control@8c5f5f4 for #16, pin
node-usb
to v1.6.5 due to long delay due when using v1.7.0.
- Includes fix in joelpurra/node-uvc-control@8c5f5f4 for #16, pin
- b0ad267 Add npm run debug
- e8d7dec Target node.js v12+
- efde45e Update example output from Logitech C920
- bed8ac3 Upgrade forked uvc-control v2
- Swallows errors when discovering/listing USB/UVC devices.
- Avoids some problems with
LIBUSB_ERROR_IO
when usinguvcc devices
. The issue seems to be dependent on the internal (software) state (perhaps the traversal order) of USB drivers/devices (and perhaps on which other USB devices are used) connected to the system. Usingsudo
does not preventLIBUSB_ERROR_IO
. - The change means that
uvcc devices
can be used withoutsudo
(by swallowingLIBUSB_ERROR_ACCESS
thrown when opening some USB devices) even when the user has insufficient privileges, although inaccessible UVC devices will not be listed.
- Avoids some problems with
- Swallows errors when discovering/listing USB/UVC devices.
- e5d9f49 Warn for camera mismatch
- Fixes part of #10 by warning for unexpected camera results.
- 526b9f4 Upgrade forked uvc-control v2
- Fixes part of #10 by allowing filtering by only product id, or only by device address.
- 7a9dd89 Add some styling to command help
- 4691cbf Update usage examples
- Fixes #14 by improving examples.
- 9f3073e Upgrade forked uvc-control v2
- Fixes #8, setting
absolute_focus
.
- Fixes #8, setting
- d34da77 Upgrade forked uvc-control v2
- Fixes #6, setting
absolute_exposure_time
.
- Fixes #6, setting
- 8c24f19 Add compatible cameras and help wanted notes
- ff28515 Fix broken anchor tag in README.md
- Camera controls changed name in the upstream
uvc-control
v2, so old exports won't import without edits.- Most changes are from camel-case
someCameraControl
to snake-casesome_camera_control
, for exampleautoExposureMode
toauto_exposure_mode
. - Other controls changed name a bit more, such as
autoWhiteBalance
toauto_white_balance_temperature
. - See
uvcc controls
for your camera.
- Most changes are from camel-case
- Uses forked
uvc-control
v2, as breaking bug fixes were not reviewed (not commented, accepted, nor rejected) in time for this release (uvc-control#64).- If the equivalent changes are made,
uvcc
can go back to using the upstream. - Below feature changes are a mix of changes in
uvc-control
anduvcc
.
- If the equivalent changes are made,
- Should support additional cameras and camera controls by
uvc-control
dynamically mapping camera controls.- Both
uvc-control
anduvcc
were developed testing (only?) against Logitech C920 cameras. - Several users tested previews/manual patches using other cameras (#4).
- Further changes have only been confirmed using Logitech C920.
- Both
- If a UVC camera is available, it will be autodetected by
uvc-control
usingnode-usb
.- Most users will not need to run
uvcc devices
to find and configure their camera. - Uses the "first" camera, which may depend on the system, drivers, and in which port the cameras are plugged in.
- If necessary, the vendor/product can still be configured as before.
- Most users will not need to run
- If multiple cameras with the same vendor/product are available, it is possible to distinguish between them using
--address
.- Can also be configured using environment variables or configuration files.
- See output from
uvcc devices
.
- Should work on Linux, by changing how
uvc-control
targets the USB device (uvc-control#58).- Might need to use
sudo uvcc devices
to access and filter the full list of USB devices. - Might need to set up userspace
/dev
(udev
) rules or equivalent to further get/set camera control values.
- Might need to use
- d6b4700 Add example output from Logitech C920
- 80848a6 Make device address configurable
- 97a34d0 Make vendor/product ids optional
- 7b334fa Fix devices command
- b6c191f Target uvc-control v2
- 51e824c Add
find-up
- a4eb66f Use file-relative path to file in the
uvc-control
package
- 047980e Initial public release
- Thanks you Pawel Szymczykowski for uvc-control for node.js. Without his code I would never have gotten close to automating — or perhaps even being able to — changing camera controls on macOS.
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!