UV4L is a modular collection of Video4Linux2-compliant, cross-platform, user space drivers for real or virtual video input and output devices (with absolutely no external difference from kernel drivers), and other pluggable back-ends or front-ends. It has evolved during the time and now includes a full-featured Streaming Server component providing a set of modern and unique solutions for live audio&video streaming, mirroring and conferencing over the web.

UV4L includes the following modules:

  1. UV4L core module
  2. Streaming Server with Web front-end over HTTP/HTTPS and on-the-fly Device Control Page
  3. Native WebRTC extension for the Streaming Server (with two-way Audio&Video!)
  4. Jitsi Meet extension to broadcast live Audio&Video over the Web (no browser required!)
  5. UVC driver supporting video devices compliant with the Usb Video Class specifications
  6. XScreen driver, a virtual device capturing a given portion of an X screen
  7. MJPEGStream driver, create a virtual device from a given Motion JPEG stream, i.e. IP Camera
  8. Raspicam driver for the Dual Raspberry Pi CSI Camera Module (with Stereoscopic Vision!)
  9. Dummy driver creating a fake device (useful for testing V4L2 applications and for other purposes)