v4l2Camera – Open Source USB/UVC camera interface C++ class

Release Date : v1.5.10 – 09/2025 (original release 05/2024)

Platforms : Linux (source code provided, open source)

Description : V4l2Camera is an attempt to abstract the video4linux2 api into something more easily usable in a generic C++ application

Low level camera control using (or emulating) the video4linux2 interfaceWe are pleased to announce a new release (1.4.80) containing a good deal of new features!

Features :

  • full support for frame rate selection for each supported video mode
  • multi-buffer support for low level data fetches improves latency and maximized frame rate
  • improved display and log message display
  • image output format options (save as JPG, PNG or BMP) across all image formats supported by UVC cameras (MJPEG, YUV, YUV, Grayscale)
  • video capture to AVI/JPG with no encoding overhead
  • camera bench marking function (-T) to verify maximum frame rate supported by UVC cameras
  • full camera control support (exposure, brightness etc)
  • better, folder based makefile

We have added a few MP4 utilities to increase access to H264 frame formats supported by newer cameras :

  • added header support (-H) to append a size and content header to each H264 frame to facilitate encoding into other video formats
  • wrapMP4 utility added to take H264 frame and create a minimal, compatible MP4 wrapper for the H264 frames. Displays correctly in VLC.
  • walkMP4, a dictionary based utility to display MP4 headers to verify MP4/MOV/QT file format compliance