usbStream - plugin for usb Cameras
-
General Description
This is a simple video streamer for use with usb cameras. It streams video in jpg format from a url.It is particularly useful when you want the same camera to be consumed by more than one application. For example a timelapse application (e.g. DuetLapse3) and to also monitor in real time.
usbStream is available as a DWC plugin and as a standalone application.
Capabilities
The main capabilities include:- Automatically scans for available cameras and determines the resolutions it / they support.
- Supports USB cameras (most should work).
- Is light in its use of system resources
- Allows camera selection if more than one camera is available.
- Allows video size selections.
- Allows video rotation.
- Allows video format selection
- Allows exposure selection
Version 1.0.0
Initial version - tested on Raspberry Pi 3B+ with Debian BookwormVersion 1.0.1
Made the use of exposure control more flexibleDocumentation and Code can be found here:
-
V1.0.1
Exposure control is notoriously hit-and-miss. I changed the handling of exposure control to log the values at startup so that the user has a known point from which to research.
Essentially there are two options (used together). The first switches the camera to manual control and the second sets the exposure. All this, provided the camera supports exposure control. Just what the required values are is undefined.Some cameras switch to manual when sent the value 0.25. Some require the value 1 to be sent, others ??
Exposure values are sometimes required to be between 0.0 and 1.0, sometimes negative numbers, sometime some other value (ms equivalent ?). It mainly depends on how the manufacturer set up the camera, the drivers used and even the OS.
In any case - if you need to adjust the exposure, there is going to be some trial and error.
For example, on one of my cameras, manual mode is set with 1 and usable exposure ranges are roughly in the range 75 to 200.
Good luck
The internet if full of opinions ...