VLC: the ultimate media player
  • C 61.4%
  • C++ 18.7%
  • Objective-C 8.9%
  • QML 3.5%
  • Makefile 1.6%
  • Other 5.8%
Find a file
Steve Lhomme da5f6609c2 contrib: mysofa: upgrade to a version with a proper libmysofa.pc
And patch it to use dependencies as static libraries (like zlib).

It's not the most recent builds as new versions tripled the tarball size to 200MB+.
2026-04-11 16:21:33 +00:00
autotools gettext: update to 0.21 2022-01-22 08:24:11 +00:00
bin meson: install helpers into pkg specific libexec directory 2026-02-13 14:14:57 +00:00
buildsystem cargo-test.py: integrate vlcrs-core tests with libvlccore linking 2026-04-04 18:17:50 +02:00
compat meson: add compat tests 2025-02-25 07:26:09 +00:00
contrib contrib: mysofa: upgrade to a version with a proper libmysofa.pc 2026-04-11 16:21:33 +00:00
doc doc: rust.md: update automake integration for plugins 2026-04-03 05:35:39 +00:00
extras package: win32: fix documentation of -S option 2026-04-05 11:50:44 +02:00
include lib: fix wrong event field name in renderer_discoverer doc 2026-04-10 06:08:12 +00:00
lib lib: init count to 0 in libvlc_media_tracklist_from_player 2026-04-11 01:55:47 +00:00
m4 switch to C17 2024-02-06 08:32:48 +00:00
modules demux: ts: check block skip size 2026-04-11 13:20:21 +00:00
po qt: add plural support for QML qsTr 2026-03-15 04:32:48 +00:00
share Lua SD: fix error "attempt to assign to const variable '_'" 2026-04-01 05:33:09 +00:00
src epg: use vlc_alloc 2026-04-10 03:42:40 +00:00
test demux-run: don't use the stream as the parent of local es_out 2026-04-03 10:46:58 +00:00
.gitignore .gitignore: ignore Apple static-lib directory 2026-02-04 20:19:36 +00:00
.mailmap mailmap: unify my addresses 2018-09-24 22:19:05 +03:00
AUTHORS Add SRT listener mode to SRT input access module 2025-11-27 10:58:09 +00:00
bootstrap bootstrap: use our config.guess to reconf VLC 2024-06-25 09:15:01 +02:00
Cargo.toml Cargo.toml: exclude contrib from workspace 2025-05-28 13:53:05 +00:00
config.h.meson meson: add a global define to notify process.c is compiled 2026-02-18 08:53:54 +00:00
configure.ac configure.ac: add autoconf define for partial linking 2026-04-03 05:35:39 +00:00
COPYING COPYING.*: Use full versions of licenses. 2012-02-14 17:40:06 +04:00
COPYING.LIB COPYING.*: Use full versions of licenses. 2012-02-14 17:40:06 +04:00
INSTALL INSTALL: reconcile compiler req with NEWS 2022-03-27 14:28:17 +00:00
make-alias
Makefile.am Makefile.am: remove trailing characters 2026-04-03 05:35:39 +00:00
meson.build meson.build: fix bison_gen undefined variable 2026-04-09 13:55:53 +00:00
meson_options.txt codec: remove schroedinger 2026-01-29 18:17:12 +00:00
NEWS NEWS: Update minimum supported macOS version 2026-02-06 18:54:19 +00:00
README.md add link to VLC for BSD in the README.md file 2023-02-06 06:32:07 +00:00
rust-toolchain.toml rustup: select nightly toolchain 2024-12-07 19:31:39 +00:00
THANKS THANKS: Updated a few copyright dates 2017-02-01 22:02:59 +01:00

VLC media player

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

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.

The engine of VLC can be embedded into 3rd party applications, and is called libVLC.

VLC is part of the VideoLAN project and is developed and supported by a community of volunteers.

The VideoLAN project was started at the university École Centrale Paris who relicensed VLC under the GPLv2 license in February 2001. Since then, VLC has been downloaded billions of times.

License

VLC is released under the GPLv2 (or later) license. 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

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

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

Nota Bene: The Android app and the iOS app 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 this open source project to thrive.

The main development of VLC is done in the C language, but this repository also contains plenty of C++, Obj-C, asm and Rust.

Other repositories linked to vlc are done in languages including Kotlin/Java (Android), Swift (iOS), and C# (libVLCSharp).

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.

Please contribute :)

We are on IRC. You can find us on the #videolan channel on Libera.chat.

Contributions

Contributions are now done through Merge Requests on our GitLab repository.

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.

It runs on the same platforms as VLC (and sometimes on more) and can provide playback, streaming and conversion of multimedia files and streams.

libVLC has numerous bindings for other languages, such as C++, Python and C#.

Support

Some useful links that might help you:

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.
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.
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.
share/             - Common resource files.
src/               - libvlccore source code.
test/              - Testing system.