VLC is a portable multimedia player, encoder, and streamer supporting many audio and video codecs and file formats as well as DVDs, VCDs, and various streamingprotocols. It is able to stream over networks and to transcode multimedia files and save them into various formats. VLC used to stand for VideoLAN Client, but that meaning is now deprecated.23
VLC includes a large number of free decoding and encoding libraries; on the Windows platform, this greatly reduces the need for finding/calibrating proprietary plugins. Many of VLC's codecs are provided by the libavcodec library from the FFmpeg project, but it uses mainly its own muxer and demuxers. It also gained distinction as the first player to support playback of encrypted DVDs on Linux by using the libdvdcss DVD decryption library.
Originally the VideoLAN project was intended to consist of a client and server to stream videos across a network. Originally developed by students at the École Centrale Paris, it is now developed by contributors worldwide. VLC was the client for the VideoLAN project, with VLC standing for VideoLAN Client. It was released under the GPL on February 1, 2001. The functionality of the server program, VideoLAN Server (VLS), has mostly been subsumed into VLC and has been discontinuedcitation needed. The project name was changed to VLC media player since there is no longer a client/server infrastructure.
The cone icon used in VLC is a reference to the traffic cones collected by Ecole Centrale's Networking Students' Association.5 The cone icon design was changed from a hand drawn low resolution icon6 to a higher resolution CGI rendered version in 2006.7
VLC's right-click Menu in Ubuntu Gutsy (detailed information on this image's page)
VLC has a very modular design which makes it easier to include modules for new file formats, codecs or streaming methods. This principle also stretches to other areas and there is a wide selection of interfaces, video and audio outputs, controls, and audio and video filter modules. There are more than 360 modules in VLC.8
Interfaces
The standard GUI is based on Qt 4 for Windows and Linux, Cocoa for Mac OS X, and Be API on BeOS; but all give a similar standard interface. The old standard GUI was based on wx on Windows and Linux.9
VLC supports highly customizable skins through the skins2 interface, also supporting Winamp 2 and XMMS skins. The customizable skins feature can malfunction depending on which version is being used.
For console users, VLC has an ncurses interface. As VLC can act as a streaming server, rather than a media player, it can be useful to control it from a remote location and there are interfaces allowing this. The Remote Control Interface is a text-based interface for doing this. There are also interfaces using telnet and HTTP (AJAX).
Control
In addition to these interfaces, it is possible to control VLC in different ways:
This article is in a list format that may be better presented using prose. You can help by converting this section to prose, if appropriate. Editing help is available. (October 2008)
VLC is popular for its ability to play the video content of incomplete, unfinished, or damaged video downloads before the files have been fully downloaded. (For example, files still downloading via BitTorrent, eMule, or Gnutella). It also plays m2t MPEG Transport Streams (.TS) files while they are still being digitized from an HDV camera via a FireWire cable, making it possible to monitor the video as it is being played. This is because it is a packet-based player.
The player also has the ability to use libcdio to access .iso files so that the user can play files on a disk image, even if the user's operating system does not have the capability of working directly with .iso images.
VLC supports all codecs and all file formats supported by FFmpeg. This means that DVD Video and MPEG-4 playback as well as support for Ogg and Matroska (MKV) file formats work "out of the box". However, this feature is not unique to VLC, as any player using the FFmpeg libraries, including MPlayer and xine-lib-based players, can play those formats without need for external codecs. VLC also supports codecs that are not included in FFmpeg.
VLC is one of the freeware and open source DVD players that ignores DVD region coding, making it a region free player, even on locked RPC-2 firmware.
VLC running on Windows XP during Christmas. The top-left icon shows the traffic-cone with a Santa hat over it.
VLC media player has some filters that can distort, rotate, split, deinterlace, mirror videos, create display walls, or add a logo overlay. It can also produce video output as ASCII art.
VLC media player can play high definition recordings of D-VHS tapes duplicated to a computer using CapDVHS.exe. This offers another way to archive all D-VHS tapes with the DRM copy freely tag. An entire library of tapes (or about 50 D-VHS 2 hours long) can be placed on a single terabyte sized hard drive. However, they must be imported by playing the tapes in real time, and can't simply be copied as data files.
Using a FireWire connection from cable boxes to computers, VLC can stream live, unencrypted content to a monitor or HDTV.
VLC media player can do screencasts and record the desktop.
On Microsoft Windows, VLC also supports the Direct Media Object (DMO) framework and can therefore make use of some third-party DLLs.
VLC can be installed and run directly from a flash or other external drive.
VLC has an easter egg; during Christmas, the VLC logo (in the top-left corner of a running instance) of a traffic-cone changes to one with a Santa hat.
On Windows, Linux, and some other platforms, VLC provides a NPAPI plugin,12 which lets people view some QuickTime and Windows Media files embedded in websites without using Microsoft or Apple Inc. products. It supports Firefox, Mozilla Application Suite, Safari and Opera as well. This plugin was initially used by Google to build the Google Video web browser plugin,13 which currently uses Adobe Flash.
Starting with version 0.8.2, VLC also provides an ActiveX plugin, which lets people view some QuickTime (MOV) and Windows Media files embedded in websites when using Internet Explorer.
Applications which use the VLC plugin
VLC can handle incomplete files and can be used to preview files being downloaded. Several programs make use of this, including eMule and KCeasy.
VLC can read several formats, depending on the operating system VLC is running on.14
Input
UDP/RTPunicast or multicast, HTTP, FTP, MMS, RTSP, RTMP, DVDs, VCD, SVCD, CD Audio, DVB (only on Linux and on Windows in development versions), Video acquisition (via V4l and DirectShow), RSS/Atom Feeds, and from files stored on your computer.
^ ab To use AMR as audio codec, VLC and FFmpeg need to be compiled with AMR support. This is because the AMR license is not compatible with the VLC license.
^ This featue needs sound fonts and might not work on every OS