camControl – Origins
In a fit of engineering propelled discovery I set out to learn how v4l2 / ioctl of USB cameras worked. This was driven by the wide variety of video streaming apps and discovering that there was lots of information about ffmpeg, gstreamer, opencv, but less about low level direct access to the cameras. The process ended up, as usually, going much deeper into the USB camera world than I expected but here (two months later) we are.
I have ended up with a number of projects :
- v4l2Camera – open source based v4l2 / ioctl based C++ class to provide direct access to any USB camera
- camControl – this project, free Linux app for generic USB camera control, using the v4l2Camera package (Windows and Linux versions are in progress)
Features of camControl
- works with most (all, obviously I haven’t tested them all) generic USB cameras
- works in parallel with streaming apps, no interference with the streaming video currently in operation.
- supports snap shot (at any supported resolution) and save image to jpg, bmp and png, assuming no other app is using the camera
- supports video streaming (at any supported resolution) and video capture to avi, assuming no other app is using the camera
Install Packages
- I have created install version and instructions for ARM64 and AMD64 based systems.
- Has been tested in the Raspberry Pi (Pi5, latest Raspbian) environments arm64 based install) and Ubuntu LInux (amd64 version)
- Install files accessible via the V4l2Camera project
- If you want install packages for other platforms, please ask and I will try to accommodate.
Leave a Reply