Build a custom media player application by embedding libVLC into your own software.
Convert or encode video and audio streams between different formats and codecs.
Create a streaming server that can retransmit media in multiple formats to different clients.
Play media files from local storage, optical discs, or streaming sources in your application.
Building from source requires platform-specific toolchains (Xcode for macOS/iOS, NDK for Android, MSVC for Windows) and multiple dependencies; pre-built binaries may be easier for testing.
This repository is the source code for VLC, a free and open source media player and multimedia engine. VLC can play nearly any type of media file, disc, or streaming source, and can also convert, encode, and retransmit streams in many formats. The project runs on a wide range of operating systems including Windows, macOS, Linux, BSD variants, Android, and iOS. Beyond the standalone media player application, VLC's underlying engine (called libVLC) can be embedded into third-party applications. libVLC is licensed separately under the LGPL, which allows other software to incorporate it without being required to adopt the GPL license that covers VLC as a whole. The readme notes that contributions must be submitted as merge requests on the project's own GitLab instance rather than as GitHub pull requests, which are not reviewed here. The project is maintained by a volunteer community, and development, bug tracking, and code review all happen on the team's own infrastructure. The codebase is primarily written in C, with significant portions in C++, Objective-C, assembly, and Rust.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.