Video4Linux
Video4Linux (V4L) is a Linux collection of device drivers and an API for real-time video capture. It supports USB webcams, TV tuners, CSI cameras, and related devices, standardizing their output so programs can easily add video support.
V4L creates V4L2 device nodes like /dev/videoX, /dev/vbiX, and /dev/radioX and tracks data from them. Nodes are created by V4L drivers using the video_device structure (v4l2-dev.h) and can be allocated dynamically or embedded in another structure.
V4L is named after Video for Windows but is not related. It runs only on Linux, but FreeBSD has a compatibility layer called Video4BSD to run many V4L programs there.
V4L1 appeared in early 2.1.x kernels, was renamed, and was removed in kernel 2.6.38. V4L2 is the newer version, fixing design issues and appearing in 2.5.x. V4L2 drivers include a compatibility mode for V4L1 apps, but support can be incomplete; using V4L2 devices in V4L2 mode is recommended.
The DVB-Wiki project moved to the LinuxTV site. Some programs access V4L2 through the v4l2:// URL. V4L can have a complex negotiation process, so not every application supports all cameras.
This page was last edited on 3 February 2026, at 19:15 (CET).