Analysis updated 2026-07-03
Embed LibVLC in your own Android app as a Maven dependency to play virtually any video or audio format with hardware decoding support.
Build the full VLC for Android app from source to add custom features or test on a specific Android version or device type.
Stream media from a home NAS directly on an Android device over SMB, FTP, or NFS without copying files locally.
| videolan/vlc-android | jetbrains/intellij-platform-plugin-template | git-xuhao/kotlinmvp | |
|---|---|---|---|
| Stars | 3,726 | 3,733 | 3,709 |
| Language | Kotlin | Kotlin | Kotlin |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 4/5 | 3/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Standard app build is straightforward, a full native build requires a Linux machine with Android SDK, NDK, and several system dependencies.
This is the official Android version of VLC, the widely used open-source media player. VLC for Android is maintained by the VideoLAN organization and supports the same broad range of file formats as the desktop version of VLC, along with a media database for organizing audio and video files and streams on the device. At the core of the Android app is LibVLC, a library that bundles the VLC playback engine for use on Android. LibVLC handles format compatibility, hardware decoding, and network features. It can play files up to 8K resolution, supports streaming protocols including SMB, FTP, SFTP, and NFS for browsing network shares, and can play physical media like DVDs and Blu-rays including their menu systems. Audio features include HD audio passthrough formats (Dolby TrueHD, DTS-HD, and others), and the library also supports 360-degree video and 3D audio. LibVLC is also available as a standalone Android library that developers can use to add media playback to their own apps, distributed through Maven. The project is structured into several modules: the main Android application code, the LibVLC module that wraps the VLC engine, a medialibrary module for the media database, and build scripts for CI and packaging. The app targets Android, Android TV, and ChromeOS. Building the application can be done at different levels. A standard build pulls precompiled native libraries from a package repository and only compiles the application code. A full build compiles LibVLC from source, which requires a Linux environment with specific dependencies and the Android SDK and NDK installed. Instructions are in the README and the VideoLAN wiki. Code contributions are accepted through the project's GitLab instance, not GitHub. Translation contributions go through Transifex. The app is licensed under GPLv2 or later, and LibVLC is licensed under LGPLv2. Bug reports and feature requests are tracked on the VideoLAN GitLab issue tracker.
The official VLC media player for Android, supporting a huge range of video and audio formats, network streaming over SMB/FTP/NFS, hardware decoding up to 8K, Blu-ray menus, and HD audio, plus a standalone LibVLC SDK developers can embed in their own apps.
Mainly Kotlin. The stack also includes Kotlin, Android, C++.
The app is GPLv2 or later (modifications must stay open source), LibVLC is LGPLv2 (can be linked into other apps, including proprietary ones, under certain conditions).
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.