|License||GNU General Public License|
Video4Linux (V4L for short) is a collection of device drivers and an API for supporting realtime video capture on Linux systems. It supports many USB webcams, TV tuners, and related devices, standardizing their output, so programmers can easily add video support to their applications. MythTV, tvtime and Tvheadend are typical applications that use the V4L framework.
While Video4Linux is only available on Linux, there is a compatibility layer available for FreeBSD called Video4BSD. This provides a way for many programs that depend on V4L to also compile and run on the FreeBSD operating system.
V4L had been introduced late into the 2.1.X development cycle of the Linux kernel. V4L1 support was dropped in kernel 2.6.38.
V4L2 is the second version of V4L. Video4Linux2 fixed some design bugs and started appearing in the 2.5.x kernels. Video4Linux2 drivers include a compatibility mode for Video4Linux1 applications, though the support can be incomplete and it is recommended to use Video4Linux1 devices in V4L2 mode. The project DVB-Wiki is now hosted on LinuxTV web site.
Some programs support V4L2 through the media resource locator
Notable software supporting Video4Linux
- Motion (surveillance software)
- Open Broadcaster Software
- VLC media player
- Direct Rendering Manager – defines a kernel-to-user-space interface for access to graphics rendering and video acceleration
- Mesa 3D – implements video acceleration APIs
- "An Introduction to the Video4Linux Framework: How to write a video capture driver". 2014-02-02. Retrieved 2014-02-16.
- "Archived copy". Archived from the original on 2014-02-21. Retrieved 2013-12-04.CS1 maint: archived copy as title (link) Overview of the V4L2 driver framework.
- https://events.linuxfoundation.org/images/stories/pdf/lceu2012_debski.pdf Video4Linux2 – Path to a Standardized Video Codec API.
- Video for Linux Two API Specification
- media_tree development git
- v4l-utils development git
- Linux Media Infrastructure API (V4L2, DVB and Remote Controllers)
- Video4Linux-DVB wiki
- Video4Linux resources
- Video4BSD, a Video4Linux emulation layer
- Video For Linux (V4L) sample applications
- Video For Linux 2 (V4L2) sample application
- Access Video4Linux devices from Java
- OpenWrt Wiki
- Linux UVC driver and tools, USB video device class (UVC)