HOME

TheInfoList



OR:

Video4Linux (V4L for short) is a collection of
device driver In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and o ...
s and an API for supporting realtime
video capture Video capture is the process of converting an analog video signal—such as that produced by a video camera, DVD player, or television tuner—to digital video and sending it to local storage or to external circuitry. The resulting digital data ar ...
on
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
systems. It supports many USB
webcam A webcam is a video camera which is designed to record or stream to a computer or computer network. They are primarily used in videotelephony, livestreaming and social media, and security. Webcams can be built-in computer hardware or peripher ...
s, TV tuners, and related devices, standardizing their output, so programmers can easily add video support to their applications. Video4Linux is responsible for creating V4L2 device nodes aka a device file (/dev/videoX, /dev/vbiX and /dev/radioX) and tracking data from these nodes. The device node creation is handled by V4L device drivers using the video_device struct (v4l2-dev.h) and it can either be allocated dynamically or embedded in another larger struct. Video4Linux was named after
Video for Windows Video for Windows was a suite of video playing and editing software introduced by Microsoft in 1992. A runtime version for viewing videos only was made available as a free add-on to Windows 3.1, which then became an integral component of Windows ...
(which is sometimes abbreviated "V4W"), but is not technically related to it. While Video4Linux is only available on Linux, there is a compatibility layer available for
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
called Video4BSD. This provides a way for many programs that depend on V4L to also compile and run on the FreeBSD operating system.


History

V4L had been introduced late into the 2.1.X development cycle of the Linux kernel. V4L1 support was dropped in kernel 2.6.38. V4L2 is the second version of V4L. Video4Linux2 fixed some design bugs and started appearing in the 2.5.x kernels. Video4Linux2 drivers include a compatibility mode for Video4Linux1 applications, though the support can be incomplete and it is recommended to use Video4Linux1 devices in V4L2 mode. The project DVB-Wiki is now hosted on
LinuxTV The LinuxTV project is an informal group of volunteers who develop software regarding digital television for the Linux kernel-based operating systems. The community develops and maintains the Digital Video Broadcasting (DVB) driver subsystem which i ...
web site. Some programs support V4L2 through the
media resource locator A media resource locator (MRL) is a URI used to uniquely identify and locate a multimedia resource. It is used by the VideoLAN and Xine media players, as well as the Java Media Framework (JMF) API An application programming interface (API) i ...
v4l2://.


Notable software supporting Video4Linux

*
aMSN aMSN is a free Windows Live Messenger clone. aMSN attempts to emulate the look and feel of Windows Live Messenger, and supports many of its features. It has been downloaded approximately 40 million times as of January 2011, making it the 21st mo ...
*
Cheese (software) Cheese is a GNOME webcam application, i.e. an application to handle UVC streams over Video4Linux. It was developed as a Google Summer of Code 2007 project by Daniel G. Siegel. It uses GStreamer to apply effects to photos and videos. It can expor ...
* Cinelerra *
CloudApp CloudApp is a cross-platform screen capture and screen recording desktop client that supports online storage and sharing. CloudApp full and partial screen recordings export to .mp4 format. Full or partial screen image captures export to either J ...
* Ekiga *
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
*
FreeJ ''Freej'' ( ar, فريج; trademarked as ''FREEJ'') is an Emirati CGI television series for children. The English tagline for the show is ''The Fun Old Girls''. The show was produced by Mohammed Saeed Harib, who also directed the fifteen standa ...
*
GStreamer GStreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. For instance, GStreamer can be used to build a system that reads files in one format, processes the ...
*
Guvcview Guvcview (GTK+ UVC Viewer) is a webcam application, i.e. software to handle UVC streams, for the Linux desktop, started by Paulo Assis in 2008. The application is written in C and is free and open-source software released under GPL-2.0-or-later ...
*
kdetv kdetv is a television capturing program in the KDE application suite (though one of the "Extragear" programs, released separately) that allows Linux and UNIX users to view television programs on their computer, if they have a working TV tuner ca ...
*
Kopete Kopete is a multi-protocol, free software instant messaging client released as part of the KDE Software Compilation. Although it can run in numerous environments, it was designed for and integrates with the KDE Plasma Workspaces. Kopete was star ...
* Libav *
Linphone __NOTOC__ Linphone (contraction of ''Linux phone'') is a free voice over IP softphone, SIP client and service. It may be used for audio and video direct calls and calls through any VoIP softswitch or IP-PBX. Linphone also provides the possibilit ...
*
LiVES Lives may refer to: * The plural form of a '' life'' * Lives, Iran, a village in Khuzestan Province, Iran * The number of lives in a video game * '' Parallel Lives'', aka ''Lives of the Noble Greeks and Romans'', a series of biographies of famous ...
*
Motion (surveillance software) Motion is a free software CCTV software application developed for Linux. It uses Video4Linux and its output can be JPEG, Netpbm files, or MPEG video sequences. It is strictly command line driven and can run as a daemon with a rather small footpr ...
*
MPlayer MPlayer is a free and open-source media player software application. It is available for Linux, OS X and Microsoft Windows. Versions for OS/2, Syllable, AmigaOS, MorphOS and AROS Research Operating System are also available. A port for DOS using ...
* mpv *
MythTV MythTV is a free and open-source home entertainment application with a simplified "10-foot user interface" design for the living room TV. It turns a computer with the necessary hardware into a network streaming digital video recorder, a digital ...
*
Open Broadcaster Software OBS Studio (also Open Broadcaster Software or OBS, for short) is a free, open-source, and cross-platform screencasting and streaming app. It is available for Windows, macOS, Linux distributions, and BSD. The OBS Project raises funds on the ...
https://obsproject.com *
OpenCV OpenCV (''Open Source Computer Vision Library'') is a library of programming functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage then Itseez (which was later acquired by In ...
*
Peek Polyether ether ketone (PEEK) is a colourless organic thermoplastic polymer in the polyaryletherketone (PAEK) family, used in engineering applications. The polymer was first developed in November 1978, later being introduced to the market by ...
*
PyGame Pygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language. History Pygame was originally written by Pete Shinners ...
*
Skype Skype () is a proprietary telecommunications application operated by Skype Technologies, a division of Microsoft, best known for VoIP-based videotelephony, videoconferencing and voice calls. It also has instant messaging, file transfer, debi ...
*
Tvheadend TVHeadend, sometimes TVH for short, is a server application that reads video streams from LinuxTV sources and publishes them as internet streams. It supports multiple inputs, a DVB-T USB tuner stick and a Sat>IP tuner for instance, combining them ...
* veejay *
VLC media player VLC media player (previously the VideoLAN Client and commonly known as simply VLC) is a free and open-source, portable, cross-platform media player software and streaming media server developed by the VideoLAN project. VLC is available for desk ...
* xawtv *
Xine xine is a multimedia playback engine for Unix-like operating systems released under the GNU General Public License. xine is built around a shared library (xine-lib) that supports different frontend player applications. xine uses libraries ...
*
ZoneMinder ZoneMinder is a free, open-source software application for monitoring via closed-circuit television - developed to run under Linux and FreeBSD and released under the terms of the GNU General Public License (GPL). Users control ZoneMinder via a we ...


See also

*
Direct Rendering Manager The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations ...
– defines a kernel-to-user-space interface for access to graphics rendering and video acceleration *
Mesa 3D Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers. Its most ...
– implements video acceleration APIs


References


External links


media_tree
development git
v4l-utils
development git
Linux Media Infrastructure API (V4L2, DVB and Remote Controllers)Video4Linux-DVB wiki

Video4Linux resources

Video4BSD
a Video4Linux emulation layer
Video For Linux (V4L) sample applications

Video For Linux 2 (V4L2) sample application

Access Video4Linux devices from Java

kernel.org

OpenWrt Wiki

Linux UVC driver and tools
USB video device class The USB video device class (also USB video class or UVC) is a USB device class that describes devices capable of streaming video like webcams, digital camcorders, transcoders, analog video converters and still-image cameras. The latest revisio ...
(UVC) {{Linux kernel Digital television Free video software Interfaces of the Linux kernel Linux drivers Linux kernel features Television technology