# v4l2loopback/v4l2loopback

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/v4l2loopback-v4l2loopback).**

4,112 stars · 584 forks · C · gpl-2.0

## Links

- GitHub: https://github.com/v4l2loopback/v4l2loopback
- awesome-repositories: https://awesome-repositories.com/repository/v4l2loopback-v4l2loopback.md

## Description

v4l2loopback is a Linux kernel video driver that creates virtual video devices to route video streams between applications. It functions as a software-defined video source, simulating physical hardware to provide a standard video input for applications that require a capture device.

The project enables video stream routing by piping data from one process to another using the Video4Linux2 standard. It includes mechanisms for device capability masking and conditional reporting to bypass strict hardware detection requirements in external software.

The driver provides tools for virtual camera simulation and live stream input mocking. It supports dynamic device control and property configuration for video formats and frame rates, while maintaining stream stability through timeout handling and null frame injection.

## Tags

### Operating Systems & Systems Programming

- [Virtual Video Device Simulation](https://awesome-repositories.com/f/operating-systems-systems-programming/virtual-video-device-simulation.md) — Creates virtual camera nodes that capture input from one application and present it as a hardware source for others. ([source](https://cdn.jsdelivr.net/gh/v4l2loopback/v4l2loopback@main/README.md))
- [Kernel Driver Implementation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/kernel-development/kernel-driver-implementation.md) — Implemented as a Linux kernel module to provide high-performance interfacing with the Video4Linux2 subsystem.
- [Video Driver Implementations](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/kernel-development/kernel-driver-implementation/video-driver-implementations.md) — Provides a low-level system driver for managing video capture and output capabilities within the Linux kernel.
- [V4L2 Subsystem Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/v4l2-subsystem-integrations.md) — Hooks into the standard Linux video framework to expose virtual devices as standard character devices.
- [Device Capability Masking](https://awesome-repositories.com/f/operating-systems-systems-programming/device-capability-masking.md) — Toggles the reporting of capture and output capabilities to bypass strict device detection requirements in external software. ([source](https://cdn.jsdelivr.net/gh/v4l2loopback/v4l2loopback@main/README.md))
- [Virtual Device Lifecycles](https://awesome-repositories.com/f/operating-systems-systems-programming/device-state-simulation/virtual-device-lifecycles.md) — Tracks device configuration and existence through kernel parameters and sysfs to allow real-time device creation.
- [Hardware Capability Masking](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-capability-masking.md) — Implements capability filtering to deceive software that requires specific hardware features for operation.
- [Device Property Writers](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators/device-property-querying/device-property-writers.md) — Allows modification of video formats, frame rates, and custom labels for emulated hardware. ([source](https://cdn.jsdelivr.net/gh/v4l2loopback/v4l2loopback@main/README.md))
- [Virtual Device Hotplugging](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtual-device-drivers/virtual-device-hotplugging.md) — Enables the live addition or removal of virtual video devices without requiring a process restart. ([source](https://cdn.jsdelivr.net/gh/v4l2loopback/v4l2loopback@main/README.md))

### Graphics & Multimedia

- [Virtual Camera Drivers](https://awesome-repositories.com/f/graphics-multimedia/camera-systems/virtual-camera-drivers.md) — Creates software-defined video devices that act as hardware cameras to feed streams into other applications.
- [Network Video Routing Tools](https://awesome-repositories.com/f/graphics-multimedia/network-video-routing-tools.md) — Directs video output from one program into another by using a virtual device as an intermediary bridge.
- [Live Streaming Simulations](https://awesome-repositories.com/f/graphics-multimedia/live-streaming-simulations.md) — Provides a controlled mock video source for testing applications that require physical camera input.

### System Administration & Monitoring

- [V4L2 Device Management](https://awesome-repositories.com/f/system-administration-monitoring/remote-device-management/v4l2-device-management.md) — Manages virtual video4linux devices to simulate camera hardware and configure capture capabilities.
- [Virtual Device Drivers](https://awesome-repositories.com/f/system-administration-monitoring/virtual-device-drivers.md) — Acts as a software interface that emulates physical camera hardware for system-wide integration.
- [Video Loopback Drivers](https://awesome-repositories.com/f/system-administration-monitoring/virtual-device-drivers/video-loopback-drivers.md) — Provides a mechanism for piping video data from one process to another using the Video4Linux2 standard.

### Software Engineering & Architecture

- [Frame Memory Buffers](https://awesome-repositories.com/f/software-engineering-architecture/memory-buffering/frame-memory-buffers.md) — Uses a circular memory buffer to store video frames for asynchronous retrieval by consuming applications.
