VLC for Android is a media player application that brings the VLC engine to Android, Android TV, and ChromeOS devices.
The project solves the problem of playing diverse media formats and streaming protocols on Android by embedding LibVLC, a multimedia library that handles codec decoding, network browsing, and advanced playback features. LibVLC provides hardware-accelerated decoding up to 8K resolution, support for physical media like DVDs and Blu-rays with menu navigation, HDR and tonemapping capabilities, audio passthrough via SPDIF and HDMI for high-definition codecs, and specialized playback modes including 360-degree video and 3D audio with Ambisonics support. The application maintains a media database for organizing audio and video files and streams, and can cast content to remote renderers like Chromecast and UPnP devices.
Developers should choose this tool if they need a fully-featured media player for Android that handles virtually any codec or streaming protocol. The project is suitable for applications requiring comprehensive multimedia support with advanced features like network browsing across SMB, FTP, SFTP, NFS, UPnP, and DLNA servers. LibVLC is also available as a standalone Android library module that developers can integrate into their own media player applications by downloading the AAR package from Maven or building from source. The project provides sample code to guide integration.
The project maintains active development with regular updates to both the application and underlying LibVLC engine. Build infrastructure supports multiple modes including development builds that compile LibVLC and Medialibrary from source alongside the application, while release builds fetch pre-built native libraries from package repositories. The codebase is organized into distinct modules for the application, LibVLC, Medialibrary, build system, and an extension API, allowing modular development and reuse of components.