Linux Media Kernel API Documentation

The Linux Media Subsystem Documentation is grouped on 3 document sets:

  1. The Linux Media Infrastructure userpace API. This book is split into 5 divisions:

  2. The Media subsystem kernel internal API.

    Inside it, you may also see driver-specific documentation.

  3. The Media subsystem admin and usage guides.

Please notice that audio input/output on media devices use the ALSA API.

If you prefer, the entire media documentation is also available in PDF file format and ePUB file format.


Now, all documentation for the media subsystem should be written in Restructured Text markup kanguage (ReST) using the dialect used by Sphinx version 1.3.


1) Since July, 2016, all media documentation was converted to Sphinx.

2) Since Sept, 15 2009, V4L and DVB API's got integrated into a compendium that presents both API's, plus the IR input event mapping.

Linux DVB libdvbv5 Documentation

The libdvbv5 API documentation, available since Sept, 2014, documents the libdvbv5 userspace library. It is also available in pdf format.

Other documents


For developers, wrote a series of articles focusing at the development of a Linux V4L2 driver.

Obsolete versions of media documentation

Attention: This is kept only for historic reasons. Don't use it for development.

Deprecated documentation

In the past, the documentation was written in DocBook, but this is deprecated on Kernel 4.8.

The OLD Linux Media Infrastructure API documentation written in DocBook is here.

Legacy DVB and Video4Linux documents

The pre-merge V4L and DVB API specs are still available as separate documents. However, they are outdated and are kept here just as historic reference.

You can find the original PDF version of the Linux DVB API version 3 is available here.

A browsable online version of Video4Linux2 API updated up to pre-kernel 2.6.32 is at here.

There's a V4L Drivers guide at here.

Media Kernel developers Documentation

The Linux Kernel Device driver DocBook used to have a chapter with the Media devices kABI.

Legacy Video4Linux API version 1

Video4Linux API version 1 is obsolete and not supported by the Kernel anymore. Driver and application developers should migrate their work to V4L2 API.

Compatibility with V4L1 applications, including binary-only applications are provided via v4l-utils libv4l.

Privacy Policy