Jump to content

VLC media player

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Ben b (talk | contribs) at 06:41, 20 May 2012 (→‎Applications that use the VLC plugin: updated for accuracy). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

VLC media player
Developer(s)VideoLAN Project
Initial releaseFebruary 1, 2001; 23 years ago (2001-02-01)
Stable release
Windows, Linux, & macOS3.0.21[1] Edit this on Wikidata / 5 June 2024; 12 days ago (5 June 2024)
Android3.5.4[2] Edit this on Wikidata / 6 July 2023; 11 months ago (6 July 2023)
ChromeOS1.7.3[3] Edit this on Wikidata / 23 December 2015; 8 years ago (23 December 2015)
iOS, Apple TV3.5.7[4] Edit this on Wikidata / 18 March 2024; 2 months ago (18 March 2024)
Windows (UWP)3.1.2 / 20 July 2018; 5 years ago (2018-07-20)[5][6]
Windows Phone3.1.2 / 20 July 2018; 5 years ago (2018-07-20)[7]
Repository
Written inC, C++, Objective-C using Qt
Operating systemLinux, Windows, Mac OS X, FreeBSD, Syllable, OS/2, BeOS, QNX [8]
Available in53 languages [9]
TypeMedia player
LicenseGNU General Public License v2 or later and LGPL[10][11]
Websitewww.videolan.org/vlc

VLC media player (also known as VLC) is a highly portable free and open-source media player and streaming media server written by the VideoLAN project. It is a cross-platform media player, with versions for Microsoft Windows, Mac OS X, Linux, BeOS, MorphOS, BSD, Solaris, iOS, and eComStation.[12]

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 over computer network and to transcode multimedia files.[12]

VLC used to stand for VideoLAN Client, but since VLC is no longer simply a client, that initialism no longer applies.[13][14]

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. It also gained distinction as the first player to support playback of encrypted DVDs on Linux and Mac OS X by using the libdvdcss DVD decryption library.

History

The VideoLan project was originally started as an academic project in 1996. It was intended to consist of a client and server to stream videos across a campus network. VLC was the client for the VideoLAN project, with VLC standing for VideoLan Client. Originally developed by students at the École Centrale Paris, it is now developed by contributors worldwide and is coordinated by the VideoLAN non-profit organization.

Rewritten from scratch in 1998, it was released under the GPL on 1 February 2001. The functionality of the server program, VideoLan Server (VLS), has mostly been subsumed into VLC and has been deprecated.[15] The project name has been changed to VLC because 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.[16] The cone icon design was changed from a hand drawn low resolution icon[17] to a higher resolution CGI-rendered version in 2006, illustrated by Richard Øiestad.[18]

After 13 years of development, version 1.0.0 of VLC media player was released on July 7, 2009.[19]

The version 2.0.0 of VLC media player was released on February 18, 2012 [11][20]

VLC is second in the sourceforge.net overall download count.[21] VLC was available for the iPad, iPhone, and iPod Touch from the Apple AppStore, but was pulled due to a licensing conflict between the GPL and the iTunes Store agreement.[22]

Design principles

Interfaces

VLC pre-v0.9 wxWidgets user interface, running on KDE 3
VLC pre-v2.0 Cocoa user interface for Mac OS X
VLC with the popular eDark skin
VLC with the ncurses interface, running on Mac OS X

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 Mac OS X, and Be API on BeOS; but all give a similar standard interface. The old default GUI was based on wx on Windows and Linux.[23]

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.

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

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

Modular design

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

The VLC core creates dynamically its own graph of modules 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.

Features

VLC's right-click Menu on Linux (Kubuntu 10.04)

Because VLC is a packet-based media player, it can play the video content of some damaged, incomplete, or unfinished videos (for example, files still downloading via peer-to-peer (P2P) networks). 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 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 and open source 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. 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 in to 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.[25] 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.[26]

Use of VLC with other programs

API

libVLC
Developer(s)VideoLAN Project
Initial release1 February 2001
Repository
Written inC
Operating systemCross-platform
PlatformNative, .NET, Java, Python, Go, Qt, Cocoa[27]
Available inMultilingual
TypeMultimedia Library
LicenseGNU Lesser General Public License
Websitewiki.videolan.org/LibVLC Template:En icon

Several APIs can connect to VLC and use its functionality:

Browser plugins

On Windows, Linux, Mac, and some other Unix-like platforms, VLC provides an NPAPI plugin,[33] 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 web browser plugin before switching to use Adobe Flash.[34]

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

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.

Format support

Readable formats

VLC running under KDE

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

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,[36] ASF, AVI, DVR-MS, FLV, Matroska, Musical Instrument Digital Interface (.mid/.midi),[37] QuickTime, MP4, Ogg, OGM, WAV, MPEG-2 (ES, PS, TS, PVA, MP3), AIFF, Raw audio, Raw DV, MXF, VOB, RM.
Video formats
Cinepak, Dirac, DV, H.263, H.264/MPEG-4 AVC (both 8-bit and, as of Twoflower, 10-bit H.264), HuffYUV, Indeo 3,[38] MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, RealVideo 3&4,[39] Sorenson (thus enabling direct playback of the modified Sorenson H.263 encoded videos downloaded from YouTube), Theora, VC-1,[40] VP5,[40] VP6,[40] VP8, DNxHD, Prores and some WMV.
Subtitles
DVD, SVCD, DVB, OGM, SubStation Alpha, SubRip, Advanced SubStation Alpha, MPEG-4 Timed Text, Text file, VobSub, MPL2,[41] Teletext.[41]
Audio formats
[42] AAC, AC3, ALAC, AMR,[36] DTS, DV Audio, XM, FLAC, MACE, Mod, MP3, PLS, QCP, QDM2/QDMC, RealAudio,[43] Speex, Screamtracker 3/S3M, TTA, Vorbis, WavPack,[44] WMA (WMA 1/2, WMA 3 partially).[42]

Output formats for streaming/encoding

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

Container formats
ASF, AVI, FLV,[41] Fraps,[41] MP4, Ogg, WAV, MPEG-2 (ES, PS, TS, PVA, MP3), MPJPEG, FLAC, QuickTime, Matroska
Video formats
H.263, H.264/MPEG-4 AVC, MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, VP5,[40] VP6, VP8,[40] Theora, DV
Audio formats
AAC, AC3, DV Audio, FLAC, MP3,[45] Speex, Vorbis
Streaming protocols
UDP, HTTP, RTP, RTSP, MMS, file

Android support

As of May 2012, the VLC team states that a version of VLC for Android "is in development".[46] On 29 December 2011, Softpedia reported "Also important is the fact that almost every video filter can now be transcoded and it can be ported to mobile operating systems (Android and iOS) as well as 64-bit Windows."[47]

Despite no official version being yet available, a non-official Android build has been compiled by Austen Dicken, based on the "pre-alpha" source code of VLC for Android, by the VLC team.[48][49][50][51]

Legality

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.[52][53]

USA

At least one recent release of 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.[54] The unauthorized decryption of CSS-encrypted DVD content and/or the unauthorized distribution of CSS decryption tools may violate the US Digital Millennium Copyright Act,[54] although the 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 and/or commentary) under the Digital Millennium Copyright Act anticircumvention exemptions that were issued by the US Copyright Office in 2010.[55] (These exemptions do not change the DMCA's ban on the distribution of CSS decryption tools.)[56]

See also

Notes and references

  1. ^ "3.0.21". 5 June 2024. Retrieved 6 June 2024.
  2. ^ "3.5.4". 6 July 2023. Retrieved 31 October 2023.
  3. ^ "VLC - Chrome Web Store". 23 December 2015. Retrieved 4 April 2022.
  4. ^ https://apps.apple.com/us/app/vlc-media-player/id650377962. {{cite web}}: Missing or empty |title= (help)
  5. ^ "Official Download of VLC media player for Windows Store - VideoLAN". www.videolan.org. VideoLAN. 20 July 2018. Retrieved 7 August 2018.
  6. ^ "Get VLC - Microsoft Store". www.microsoft.com. VideoLAN. 20 July 2018. Retrieved 7 August 2018.
  7. ^ "Official Download of VLC media player for Windows Phone - VideoLAN". www.videolan.org. VideoLAN. 20 July 2018. Retrieved 7 August 2018.
  8. ^ "Official Downloads of VLC media player". Videolan.org. Retrieved 2012-01-02.
  9. ^ "VLC media player localization". Videolan.org. Retrieved 2012-01-06.
  10. ^ "Press Release on LGPL". VideoLAN. Retrieved 2012-02-22.
  11. ^ a b "VLC 2.0 Twoflower". VideoLAN. Retrieved 2012-02-22.
  12. ^ a b "VLC playback Features". VideoLAN. Retrieved 2010-05-11. Cite error: The named reference "playback_features" was defined multiple times with different content (see the help page).
  13. ^ Jean-Baptiste Kempf (November 23, 2006). "VLC Name". Yet another blog for JBKempf. Retrieved 2007-02-24.
  14. ^ VideoLAN Team. "Intellectual Properties". VideoLAN Wiki. Retrieved 2007-07-30.
  15. ^ "The streaming solution". VideoLAN. Retrieved 2009-03-08.
  16. ^ Jon Lech Johansen (2005-06-23). "VLC cone". So sue me: Jon Lech Johansen’s blog. Retrieved 2007-02-24.
  17. ^ "vlc48x48.png" (PNG). VideoLAN Project. Retrieved 2010-03-15.
  18. ^ "vlc48x48.png" (PNG). VideoLAN Project. Retrieved 2010-03-15.
  19. ^ "VLC 1.0 officially released after more than 10 years of work". Retrieved 2009-07-07.
  20. ^ "Une nouvelle version du lecteur multimédia VLC, dix ans après sa création". LeMonde.fr. Retrieved 2012-02-22.
  21. ^ "Top Project Listings". SourceForge.net. Retrieved 2012-01-02.
  22. ^ "Apple pulls VLC media player from the App Store". MacNN. 2011-01-07. Retrieved 3 June 2011.
  23. ^ Jean-Baptiste Kempf (February 10, 2007). "Qt4 Interface". Yet another blog for JBKempf. Retrieved 2007-03-07.
  24. ^ "VLC media player List of modules". VLC media player trac system.
  25. ^ Addons for VLC. Retrieved on 2011-22-5.
  26. ^ A. Ayesha (2011-04-11). "25 things you can do with VLC Media player!". Unixmen. Unixmen.com. Retrieved 2012-02-23.
  27. ^ "libVLC - VideoLAN Wiki". Wiki.videolan.org. 2010-09-09. Retrieved 2010-10-06.
  28. ^ "Go binding Project". Github.com. 2010-08-25. Retrieved 2010-10-06.
  29. ^ "Python bindings - VideoLAN Wiki". Wiki.videolan.org. 2010-09-30. Retrieved 2010-10-06.
  30. ^ "Java binding Project". Wiki.videolan.org. 2010-01-25. Retrieved 2010-10-06.
  31. ^ Anderson, Dean (2007). "Using VideoLan VLC in DirectShow". An open source bridge from VLC to DirectShow. Retrieved 2008-02-15. {{cite web}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  32. ^ Prog.olsztyn.pl libvlc for Delphi and FreePascal. Retrieved on 2011-05-22.
  33. ^ "Chapter 4. Advanced use of VLC". Videolan.org. Retrieved 2010-10-06.
  34. ^ "Open Source Patches and Mirrored Packages - Google Code". Code.google.com. Retrieved 2010-10-06.
  35. ^ "VLC features list". VideoLAN Project. Retrieved 2007-02-24.
  36. ^ 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.
  37. ^ This feature needs sound fonts and might not work on every OS
  38. ^ Indeo 4 and 5 codecs are not supported
  39. ^ from 0.9.9 and over
  40. ^ a b c d e This is from the 0.8.6 version.
  41. ^ a b c d This is present in 0.9.0 and newer version.
  42. ^ a b VideoLAN team. "VLC playback Features". Retrieved 2010-01-03.
  43. ^ Real Audio playback is provided through the FFmpeg library which only supports the Cook (RealAudio G2 / RealAudio 8) decoder at the moment.
  44. ^ As of 2010, only supported in mono and stereo, so no multichannel support.
  45. ^ VLC must be compiled with mp3lame support
  46. ^ "VLC media player for Android". VideoLAN. Retrieved 2012-05-06.
  47. ^ "VLC 1.2.0 pre-release is out, with partial support for Blu-rays". News.softpedia.com. 2011-12-29. Retrieved 2012-01-02.
  48. ^ "VideoLAN for Android (pre-alpha)". Cvpcs.org. 2011-09-26. Retrieved 2012-01-02.
  49. ^ "VLC Media Player for Android is almost a reality". Geek.com. 2011-09-26. Retrieved 2012-01-02.
  50. ^ "Unofficial VLC Player for Android "pre-Apha" released". Zeropaid.com. 2011-09-26. Retrieved 2012-01-02.
  51. ^ "Download VLC for Android... sort of". Gizmodo.com. 2011-09-23. Retrieved 2012-01-02.
  52. ^ "VideoLAN - Frequently Asked Questions". VideoLAN. Retrieved 2012-03-24.
  53. ^ "VideoLAN - Legal". VideoLAN. Retrieved 2012-03-24.
  54. ^ 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.
  55. ^ "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.
  56. ^ von Lohmann, Fred (2005). "DMCA Triennial Rulemaking: Failing Consumers Completely". Electronic Frontier Foundation. Retrieved 2010-11-14.

External links