VLC media player

From Wikipedia, the free encyclopedia
  (Redirected from VLC player)
Jump to: navigation, search
VLC media player
VLC Icon.svg
VLC running under GNOME 3 playing Cosmos Laundromat
VLC running under GNOME 3 playing Cosmos Laundromat
Developer(s) VideoLAN
Initial release February 1, 2001; 16 years ago (2001-02-01)[1]
Stable release
  • Windows, Linux
    2.2.6 (24 May 2017; 3 months ago (2017-05-24)) [±][2]
  • Windows (UWP)
    2.2.2 (12 December 2016; 9 months ago (2016-12-12)) [±][3]
  • macOS
    2.2.5.1 (12 December 2016; 9 months ago (2016-12-12)) [±][4]
  • Android
    2.0.6 (13 August 2016; 12 months ago (2016-08-13)) [±][5]
  • iOS
    2.7.8 (21 June 2016; 14 months ago (2016-06-21)) [±][6]
Preview release
3.0.0 for Win and macOS / May 31, 2017; 3 months ago (2017-05-31) [7]
Repository http://git.videolan.org/?p=vlc.git;a=summary, git://git.videolan.org/vlc.git
Written in Core: C
GUI: C++ (with Qt), Objective-C
Operating system Windows NT, Windows Phone, macOS, GNU/Linux, Android, iOS, Chrome OS, Tizen, OS/2[8]
Platform IA-32, x64, ARM, MIPS, PowerPC
Available in 48 languages[9]
Type Media player
License GNU Lesser General Public License v2.1+[10][11]
Website videolan.org/vlc/

VLC media player (commonly known as VLC) is a free and open-source, portable and cross-platform media player and streaming media server written by the VideoLAN project. VLC is available for desktop operating systems and mobile platforms, such as Windows 10 Mobile, Windows Phone, Android, Tizen, iPad, iPhone, and iPod Touch. VLC is also available on App stores such as Apple's App Store, Google Play store and Microsoft Windows Windows Store.

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.[12]

The default distribution of VLC includes a large number of free decoding and encoding libraries, avoiding the need for finding/calibrating proprietary plugins. The libavcodec library from the FFmpeg project provides many of VLC's codecs, but the player mainly[13] uses its own muxers, and demuxers. It also has its own protocol implementations. It also gained distinction as the first player to support playback of encrypted DVDs on Linux and macOS by using the libdvdcss DVD decryption library.[citation needed]

History[edit]

The VideoLan software originated 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.[14][15] It was intended to consist of a client and server to stream videos from satellite dishes 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 February 1, 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.[16] 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.[17] The cone icon design was changed from a hand drawn low resolution icon[18] to a higher resolution CGI-rendered version in 2006, illustrated by Richard Øiestad.[19]

In 2007 the VLC project decided for license compatibility reasons to not upgrade to the just released GPLv3.[20] After 13 years of development, version 1.0.0 of VLC media player was released on July 7, 2009.[21] Work began on VLC for Android in 2010 and it is available for Android devices on the Google Play store since 2011.[22][23] In September 2010 a company named "Applidium" developed with endorsement of the VLC project for iOS a VLC port under GPLv2, which was accepted by Apple for their App store.[24][25] In January 2011, after VLC developer Rémi Denis-Courmont's complaint to Apple about the licensing conflict between the VLC's GPLv2 and the App store's policies,[26] the VLC had been withdrawn from the Apple App Store by Apple.[27] Following, the VLC authors began to relicense in October 2011 the engine parts of VLC from the GPLv2 to the LGPLv2 to achieve better license compatibility, for instance with the Apple App Store.[28][29][30][31] In July 2013 the VLC application could then resubmitted to the iOS App Store under the Mozilla Public License.[32] Version 2.0.0 of VLC media player was released on February 18, 2012.[11][33] A version for the Windows Store was released on March 13, 2014. Support for Windows RT, Windows Phone and Xbox One were later added.[34] As of 2016 VLC is third in the sourceforge.net overall download count;[35] more than 2 billion downloads have occurred.[36]

Version 3.0 is in development for Windows, Linux and MacOs since June 2016. [37]

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, interfaces, or streaming methods. VLC 1.0.0 has more than 380 modules.[38] 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]

Keyboard map (basic)

The default GUI is based on Be API on BeOS, Cocoa for macOS, and Qt 4 for Linux and Windows, but all give a similar standard interface. The old default GUI was based on wxWidgets on Linux and Windows.[39] VLC supports highly customizable skins through the skins2 interface,[40] and also supports Winamp 2 and XMMS skins.[41] Skins are not supported in the macOS implementation of VLC.[42] VLC has ncurses,[43] remote control,[44] and telnet[45] console interfaces. There is also an HTTP[46] interface, as well as interfaces for mouse gestures and keyboard hotkeys.[47]

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 (Dynamic-link library). On most platforms, VLC can tune into and view DVB-C, DVB-T, and DVB-S channels. On macOS 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.[48][49] 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.[50]

Operating system compatibility[edit]

VLC media player is a cross-platform media player, with versions for Android, BeOS, BSD, iOS, Linux, macOS, OS/2, QNX, Solaris, Syllable, and Windows.[8] 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.[51] 64-bit builds are available, and an experimental version is available for 64-bit Windows.[52]

Windows 8 and 10 support[edit]

The VLC port for Windows 8 and Windows 10 is backed by a crowdfunding campaign on Kickstarter 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 and 10. All the existing features including video filters, subtitle support and an equalizer are present in Windows 8.[53] A beta version of VLC for Windows 8 was released to the Microsoft Store on March 13, 2014.[54] A universal app was created for Windows 8, 8.1, 10, Windows Phone 8, 8.1 and Windows 10 Mobile.

Android support[edit]

VLC on Android 5.0 Lollipop

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

Use of VLC with other programs[edit]

API[edit]

libVLC
Developer(s) VideoLAN Project
Initial release February 1, 2001
Stable release
1.1[57]
Repository http://git.videolan.org/?p=vlc.git;a=summary, git://git.videolan.org/vlc.git
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 macOS
  • JavaScript API – the evolution of ActiveX API and Firefox integration
  • D-Bus controls
  • Go binding[58]
  • C# interface
  • Python controls[59]
  • Java API[60]
  • DirectShow filters[61]
  • Delphi/Pascal API: PasLibVlc by: "Robert Jędrzejczyk"[62]
  • 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 November 6, 2012.[63]
  • The Phonon multimedia API for Qt and KDE applications can optionally use VLC as a backend.[64]

Browser plugins[edit]

On Windows, Linux, macOS, and some other Unix-like platforms, VLC provides an NPAPI plugin, which enables users to view QuickTime, Windows Media, MP3, and Ogg files embedded in websites without using additional software. 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.[65]

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, used to load libdvdcss from VLC Media Player. A program named Livestreamer may utilize VLC as its main video stream player and will not work without one.

Format support[edit]

Input formats[edit]

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

Output formats[edit]

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

Legality[edit]

The VLC media player software installers for the macOS platform and the Windows platform include the libdvdcss DVD decryption library, even though this library may be legally restricted in certain jurisdictions.[70][71]

United States[edit]

The VLC media player software is able to read audio and video data from DVDs that incorporate Content Scramble System (CSS) encryption, even though the VLC media player software lacks a CSS decryption license.[72] The unauthorized decryption of CSS-encrypted DVD content or unauthorized distribution of CSS decryption tools may violate the US Digital Millennium Copyright Act.[72] 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.[73] However these exemptions do not change the DMCA's ban on the distribution of CSS decryption tools like VLC.[74]

See also[edit]

Notes[edit]

  1. ^ a b Until VLC 1.1.0, to use AMR as audio codec, VLC and FFmpeg had to be compiled with AMR support. This is because the AMR license is not compatible with the VLC license.
  2. ^ 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.
  3. ^ RealAudio playback is provided through the FFmpeg library which only supports the Cook (RealAudio G2 / RealAudio 8) decoder at the moment.
  4. ^ As of 2010, only supported in mono and stereo, so no multichannel support.
  5. ^ a b c d This is present in 0.9.0 and newer version.
  6. ^ Indeo 4 and 5 codecs are not supported
  7. ^ from 0.9.9 and over
  8. ^ a b c d e This is from the 0.8.6 version.
  9. ^ VLC must be compiled with mp3lame support

References[edit]

  1. ^ "15 years of VLC and VideoLAN". Jean-Baptiste Kempf. Retrieved April 15, 2017. 
  2. ^ "VLC 2.2.6 "Umbrella"". VideoLAN. VideoLAN. 2017-05-24. Retrieved 2017-05-24. 
  3. ^ "VLC for Windows Store". www.microsoft.com. VideoLAN. 29 April 2015. Retrieved 21 July 2015. 
  4. ^ "VLC for macOS X". www.videolan.org. VideoLAN. 29 April 2015. Retrieved 2017-06-12. 
  5. ^ "VLC for Android". play.google.com. VideoLAN. 13 August 2016. Retrieved 13 August 2016. 
  6. ^ "VLC for iOS 2.7.8". VideoLAN.org. VideoLAN. 21 June 2016. Retrieved 21 June 2016. 
  7. ^ http://nightlies.videolan.org/
  8. ^ a b "Official Downloads of VLC media player". Videolan.org. Retrieved January 2, 2012. 
  9. ^ "VideoLAN internationalization". VideoLAN. Retrieved April 15, 2017. 
  10. ^ "VLC engine relicensed to LGPL". VideoLAN. December 21, 2011. Retrieved April 15, 2017. 
  11. ^ a b "VLC reaches 2.1.2". VideoLAN. December 10, 2013. Retrieved April 15, 2017. 
  12. ^ "VLC Features". VideoLAN. Retrieved April 15, 2017. 
  13. ^ "Contrib Status - VideoLAN Wiki". wiki.videolan.org. Retrieved 2017-07-15. 
  14. ^ Kempf, Jean-Baptiste (November 23, 2006). "VLC Name". Yet another blog for JBKempf. Retrieved April 15, 2017. 
  15. ^ VideoLAN Team. "Intellectual Properties". VideoLAN Wiki. Retrieved April 15, 2017. 
  16. ^ "The cross-platform streaming solution". VideoLAN. Retrieved April 15, 2017. 
  17. ^ Jon Lech Johansen (June 23, 2005). "VLC cone". Jon Lech Johansen's blog. Retrieved April 15, 2017. 
  18. ^ "vlc48x48.png" (PNG). VideoLAN Project. Retrieved April 15, 2017. 
  19. ^ "vlc48x48.png" (PNG). VideoLAN Project. Retrieved April 15, 2017. 
  20. ^ Denis-Courmont, Rémi. "VLC media player to remain under GNU GPL version 2". VideoLAN. Retrieved April 15, 2017. In 2001, VLC was released under the OSI-approved GNU General Public version 2, with the commonly-offered option to use "any later version" thereof (though there was not any such later version at the time). Following the release by the Free Software Foundation (FSF) of the new version 3 of its GNU General Public License (GPL) on the 29th of June 2007, contributors to the VLC media player, and other software projects hosted at videolan.org, debated the possibility of updating the licensing terms for future version of the VLC media player and other hosted projects, to version 3 of the GPL. [...] There is strong concern that these new additional requirements might not match the industrial and economic reality of our time, especially in the market of consumer electronics. It is our belief that changing our licensing terms to GPL version 3 would currently not be in the best interest of our community as a whole. Consequently, we plan to keep distributing future versions of VLC media player under the terms of the GPL version 2. [...]we will continue to distribute the VLC media player source code under GPL "version 2 or any later version" until further notice. 
  21. ^ Ryan Paul (July 8, 2009). "VLC 1.0 officially released after more than 10 years of work". Ars Technica. Retrieved January 12, 2013. 
  22. ^ "VLC on Android". Spill the Beans. February 2, 2011. Retrieved October 28, 2013. 
  23. ^ "VLC media player for Android". VideoLan. Retrieved October 28, 2013. 
  24. ^ hands-on-with-vlc-movie-player-for-ipad.ars on Arstechnica
  25. ^ the-vlc-ios-license-dispute-and-how-it-could-spread-to-android on Arstechnica
  26. ^ vlc-for-ios-vanishes-2-months-after-eruption-of-gpl-dispute.ars on arstechnica
  27. ^ "Apple pulls VLC media player from the App Store". MacNN. January 7, 2011. Archived from the original on May 30, 2012. 
  28. ^ "Changing the VLC engine license to LGPL". Retrieved October 23, 2011. 
  29. ^ Vaughan-Nichols, Steven. "No GPL Apps for Apple's App Store". zdnet.com. Retrieved October 23, 2011. 
  30. ^ "Press Release on libVLC relicensing to LGPL". VideoLAN. December 21, 2011. Retrieved January 22, 2013. 
  31. ^ "Press Release on modules relicensing to LGPL". VideoLAN. December 21, 2011. Retrieved January 22, 2013. 
  32. ^ VLC under Mozilla public relaunched. Accessed October 10, 2013
  33. ^ "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). February 20, 2012. Retrieved February 22, 2012. 
  34. ^ vlc-for-the-new-windows-8-user-experience-metro on kickstarter.com
  35. ^ "Top Project Listings". SourceForge. Retrieved January 2, 2012. 
  36. ^ "Top Project Listings". VideoLAN. Retrieved January 22, 2013. 
  37. ^ http://nightlies.videolan.org/
  38. ^ "VLC media player List of modules". VLC media player trac system. VideoLAN. 
  39. ^ Jean-Baptiste Kempf (February 10, 2007). "Qt4 Interface". Yet another blog for JBKempf. Retrieved January 13, 2013. 
  40. ^ "Skins". VideoLAN Wiki. VideoLAN. February 21, 2015. Archived from the original on July 9, 2016. Retrieved July 9, 2016. 
  41. ^ Popov, Dmitri (March 22, 2007). "VLC beyond the basics". Linux.com. The Linux Foundation. Archived from the original on July 9, 2016. Retrieved July 9, 2016. 
  42. ^ "Skins". VideoLAN. VideoLAN. Archived from the original on July 9, 2016. Retrieved July 9, 2016. 
  43. ^ "Documentation:Modules/ncurses". VideoLAN Wiki. VideoLAN. July 20, 2008. Archived from the original on July 9, 2016. Retrieved July 9, 2016. 
  44. ^ "Documentation:Modules/rc". VideoLAN Wiki. VideoLAN. December 13, 2008. Archived from the original on July 9, 2016. Retrieved July 9, 2016. 
  45. ^ "Console". VideoLAN Wiki. VideoLAN Wiki. February 26, 2008. Archived from the original on July 9, 2016. Retrieved July 9, 2016. 
  46. ^ "Documentation:Modules/http intf". VideoLAN Wiki. VideoLAN. July 1, 2014. Archived from the original on July 9, 2016. Retrieved July 9, 2016. 
  47. ^ "Interfaces". VideoLAN Wiki. VideoLAN. July 28, 2011. Archived from the original on July 9, 2016. Retrieved July 28, 2011. 
  48. ^ "Addons for VLC". www.vlc-addons.org. VideoLAN. January 10, 2013. Retrieved January 13, 2013. 
  49. ^ "Scripting VLC in lua". the videolan forums. VideoLAN. Retrieved January 13, 2013. 
  50. ^ Brad Chacos (October 10, 2012). "How to master VLC, the ultimate Windows media player for power users". Video players review & comments. PC World. Retrieved January 13, 2013. 
  51. ^ "VLC 2.0 and Windows 2000". VideoLAN Forums. VideoLAN. February 28, 2012. Retrieved January 12, 2013. 
  52. ^ "Download official VLC media player for Windows". Videolan.org. Retrieved June 19, 2013. 
  53. ^ "Beta for Windows 8 VLC app to be sent to Kickstarter backers this month". neowin.net. March 11, 2012. Retrieved April 15, 2013. 
  54. ^ Ian Paul (March 13, 2014) Hands-on with VLC's beta Metro app: Already better than Windows 8's Video app. PC World. IDG Consumer & SMB. Retrieved September 23, 2015.
  55. ^ "VLC media player for Android". VideoLAN. Retrieved May 6, 2012. 
  56. ^ "VLC for Android Finally Reaches Full, Stable Version". Lifehacker. December 8, 2014. Retrieved April 15, 2017. 
  57. ^ "libVLC". VideoLAN Wiki. September 9, 2010. Retrieved October 6, 2010. 
  58. ^ "Go binding Project". Github.com. August 25, 2010. Retrieved October 6, 2010. 
  59. ^ "Python bindings - VideoLAN Wiki". Wiki.videolan.org. September 30, 2010. Retrieved October 6, 2010. 
  60. ^ "Java binding Project". Wiki.videolan.org. January 25, 2010. Retrieved October 6, 2010. 
  61. ^ Anderson, Dean; Lamberson, Jim (2007). "Using VideoLan VLC in DirectShow". An open source bridge from VLC to DirectShow. Retrieved February 15, 2008. 
  62. ^ "libvlc for Delphi and FreePascal". Prog.olsztyn.pl. Retrieved May 22, 2011. 
  63. ^ "SubVersion commit r22943 in the Free Pascal repository". 
  64. ^ Larabel, Michael (November 5, 2013). "Phonon Now Supports Qt5, Likes VLC Over GStreamer". Phoronix. Phoronix. Archived from the original on July 10, 2016. Retrieved July 10, 2016. 
  65. ^ "Open Source Patches and Mirrored Packages". Google Code. Retrieved October 6, 2010. 
  66. ^ "VLC features list". VideoLAN Project. Retrieved February 24, 2007. 
  67. ^ "VLC 2.0.4 Twoflower". VideoLAN. Retrieved October 19, 2012. 
  68. ^ VideoLAN team. "VLC playback Features". Retrieved January 3, 2010. 
  69. ^ a b c "VLC 2.1.2 Rincewind". VideoLAN. Retrieved January 30, 2014. 
  70. ^ "VideoLAN - Frequently Asked Questions". VideoLAN. Retrieved March 24, 2012. 
  71. ^ "VideoLAN - Legal". VideoLAN. Retrieved March 24, 2012. 
  72. ^ a b Horton, Steve (July 17, 2009). "VLC Video Player's New DVD-Copying Feature Could Run Afoul of the MPAA". PCWorld. Retrieved November 12, 2010. 
  73. ^ "Rulemaking on Exemptions from Prohibition on Circumvention of Technological Measures that Control Access to Copyrighted Works". US Copyright Office. July 28, 2010. Retrieved November 14, 2010. 
  74. ^ von Lohmann, Fred (2005). "DMCA Triennial Rulemaking: Failing Consumers Completely". Electronic Frontier Foundation. Retrieved November 14, 2010. 

External links[edit]