VLC media player

From Wikipedia, the free encyclopedia

VLC media player
Image:VLC.svg

Screenshot of VLC running under Ubuntu
Developed by VideoLAN Project
Initial release February 1, 2001 (2001-02-01)
Stable release 0.8.6h  (June 6, 2008 (2008-06-06); 7 days ago) [+/−]
Preview release 0.9.0-git  (Git) [+/−]
Written in C
OS Cross-platform
Available in multilingual
Genre Media player
License GNU General Public License
Website VideoLAN.org (English)

VLC media player is a free software media player written by the VideoLAN project.

It is a portable multimedia player, encoder, and streamer supporting many audio and video codecs and file formats as well as DVDs, VCDs, and various streaming protocols. It is able to stream over networks and to transcode multimedia files and save them into various different formats. VLC used to stand for VideoLAN Client, but that meaning is now deprecated.[1] [2]

It is one of the most platform-independent players available, with versions for BeOS, BSD, Linux, Mac OS X, Microsoft Windows, MorphOS, Solaris and Windows CE, and is widely used with over 65 million downloads for version 0.8.6.[3]

VLC uses a large number of free decoding and encoding libraries. Many of its codecs are provided by the libavcodec codec 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.

Version 0.8.6, which adds support for WMV version 9 and enhanced support for H.264, was released on 10 December 2006.[4]

Contents

[edit] History

Originally the VideoLAN project was intended to consist of a client and server to stream videos across a network. It was developed by students at the École Centrale Paris. VLC was the client for the VideoLAN project, with VLC standing for VideoLAN Client. It was released under the GPL on February 1, 2001. It is now developed by contributors worldwide. The functionality of the server program, VideoLAN Server (VLS), has mostly been subsumed into VLC. The VideoLAN Server has been discontinued. The project name has changed to VLC media player since there is no longer a client/server infrastructure. The cone icon 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 icon[6] to a higher resolution CGI rendered version in 2006.[7]

[edit] Design principles

VLC with the wxWidgets interface, running on KDE
VLC with the wxWidgets interface, running on KDE
VLC with the ncurses interface, running on Mac OS X
VLC with the ncurses interface, running on Mac OS X
VLC's right-click Menu in Ubuntu Gutsy (detailed information on this image's page)
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 300 modules in VLC.[8]

[edit] Interfaces

The standard GUI is based on wxWidgets for Windows and Linux, Cocoa for Mac OS X, and Be API on BeOS; but all give a similar standard interface. A Qt 4 interface is also in the works for Linux and Windows.[9]

VLC supports highly customizable skins through the skins2 interface, also supporting Winamp 2 and XMMS skins.

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).

[edit] Control

In addition to these interfaces, it is possible to control VLC in different ways:

[edit] Features

  • 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 or eMule). 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 does, however, also support codecs that are not included in FFmpeg.
  • 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 display the playing video as the desktop wallpaper.
  • On Microsoft Windows, VLC also supports the Direct Media Object (DMO) framework and can therefore make use of some third-party DLLs.

[edit] Use of VLC with other programs

[edit] API

libVLC
Developed by VideoLAN Project
Initial release February 1, 2001 (2001-02-01)
Written in C
OS Cross-platform
Platform Native, .NET, Java, Python and Cocoa
Available in multilingual
Genre Multimedia Library
License GNU General Public License
Website http://wiki.videolan.org/Libvlc (English)

There are several APIs that can connect to VLC and use its functionality:

  • libVLC API, which is the VLC Core, for C, C++ and C#.
  • JavaScript API, which is the evolution of ActiveX API and Firefox integration.
  • D-Bus Controls.
  • C# interface.
  • Python controls.
  • Java API.
  • DirectShow filters.[10]

[edit] Browser plugins

[edit] 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.
  • The free/open-source Miro Media Player (formerly Democracy Player) also uses VLC code.
  • The Songbird media browser joins code from VLC and Firefox.
  • And a few others...[13]

[edit] Format support

[edit] Readable formats

VLC can read several formats, depending on the operating system VLC is running on.[14]

Input 
UDP/RTP unicast or multicast, HTTP, FTP, MMS, 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.
Container formats
3GP,[15] ASF, AVI, FLV, MKV, QuickTime, MP4, Ogg, OGM, WAV, MPEG-2 (ES, PS, TS, PVA, MP3), AIFF, Raw audio, Raw DV, MXF, VOB.
Video formats
Cinepak, DV, H.263, H.264/MPEG-4 AVC, HuffYUV, Indeo 3,[16] MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, Sorenson (thus enabling direct playback of the modified Sorenson H.263 encoded videos downloaded from YouTube), Theora, VC-1,[17] VP5,[17] VP6,[17] WMV.
Subtitles
DVD, SVCD, DVB, OGM, (partial)SubStation Alpha,[18] SubRip, (partial)Advanced SubStation Alpha,[18] MPEG-4 Timed Text, Text file, Vobsub, MPL2,[19] Teletext.[19]
Audio formats
AAC, AC3, ALAC, AMR,[15] DTS, DV Audio, XM, FLAC, MACE, MP3, PLS (file format), QDM2/QDMC, RealAudio,[20] Speex, Screamtracker 3/S3M, TTA, Vorbis, WavPack,[21] WMA.

[edit] Output formats for streaming/encoding

VLC can transcode into several formats depending on the operating system.

Container formats
ASF, AVI, FLV,[19] MP4, Ogg, Wav, MPEG-2 (ES, PS, TS, PVA, MP3), MPJPEG, FLAC, MOV
Video formats
H.263, H.264/MPEG-4 AVC, MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, VP5,[17] VP6,[17] Theora, DV
Audio formats
AAC, AC3, DV Audio, FLAC, MP3,[22] Speex, Vorbis
Streaming protocols
UDP, HTTP, RTP, RTSP, MMS, File

[edit] Unsupported formats

As of 0.8.6c, VLC is unable to play files using the following formats:

[edit] See also

[edit] References

  1. ^ Jean-Baptiste Kempf (November 23, 2006). VLC Name. Yet another blog for JBKempf. Retrieved on 2007-02-24.
  2. ^ VideoLAN Team. Intellectual Properties. VideoLAN Wiki. Retrieved on 2007-07-30.
  3. ^ Download Statistics. VideoLAN Project. Retrieved on 2008-03-01.
  4. ^ Derk-Jan Hartman (10 December, 2006). Release notification, 0.8.6. videolan-announce mailing list. Retrieved on 2007-02-24.
  5. ^ Jon Lech Johansen (June 23, 2005). VLC cone. So sue me: Jon Lech Johansen’s blog. Retrieved on 2007-02-24.
  6. ^ vlc48x48.png (PNG). VideoLAN Project. Retrieved on 2007-02-24.
  7. ^ vlc128x128.png (PNG). VideoLAN Project. Retrieved on 2007-02-24.
  8. ^ VLC media player List of modules. VLC media player trac system.
  9. ^ Jean-Baptiste Kempf (February 10, 2007). Qt4 Interface. Yet another blog for JBKempf. Retrieved on 2007-03-07.
  10. ^ Anderson, Dean; Lamberson, Jim (2007). Using VideoLan VLC in DirectShow. An open source bridge from VLC to DirectShow. Retrieved on 2008-02-15.
  11. ^ Chapter 4. Advanced use of VLC
  12. ^ Open Source Patches and Mirrored Packages - Google Code
  13. ^ VideoLAN Wiki: We use VideoLAN
  14. ^ VLC features list. VideoLAN Project. Retrieved on 2007-02-24.
  15. ^ a b 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.
  16. ^ Indeo 4 and 5 codecs are not supported
  17. ^ a b c d e This is from the 0.8.6 version
  18. ^ a b The current version only supports some of the formatting data from SSA/ASS (only coloring but no positioning, animation, typesetting etc.), but it was announced that it will be improved in 0.9.0.
  19. ^ a b c This will be in 0.9.0
  20. ^ Real Audio playback is provided through the FFmpeg library which only supports the Cook (RealAudio G2 / RealAudio 8) decoder at the moment.
  21. ^ Currently only supported when encapsulated in the Matroska container format, and includes no multichannel support.
  22. ^ You need to compile VLC with mp3lame support

[edit] External links

Wikimedia Commons has media related to: