vlc
VLC media player - plays everything, runs anywhere. Code here: https://code.videolan.org/videolan/vlc
The source code for VLC, a free media player that plays almost any video or audio file, disc, or stream, and can also convert and retransmit media in many formats.
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.
Where it fits
- Embed libVLC into a desktop or mobile application to give it the ability to play any media format.
- Build a custom media player for Windows, macOS, Linux, Android, or iOS using VLC's underlying engine.
- Set up a media transcoding or re-streaming pipeline using VLC's command-line interface.