VLC media player

From Wikipedia, the free encyclopedia
  (Redirected from VLC player)
Jump to: navigation, search
VLC media player
VLC Icon.svg
VLC 2.1.5.png
VLC media player 2.1
Developer(s) VideoLAN
Initial release February 2001; 13 years ago (2001-02)
Stable release
  • Desktop:
    2.1.5 (26 July 2014; 5 months ago (2014-07-26)) [±][1]
  • iOS:
    2.3 (18 April 2014; 8 months ago (2014-04-18)) [±][1]
Preview release
  • Android:
    0.9.10 (15 October 2014; 2 months ago (2014-10-15)) [±][2]
  • Windows RT:
    0.0.5 (11 April 2014; 8 months ago (2014-04-11)) [±][3]
Written in C, C++ (with Qt), Objective-C, Lua
Operating system Windows, OS X, Linux, BSD, Solaris, Android, iOS, Windows Phone QNX, Haiku, Syllable, OS/2[4]
Platform IA-32, x64, ARM, MIPS, PowerPC
Available in 48 languages[5]
Type Media player
License GNU GPLv2+ (player) GNU LGPLv2.1+ (engine)[6][7]
Website videolan.org/vlc/

VLC media player (commonly known as VLC) is a portable, free and open-source, cross-platform media player and streaming media server written by the VideoLAN project.

VLC media player supports many audio and video compression methods and file formats, including DVD-Video, video CD and streaming protocols. It is able to stream media over computer networks and to transcode multimedia files.[8]

The default distribution of VLC includes a large number of free decoding and encoding libraries, avoiding 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 and its own protocols implementations. It also gained distinction as the first player to support playback of encrypted DVDs on Linux and OS X by using the libdvdcss DVD decryption library.

History[edit]

The VideoLan project was originally started as an academic project in 1996. VLC used to stand for "VideoLAN Client" when VLC was a client of the VideoLAN project. But since VLC is no longer merely a client, that initialism no longer applies.[9][10]

It was intended to consist of a client and server to stream videos across a campus network. Originally developed by students at the École Centrale Paris, it is now developed by contributors worldwide and is coordinated by VideoLAN, a non-profit organization.

Rewritten from scratch in 1998, it was released under GNU General Public License on 1 February 2001, with authorization from the headmaster of the École Centrale Paris. The functionality of the server program, VideoLan Server (VLS), has mostly been subsumed into VLC and has been deprecated.[11] The project name has been changed to VLC media player because there is no longer a client/server infrastructure.

The cone icon used in VLC is a reference to the traffic cones collected by École Centrale's Networking Students' Association.[12] The cone icon design was changed from a hand drawn low resolution icon[13] to a higher resolution CGI-rendered version in 2006, illustrated by Richard Øiestad.[14]

After 13 years of development, version 1.0.0 of VLC media player was released on July 7, 2009.[15] Version 2.0.0 of VLC media player was released on February 18, 2012.[7][16]

In 2011 and 2012, large parts of VLC were relicensed to the GNU Lesser General Public License.[17][18]

VLC is first in the sourceforge.net overall download count[19] and has been downloaded more than 1.3 billion times.[20]

VLC is now available for the iPad, iPhone, and iPod Touch on Apple's App Store. It was present in the past, was pulled due to a licensing conflict between the GPL and the iTunes Store agreement,[21] but was then resubmitted under the Mozilla Public License.[22] Work began on VLC for Android in 2010 and a beta version for Android devices is now available on the Google Play store.[23][24] A version for the Windows Store arrived on March 13, 2014. Support for Windows RT, Windows Phone, and possibly the Xbox One are also in development.[25]

Design principles[edit]

Modular design[edit]

VLC, like most multimedia frameworks, has a very modular design which makes it easier to include modules/plugins for new file formats, codecs, or streaming methods. VLC 1.0.0 has more than 380 modules.[26]

The VLC core creates its own graph of modules dynamically, depending on the situation: input protocol, input file format, input codec, video card capabilities and other parameters. In VLC, almost everything is a module, like interfaces, video and audio outputs, controls, scalers, codecs, and audio/video filters.

Interfaces[edit]

In VLC, interfaces are modules, which means that VLC's core can launch one, many, or no interfaces.

The default GUI is based on Qt 4 for Windows and Linux, Cocoa for OS X, and Be API on BeOS; but all give a similar standard interface. The old default GUI was based on wxWidgets on Windows and GNU/Linux.[27]

The interface contains an easter egg which changes the VLC traffic cone logo so that it's wearing a Santa hat. The logo changes on December 18, one week before Christmas, and reverts to its normal appearance on January 1.

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. Skins are not supported in the Mac OS X implementation of VLC.

For console users, VLC has a remote control interface and 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[edit]

Keyboard mapping: VLC basic.

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

Features[edit]

Because VLC is a packet-based media player it plays almost all video content. It can play some, even if they're damaged, incomplete, or unfinished, such as files that are still downloading via a peer-to-peer (P2P) network. 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. The player can also use libcdio to access .iso files so that users can play files on a disk image, even if the user's operating system cannot work directly with .iso images.

VLC supports all audio and video formats supported by libavcodec and libavformat. This means that VLC can play back H.264 or MPEG-4 Part 2 video as well as support FLV or MXF file formats "out of the box" using FFmpeg's libraries. Alternatively, VLC has modules for codecs that are not based on FFmpeg's libraries. VLC is one of the free software DVD players that ignores DVD region coding on RPC-1 firmware drives, making it a region-free player. However, it does not do the same on RPC-2 firmware drives, as in these cases the region coding is enforced by the drive itself, however, it can still brute-force the CSS encryption to play a foreign-region DVD on an RPC-2 drive. VLC media player has some filters that can distort, rotate, split, deinterlace, and mirror videos as well as create display walls or add a logo overlay. It can also output video 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, by using DirectX, only available on Windows operating systems. VLC media player can create screencasts and record the desktop. On Microsoft Windows, VLC also supports the Direct Media Object (DMO) framework and can thus make use of some third-party DLLs. On most platforms, VLC can tune into and view DVB-C, DVB-T, and DVB-S channels. On Mac OS X the separate EyeTV plugin is required, on Windows it requires the card's BDA Drivers.

VLC can be installed or run directly from a USB flash drive or other external drive. VLC can be extended through scripting; it uses the Lua scripting language.[28][29] VLC can play videos in the AVCHD format, a highly compressed format used in recent HD camcorders. VLC can generate a number of music visualization displays. The program is able to convert media files into various supported formats.[30]

Operating system compatibility[edit]

Metro-style version of VLC media player

VLC media player is a cross-platform media player, with versions for Windows, OS X, iOS, Linux, Android, BSD, BeOS, OS/2, Solaris, Syllable and QNX.[4] However, forward and backward compatibility between versions of VLC media player and different versions of OS are not maintained over more than a couple or so generations.[31] 64-bit builds are available, and an experimental version is available for 64-bit Windows.[32]

Windows 8 support[edit]

The VLC port for Windows 8 is backed by a Kickstarter campaign to add support for a new GUI based on Microsoft's Metro design language that will run on the Windows Runtime. It brings support for DVDs, VCDs and unencrypted Blu-ray Discs, none of which are supported natively in Windows 8.[33] All the existing features including video filters, subtitle support and an equalizer will be present in Windows 8.

A beta version of VLC for Windows 8 was released to the Microsoft Store on March 13, 2014.

Android support[edit]

In May 2012, the VLC team stated that a version of VLC for Android was being developed.[34] The stable release version 1.0 was made available on Google Play.[35] on December 8, 2014.[36]

Use of VLC with other programs[edit]

API[edit]

libVLC
Developer(s) VideoLAN Project
Initial release 1 February 2001
Stable release 1.1[37]
Written in C
Type Multimedia Library
License GNU Lesser General Public License
Website wiki.videolan.org/LibVLC

Several APIs can connect to VLC and use its functionality:

  • libVLC API – the VLC Core, for C and C++
  • VLCKit – an Objective-C framework for Mac OS X
  • JavaScript API – the evolution of ActiveX API and Firefox integration
  • D-Bus controls
  • Go binding[38]
  • C# interface
  • Python controls[39]
  • Java API[40]
  • DirectShow filters[41]
  • Delphi/Pascal API: PasLibVlc by: "Robert Jędrzejczyk"[42]
  • Free Pascal bindings and an OOP wrapper component, via the libvlc.pp and vlc.pp units. This comes standard with the Free Pascal Compiler as of 2012-11-06.[43]
  • The Phonon multimedia API for Qt and KDE applications can optionally use VLC as a backend.

Browser plugins[edit]

On Windows, Linux, OS X, and some other Unix-like platforms, VLC provides an NPAPI plugin,[44] which enables users to view QuickTime, Windows Media, MP3, and Ogg files embedded in websites without using additional products. It supports many web browsers including Firefox, Mozilla Application Suite, and other Netscape plug-in based browsers; Safari, Chrome, and other WebKit based browsers; and Opera. Google used this plugin to build the Google Video Player web browser plugin before switching to use Adobe Flash.[45]

Starting with version 0.8.2, VLC also provides an ActiveX plugin, which lets people view QuickTime (MOV), Windows Media, MP3, and Ogg files embedded in websites when using Internet Explorer.

Applications that use the VLC plugin[edit]

VLC can handle some incomplete files and in some cases can be used to preview files being downloaded. Several programs make use of this, including eMule and KCeasy. The free/open-source Internet television application Miro also uses VLC code. HandBrake, an open-source video encoder, loads libdvdcss from VLC Media Player. JuceVLC also uses libVLC API.

Format support[edit]

Input formats[edit]

VLC can read several formats, depending on the operating system VLC is running on, including:[46]

Container formats
3GP,[47] ASF, AVI, DVR-MS, FLV, Matroska, MIDI,[48] QuickTime File Format, MP4, Ogg, OGM, WAV, MPEG-2 (ES, PS, TS, PVA, MP3), AIFF, Raw audio, Raw DV, MXF, VOB, RM, DVD-Video, VCD, SVCD, CD Audio, DVB
Video formats
Cinepak, Dirac, DV, H.263, H.264/MPEG-4 AVC, H.265/MPEG HEVC,[49] HuffYUV, Indeo 3,[50] MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, RealVideo 3&4,[51] Sorenson, Theora, VC-1,[52] VP5,[52] VP6,[52] VP8, VP9,[49] DNxHD, Prores and some WMV.
Audio formats
AAC, AC3, ALAC, AMR,[47] DTS, DV Audio, XM, FLAC, It, MACE, Mod, Monkey's Audio, MP3, Opus,[53] PLS, QCP, QDM2/QDMC, RealAudio,[54] Speex, Screamtracker 3/S3M, TTA, Vorbis, WavPack,[55] WMA (WMA 1/2, WMA 3 partially).[56]
Subtitles
DVD-Video, SVCD, DVB, OGM, SubStation Alpha, SubRip, Advanced SubStation Alpha, MPEG-4 Timed Text, Text file, VobSub, MPL2,[57] Teletext.[57]
Network protocols
UDP, RTP (unicast or multicast), HTTP, FTP, MMS, RTSP, RTMP, RSS/Atom
Capture devices
Video4Linux (on Linux), DirectShow (on Windows), Desktop (screencast), Digital TV (DVB-C, DVB-S, DVB-T, DVB-S2, DVB-T2, ATSC, Clear QAM)

Output formats[edit]

VLC can transcode or stream audio and video into several formats depending on the operating system, including:

Container formats
ASF, AVI, FLV,[57] Fraps,[57] MP4, Ogg, WAV, MPEG-2 (ES, PS, TS, PVA, MP3), MPJPEG, FLAC, QuickTime File Format, Matroska, WebM
Video formats
H.263, H.264/MPEG-4 AVC, MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, VP5,[52] VP6, VP8,[52] VP9,[49] Theora, DV, Dirac
Audio formats
AAC, AC-3, DV Audio, FLAC, MP3,[58] Speex, Vorbis
Streaming protocols
UDP, HTTP, RTP, RTSP, MMS

Legality[edit]

The VLC media player software installers for the Mac OS X platform and the Windows platform include the libdvdcss DVD decryption library, even though this library may be legally restricted in certain jurisdictions.[59][60]

USA[edit]

The VLC media player software is able to read video and audio data from DVDs that incorporate Content Scramble System (CSS) encryption, even though the VLC media player software lacks a CSS decryption license.[61] The unauthorized decryption of CSS-encrypted DVD content or unauthorized distribution of CSS decryption tools may violate the US Digital Millennium Copyright Act.[61] Decryption of CSS-encrypted DVD content has been temporarily authorized for certain purposes (such as documentary filmmaking that uses short portions of DVD content for criticism or commentary) under the Digital Millennium Copyright Act anticircumvention exemptions that were issued by the US Copyright Office in 2010.[62] However these exemptions do not change the DMCA's ban on the distribution of CSS decryption tools like VLC.[63]

See also[edit]

Notes and references[edit]

  1. ^ a b "VLC reaches 2.1.5". VideoLAN.org. VideoLAN. 26 July 2014. Retrieved 26 July 2014. 
  2. ^ "VideoLAN News". VideoLAN.org. VideoLAN. 5 September 2014. Retrieved 21 September 2014. 
  3. ^ "VideoLAN Git". VideoLAN.org. VideoLAN. 11 April 2014. Retrieved 12 May 2014. 
  4. ^ a b "Official Downloads of VLC media player". Videolan.org. Retrieved 2012-01-02. 
  5. ^ "VideoLAN internationalization". VideoLAN. Retrieved 17 December 2013. 
  6. ^ "VLC engine relicensed to LGPL". VideoLAN. 21 December 2011. Retrieved 17 December 2013. 
  7. ^ a b "VLC reaches 2.1.2". VideoLAN. 10 December 2013. Retrieved 17 December 2013. 
  8. ^ "VLC playback Features". VideoLAN. Retrieved 2012-01-02. 
  9. ^ Jean-Baptiste Kempf (November 23, 2006). "VLC Name". Yet another blog for JBKempf. Retrieved 2007-02-24. 
  10. ^ VideoLAN Team. "Intellectual Properties". VideoLAN Wiki. Retrieved 2007-07-30. 
  11. ^ "The streaming solution". VideoLAN. Retrieved 2009-03-08. 
  12. ^ Jon Lech Johansen (2005-06-23). "VLC cone". So sue me: Jon Lech Johansen’s blog. Retrieved 2007-02-24. 
  13. ^ "vlc48x48.png" (PNG). VideoLAN Project. Retrieved 2010-03-15. 
  14. ^ "vlc48x48.png" (PNG). VideoLAN Project. Retrieved 2010-03-15. 
  15. ^ Ryan Paul (2009-07-08). "VLC 1.0 officially released after more than 10 years of work". Ars Technica. Retrieved 2013-01-12. 
  16. ^ "Une nouvelle version du lecteur multimédia VLC, dix ans après sa création" [New version of VLC media player 10 years after its first creation]. Le Monde (in French). 2012-02-20. Retrieved 2012-02-22. 
  17. ^ "Press Release on libVLC relicensing to LGPL". VideoLAN. 2011-12-21. Retrieved 2013-01-22. 
  18. ^ "Press Release on modules relicensing to LGPL". VideoLAN. 2011-12-21. Retrieved 2013-01-22. 
  19. ^ "Top Project Listings". SourceForge. Retrieved 2012-01-02. 
  20. ^ "Top Project Listings". VideoLAN. Retrieved 2013-01-22. 
  21. ^ "Apple pulls VLC media player from the App Store". MacNN. 2011-01-07. Retrieved 2013-01-12. 
  22. ^ VLC under Mozilla public relaunched. Accessed 10/10/2013
  23. ^ "VLC on Android". Spill the Beans. 2011-02-02. Retrieved 2013-10-28. 
  24. ^ "VLC media player for Android". VideoLan. Retrieved 2013-10-28. 
  25. ^ https://www.kickstarter.com/projects/1061646928/vlc-for-the-new-windows-8-user-experience-metro/posts
  26. ^ "VLC media player List of modules". VLC media player trac system. VideoLAN. 
  27. ^ Jean-Baptiste Kempf (2007-02-10). "Qt4 Interface". Yet another blog for JBKempf. Retrieved 2013-01-13. 
  28. ^ "Addons for VLC". www.vlc-addons.org. VideoLAN. 2013-01-10. Retrieved 2013-01-13. 
  29. ^ "Scripting VLC in lua". the videolan forums. VideoLAN. Retrieved 2013-01-13. 
  30. ^ Brad Chacos (2012-10-10). "How to master VLC, the ultimate Windows media player for power users". Video players review & comments. PC World. Retrieved 2013-01-13. 
  31. ^ "VLC 2.0 and Windows 2000". VideoLAN Forums. VideoLAN. 2012-02-28. Retrieved 2013-01-12. 
  32. ^ "Download official VLC media player for Windows". Videolan.org. Retrieved 2013-06-19. 
  33. ^ "Beta for Windows 8 VLC app to be sent to Kickstarter backers this month". neowin.net. 2012-03-11. Retrieved 2013-04-15. 
  34. ^ "VLC media player for Android". VideoLAN. Retrieved 2012-05-06. 
  35. ^ "VLC for Android". Google Play. 2014-12-08. Retrieved 2014-12-08. 
  36. ^ "VLC for Android Finally Reaches Full, Stable Version". Lifehacker. 2014-12-08. Retrieved 2014-12-08. 
  37. ^ "libVLC". VideoLAN Wiki. 2010-09-09. Retrieved 2010-10-06. 
  38. ^ "Go binding Project". Github.com. 2010-08-25. Retrieved 2010-10-06. 
  39. ^ "Python bindings - VideoLAN Wiki". Wiki.videolan.org. 2010-09-30. Retrieved 2010-10-06. 
  40. ^ "Java binding Project". Wiki.videolan.org. 2010-01-25. Retrieved 2010-10-06. 
  41. ^ Anderson, Dean; Lamberson, Jim (2007). "Using VideoLan VLC in DirectShow". An open source bridge from VLC to DirectShow. Retrieved 2008-02-15. 
  42. ^ Prog.olsztyn.pl "libvlc for Delphi and FreePascal". Retrieved 2011-05-22. 
  43. ^ "SubVersion commit r22943 in the Free Pascal repository". 
  44. ^ "Chapter 4. Advanced use of VLC". Videolan.org. Retrieved 2010-10-06. 
  45. ^ "Open Source Patches and Mirrored Packages". Google Code. Retrieved 2010-10-06. 
  46. ^ "VLC features list". VideoLAN Project. Retrieved 2007-02-24. 
  47. ^ a b Until VLC 1.1.0, to use AMR as audio codec, VLC and FFmpeg had be compiled with AMR support. This is because the AMR license is not compatible with the VLC license.
  48. ^ This feature needs sound fonts and might not work on every OS. Support under Windows was dropped after version 2.0.8 due to security issues.
  49. ^ a b c "VLC 2.1.2 Rincewind". VideoLAN. Retrieved 2014-01-30. 
  50. ^ Indeo 4 and 5 codecs are not supported
  51. ^ from 0.9.9 and over
  52. ^ a b c d e This is from the 0.8.6 version.
  53. ^ "VLC 2.0.4 Twoflower". VideoLAN. Retrieved 2012-10-19. 
  54. ^ RealAudio playback is provided through the FFmpeg library which only supports the Cook (RealAudio G2 / RealAudio 8) decoder at the moment.
  55. ^ As of 2010, only supported in mono and stereo, so no multichannel support.
  56. ^ VideoLAN team. "VLC playback Features". Retrieved 2010-01-03. 
  57. ^ a b c d This is present in 0.9.0 and newer version.
  58. ^ VLC must be compiled with mp3lame support
  59. ^ "VideoLAN - Frequently Asked Questions". VideoLAN. Retrieved 2012-03-24. 
  60. ^ "VideoLAN - Legal". VideoLAN. Retrieved 2012-03-24. 
  61. ^ a b Horton, Steve (2009-07-17). "VLC Video Player's New DVD-Copying Feature Could Run Afoul of the MPAA". PCWorld. Retrieved 2010-11-12. 
  62. ^ "Rulemaking on Exemptions from Prohibition on Circumvention of Technological Measures that Control Access to Copyrighted Works". US Copyright Office. 2010-07-28. Retrieved 2010-11-14. 
  63. ^ von Lohmann, Fred (2005). "DMCA Triennial Rulemaking: Failing Consumers Completely". Electronic Frontier Foundation. Retrieved 2010-11-14. 

External links[edit]