What is V4L or DVB?
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.
V4L
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.
DVB
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 set-top box. Like the V4L case, DVB isn't entirely devoted to video, it also covers 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
- The Linux Media Infrastructure API
- the lists of supported V4L and DVB devices, as reported by the wiki