What is V4L or DVB?

From LinuxTVWiki
Revision as of 02:02, 25 October 2010 by CityK (talk | contribs) (minor update to introductory remark (aka more or less just copy the info from the LMI API article))
Jump to navigation Jump to search

LinuxTV.org hosts both the Video For Linux (often written as "Video4Linux", or abbreviated as "V4L", or sometimes "v4l") and Linux DVB subsystems, which are governed by their respective application programming interface (API). More recently, these two historically separate APIs, in addition to the IR input event mapping API, have been converged under the Linux Media Infrastructure API, providing a common body of knowledge for kernel to userspace application programming interfaces used by media drivers.


The V4L API is essentially a kernel interface for analog video capture and output drivers, and is applicable to most video streams that are not related to DVB devices (see explanation below) or graphics cards -- though, the V4L API also entails a few oddities such as analog radio and RDS services. Examples of devices which fall within the scope of V4L are, amongst others, webcams, MPEG encoders/decoders, digital video streamers, analog TV tuners and video capture devices.


The term Digital Video Broadcasting (DVB) is originally a synonym for Digital TV (often written short as DTV), and refers to telecommunication systems that send TV signals by way of digital transmission schemes, in contrast to the older, traditional, methods of signal transmission employed by Analog TV systems. Consequently, the Linux DVB API is essentially a kernel interface for Digital Video Broadcasting (DVB) device drivers. Not surprising then, DVB devices are largely comprised by TV receiver systems, in form of either an add in computer device or STB, for the varying Digital TV standards utilized around the world -- though, the DVB API also entails coverage for some other purposes such as satellite based internet service.

Housed and Distributed Together

Despite the fact that these two subsystems are very unique from one another, there is a degree of overlap and real world application often finds them closely intertwined in scope or context. Though it wasn't originally the case, now days, there are indeed many hybrid devices which are serviced by both types of device drivers. As such, it is practical that the two subsystems are housed and distributed together (i.e. when you download and install the V4L-DVB source code from LinuxTV, you are installing the device drivers associated with both of these two subsystems!), as this fosters a more efficient dissemination of content and, in general, makes for a more user friendly experience and source of information. At the same time, this by no means undermines the fact that we are indeed dealing with two unique subsystems!

Common Misconceptions

Unfortunately, the distinctions between the two subsystems outlined above are not always realized, or made, in contemporary dialogue -- and that shortcoming often leads to the misappropriate usage of the terms "V4L" or "DVB". For example, an end user might be discussing a device that is entirely/purely for DVB yet makes a remark "I'm using the V4L drivers".

Also See