VLC media player

From Wikipedia, the free encyclopedia

Jump to: navigation, search
VLC media player

Screenshot of VLC 0.9.8a running under desktop KDE 4.2.1.
Developed by VideoLAN Project
Initial release February 1, 2001 (2001-02-01)
Stable release 0.9.9  (2009-04-02; 15 days ago[1]) [+/−]
Preview release 1.0.0-pre1  (2009-3-29; 19 days ago[2]) [+/−]
Written in C/C++-Qt
Operating system Cross-platform
Available in multilingual
Type Media player
License GNU General Public License v2 or later
Website VideoLAN.org

VLC media player is an open source, free software media player written by the VideoLAN project.

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 streaming protocols. 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.[3][4] It is licensed under the GNU General Public License.

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

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.

Contents

[edit] History

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 deprecated.[6] 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.[7] The cone icon design was changed from a hand drawn low resolution icon[8] to a higher resolution CGI rendered version in 2006.[9]

[edit] Design principles

VLC with the wxWidgets interface, running on KDE
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 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.[10]

[edit] 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.[11]

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

[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, 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 free software and open source DVD players that ignores DVD region coding, making it a region free player, even on locked RPC-2 firmware.
  • 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.
  • 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, like Windows DreamScene, but this feature is not currently available on Linux.
  • 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 can be extended through scripting. It uses the Lua scripting language.

[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
Operating system Cross-platform
Platform Native, .NET, Java, Python and Cocoa
Available in multilingual
Type 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:

[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 also uses VLC code.

[edit] Format support

[edit] Readable formats

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

Input 
UDP/RTP unicast or multicast, HTTP, FTP, MMS, RTSP, RTMP, DVDs, VCD, SVCD, CD Audio, DVB, Video acquisition (via V4l and DirectShow), RSS/Atom Feeds, and from files stored on the user's computer.
Container formats
3GP,[17] ASF, AVI, FLV, MKV, Musical Instrument Digital Interface (.mid/.midi),[18] QuickTime, MP4, Ogg, OGM, WAV, MPEG-2 (ES, PS, TS, PVA, MP3), AIFF, Raw audio, Raw DV, MXF, VOB.
Video formats
Cinepak, Dirac, DV, H.263, H.264/MPEG-4 AVC, HuffYUV, Indeo 3,[19] MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, RealVideo[20], Sorenson (thus enabling direct playback of the modified Sorenson H.263 encoded videos downloaded from YouTube), Theora, VC-1,[21] VP5,[21] VP6,[21] WMV.
Subtitles
DVD, SVCD, DVB, OGM, SubStation Alpha, SubRip, Advanced SubStation Alpha, MPEG-4 Timed Text, Text file, Vobsub, MPL2,[22] Teletext.[22]
Audio formats
AAC, AC3, ALAC, AMR,[17] DTS, DV Audio, XM, FLAC, MACE, MP3, PLS (file format), QDM2/QDMC, RealAudio,[23] Speex, Screamtracker 3/S3M, TTA, Vorbis, WavPack,[24] WMA.

[edit] Output formats for streaming/encoding

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

Container formats
ASF, AVI, FLV,[22] Fraps,[22] 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,[21] VP6,[21] Theora, DV
Audio formats
AAC, AC3, DV Audio, FLAC, MP3,[25] Speex, Vorbis
Streaming protocols
UDP, HTTP, RTP, RTSP, MMS, File

[edit] See also

[edit] References

  1. ^ "VLC media player source code". http://nightlies.videolan.org/. Retrieved on 2008-12-01. 
  2. ^ "VLC media player nightly builds". http://nightlies.videolan.org. Retrieved on 2009-03-10. 
  3. ^ Jean-Baptiste Kempf (November 23, 2006). "VLC Name". Yet another blog for JBKempf. http://www.jbkempf.com/blog/post/2006/11/23/VLC-Name. Retrieved on 2007-02-24. 
  4. ^ VideoLAN Team. "Intellectual Properties". VideoLAN Wiki. http://wiki.videolan.org/Intellectual_Properties#Names_.2F_Trademark. Retrieved on 2007-07-30. 
  5. ^ "Download Statistics". VideoLAN Project. http://www.videolan.org/stats/downloads.html. Retrieved on 2008-03-01. 
  6. ^ "VideoLAN - The streaming solution". http://www.videolan.org/vlc/streaming.html. Retrieved on 2009-03-08. 
  7. ^ Jon Lech Johansen (June 23, 2005). "VLC cone". So sue me: Jon Lech Johansen’s blog. http://www.nanocrew.net/2005/06/23/vlc-cone/. Retrieved on 2007-02-24. 
  8. ^ "vlc48x48.png" (PNG). VideoLAN Project. http://trac.videolan.org/vlc/browser/share/vlc48x48.png?rev=85e4b3a17d6a107a0f73be40c52c080354b3ddd0. Retrieved on 2008-08-06. 
  9. ^ "vlc48x48.png" (PNG). VideoLAN Project. http://trac.videolan.org/vlc/browser/share/vlc48x48.png?rev=9ef388cc16e200fa0a4571f9b006c0d58e9ba115. Retrieved on 2008-08-06. 
  10. ^ "VLC media player List of modules". VLC media player trac system. http://trac.videolan.org/vlc/browser/modules/LIST. 
  11. ^ Jean-Baptiste Kempf (February 10, 2007). "Qt4 Interface". Yet another blog for JBKempf. http://www.jbkempf.com/blog/post/2007/02/10/Qt4-Interface. Retrieved on 2007-03-07. 
  12. ^ Java binding Project
  13. ^ Anderson, Dean; Lamberson, Jim (2007). "Using VideoLan VLC in DirectShow". An open source bridge from VLC to DirectShow. http://www.sensoray.com/support/videoLan.htm. Retrieved on 2008-02-15. 
  14. ^ Chapter 4. Advanced use of VLC
  15. ^ Open Source Patches and Mirrored Packages - Google Code
  16. ^ "VLC features list". VideoLAN Project. http://www.videolan.org/vlc/features.html. Retrieved on 2007-02-24. 
  17. ^ 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.
  18. ^ This feature needs sound fonts and might not work on every OS
  19. ^ Indeo 4 and 5 codecs are not supported
  20. ^ from 0.9.9 and over
  21. ^ a b c d e This is from the 0.8.6 version.
  22. ^ a b c d This is present in 0.9.0 and newer version.
  23. ^ Real Audio playback is provided through the FFmpeg library which only supports the Cook (RealAudio G2 / RealAudio 8) decoder at the moment.
  24. ^ Currently only supported in mono and stereo, so no multichannel support.
  25. ^ You need to compile VLC with mp3lame support

[edit] External links

Personal tools