What is V4L or DVB?: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(expand discussion)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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).
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.
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''' 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.
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.
Despite the fact that these two subsystems are very unique from one another, real world application often finds them closely intertwined in scope or context. As such, it is practical that the two are housed together, as it fosters a more efficient dissemination of content and, in general, makes for a more user friendly source of information. At the same time, this by no means undermines the fact that we are indeed dealing with two unique subsystems!


==Housed and Distributed Together==
Unfortunately, the distinction between the two is not always realized or made in contemporary dialogue, leading to misappropriate usage of the terms "V4L" or "DVB".
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 [[How to Obtain, Build and Install V4L-DVB Device Drivers|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==
==Also See==
* The [[Development: Linux DVB API history and future|Linux DVB API]]
* The [[Development: Linux Media Infrastructure API|Linux Media Infrastructure API]]
* the [[Hardware Device Information|lists of supported V4L and DVB devices]], as reported by the wiki
** [[Digital_Video_Broadcasting|Digital TV Standards]] for the varying scope which the Linux DVB API covers
* The [[Development: Video4Linux APIs|V4L2 API]]

Latest revision as of 14:28, 19 December 2015

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