Get the source code from the
# Make sure git-flow is initialized. git flow init -d # Fetch dependencies. npm install # Get a fresh local build. npm run --silent rebuild # Make sure tests pass. npm run --silent test # Try some commands on your local build. node ./dist/index.js node ./dist/index.js controls node ./dist/index.js ranges node ./dist/index.js export node ./dist/index.js get absolute_zoom node ./dist/index.js set absolute_zoom 120 # Start debugging. # Use the Node.js inspector built-in to Chromium-based browsers. npm run --silent debug:run:break # Use -- to separate the npm command from uvcc arguments. npm run --silent debug:run:break -- export
- Check open issues and pull requests and see what can be done.
- Add tests.
- Add output examples from additional camera models.
- Perhaps create and record a demo video/gif for that model.
- Add workarounds for cameras with known issues.
- Some cameras are known to have issues in other implementations.
- Avoid camera- or system-specific workarounds, try to be generic in their detection and prevention.
- See Linux UVC device drivers’s supported devices list for examples.
- Compare UVC controls/values with the output from
- See for example the article Manual USB camera settings in Linux.
- The lower-level UVC Node.js library uvc-control used by
- The even lower level library
libusb(Wikipedia) through the npm package
v4l-utilsfor video4linux (Wikipedia), which includes