Skip to content
Snippets Groups Projects
README.md 5.65 KiB
Newer Older
# VLC media player

**VLC** is a libre and open source **media player** and **multimedia engine**,
focused on **playing everything**, and **running everywhere**.

Ashutosh Verma's avatar
Ashutosh Verma committed
**VLC** can play most multimedia files, discs, streams, devices and is also able to
convert, encode, **stream** and manipulate streams into numerous formats.

VLC is used by many over the world, on numerous platforms, for very different use cases.

Ashutosh Verma's avatar
Ashutosh Verma committed
The **engine of VLC** can be embedded into 3rd party applications, and is called *libVLC*.

**VLC** is part of the [VideoLAN project](https://videolan.org) and
is developed and supported by a community of volunteers.

The VideoLAN project was started at the university [École Centrale Paris](https://www.centralesupelec.fr/) who
relicensed VLC under the GPLv2 license in February 2001. Since then, VLC has
Ashutosh Verma's avatar
Ashutosh Verma committed
been downloaded **billions** of times.

## License

**VLC** is released under the GPLv2 *(or later)* license.
Ashutosh Verma's avatar
Ashutosh Verma committed
*On some platforms, it is de facto GPLv3, because of the licenses of dependencies*.

**libVLC**, the engine is released under the LGPLv2 *(or later)* license. \
This allows embedding the engine in 3rd party applications, while letting them to be licensed under other licenses.

# Platforms

Ashutosh Verma's avatar
Ashutosh Verma committed
VLC is available for the following platforms:
- [Windows] *(from 7 and later, including UWP platforms and all versions of Windows 10)*
- [macOS] *(10.10 and later)*
- [GNU/Linux] and affiliated
- [BSD] and affiliated
Ashutosh Verma's avatar
Ashutosh Verma committed
- [Android] *(4.2 and later)*, including Android TV and Android Auto
- [iOS] *(9 and later)*, including AppleTV and iPadOS
- Haiku, OS/2 and a few others.

Ashutosh Verma's avatar
Ashutosh Verma committed
[Windows]: https://www.videolan.org/vlc/download-windows.html
[macOS]: https://www.videolan.org/vlc/download-macosx.html
[GNU/Linux]: https://www.videolan.org/vlc/#download
[BSD]: https://www.videolan.org/vlc/download-freebsd.html
Ashutosh Verma's avatar
Ashutosh Verma committed
[Android]: https://www.videolan.org/vlc/download-android.html
[iOS]: https://www.videolan.org/vlc/download-ios.html

Not all platforms receive the same amount of care, due to our limited resources.

Ashutosh Verma's avatar
Ashutosh Verma committed
**Nota Bene**: The [Android app](https://code.videolan.org/videolan/vlc-android/) and
the [iOS app](https://code.videolan.org/videolan/vlc-ios/) are located in different repositories
than the main one.

# Contributing & Community

**VLC** is maintained by a community of people, and VideoLAN is not paying any of them.\
The community is composed of developers, helpers, maintainers, designers and writers that want
Ashutosh Verma's avatar
Ashutosh Verma committed
this open source project to thrive.
Ashutosh Verma's avatar
Ashutosh Verma committed
The main development of VLC is done in the C language, but this repository also contains
plenty of C++, Obj-C, asm and Rust.
Ashutosh Verma's avatar
Ashutosh Verma committed
Other repositories linked to vlc are done in languages including Kotlin/Java [(Android)](https://code.videolan.org/videolan/vlc-android/),
Swift [(iOS)](https://code.videolan.org/videolan/vlc-ios/), and C# [(libVLCSharp)](https://code.videolan.org/videolan/libvlcsharp/).
Ashutosh Verma's avatar
Ashutosh Verma committed
We need help with the following tasks:
- Coding
- Packaging for Windows, macOS and Linux distributions
- Technical writing for the documentation
- Design
- Support
- Community management and communication.
Ashutosh Verma's avatar
Ashutosh Verma committed
Please contribute :)

We are on IRC. You can find us on the **#videolan** channel on *[Libera.chat]*.
Ashutosh Verma's avatar
Ashutosh Verma committed
[Libera.chat]: https://libera.chat

## Contributions

Ashutosh Verma's avatar
Ashutosh Verma committed
Contributions are now done through Merge Requests on our [GitLab repository](https://code.videolan.org/videolan/vlc/).
Ashutosh Verma's avatar
Ashutosh Verma committed
CI and discussions should be resolved before a Merge Request can be merged.

# libVLC

**libVLC** is an embeddable engine for 3rd party applications and frameworks.

Ashutosh Verma's avatar
Ashutosh Verma committed
It runs on the same platforms as VLC *(and sometimes on more)* and can provide playback,
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
streaming and conversion of multimedia files and streams.
Ashutosh Verma's avatar
Ashutosh Verma committed

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
**libVLC** has numerous bindings for other languages, such as C++, Python and C#.
Ashutosh Verma's avatar
Ashutosh Verma committed
Some useful links that might help you:
- [VLC web site](https://www.videolan.org/vlc/)
- [Support](https://www.videolan.org/support/)
- [Forums](https://forum.videolan.org/)
- [Wiki](https://wiki.videolan.org/)
Ashutosh Verma's avatar
Ashutosh Verma committed
- [Developer's Corner](https://wiki.videolan.org/Developers_Corner)
- [VLC hacking guide](https://wiki.videolan.org/Hacker_Guide)
- [Bugtracker](https://code.videolan.org/videolan/vlc/-/issues)
Ashutosh Verma's avatar
Ashutosh Verma committed
- [VideoLAN web site](https://www.videolan.org/)

## Source Code sitemap
```
ABOUT-NLS          - Notes on the Free Translation Project.
AUTHORS            - VLC authors.
COPYING            - The GPL license.
COPYING.LIB        - The LGPL license.
INSTALL            - Installation and building instructions.
NEWS               - Important modifications between the releases.
Ashutosh Verma's avatar
Ashutosh Verma committed
README             - Project summary.
THANKS             - VLC contributors.

bin/               - VLC binaries.
bindings/          - libVLC bindings to other languages.
compat/            - compatibility library for operating systems missing
                     essential functionalities.
contrib/           - Facilities for retrieving external libraries and building
                     them for systems that don't have the right versions.
doc/               - Miscellaneous documentation.
extras/analyser    - Code analyser and editor specific files.
Ashutosh Verma's avatar
Ashutosh Verma committed
extras/buildsystem - Different build system specific files.
extras/misc        - Files that don't fit in the other extras/ categories.
extras/package     - VLC packaging specific files such as spec files.
extras/tools/      - Facilities for retrieving external building tools needed
                     for systems that don't have the right versions.
include/           - Header files.
lib/               - libVLC source code.
modules/           - VLC plugins and modules. Most of the code is here.
po/                - VLC translations.
Ashutosh Verma's avatar
Ashutosh Verma committed
share/             - Common resource files.
src/               - libvlccore source code.
Ashutosh Verma's avatar
Ashutosh Verma committed
test/              - Testing system.