finds.dev← search

// the find

mpv-android/mpv-android

★ 3,618 · Kotlin · MIT · updated Oct 2026

Video player for Android based on libmpv ↦ #mpv-android @ irc.libera.chat

A native Android video player built on libmpv, giving mobile users near-desktop mpv playback quality: hardware decoding, advanced scalers/debanding/interpolation, libass subtitle rendering, and dual subtitle tracks. It's for Android users who find ExoPlayer-based players (VLC, MX Player) lacking in format support or picture quality, not for developers wanting to embed a video engine in their own app.

Gets the full mpv/ffmpeg/libass/dav1d native stack cross-compiled for Android, which is genuinely hard and is the entire value of the project. Feature set goes beyond typical mobile players — gesture-based seek/volume/brightness, PiP, background audio playback, network stream URLs, dual subtitles. Shipped on both Play Store and F-Droid with Android TV support via sideload, and CI builds are green on master as of the last push.

Explicitly not usable as a library — the README tells you outright that if you want libmpv in your own app you're on your own and should treat this code as 'inspiration', which kills reuse for anyone hoping to embed it. The build is a pile of shell scripts in buildscripts/ compiling ffmpeg, libass, fribidi, harfbuzz, mbedtls, dav1d, libplacebo from source — there's no simple `./gradlew assembleDebug` path, and it's brittle against upstream library version bumps. Codebase mixes old Java (filepicker, dialog fragments) with newer Kotlin, so it reads like two eras of Android development stitched together. README is thin on architecture — anyone wanting to understand the JNI bridge (MPVLib/BaseMPVView/native code) has to go read the source directly, there's no written explanation of how the Kotlin-to-native calls are structured.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →