finds.dev← search

// the find

mpv-player/mpv

★ 36,219 · C · NOASSERTION · updated Jul 2026

🎥 Command line media player

mpv is a command-line video player descended from MPlayer, built on top of FFmpeg and libplacebo. It sits in a narrow category: more capable than VLC for power users but not a GUI application, making it the go-to for scripting, home theater setups, and anyone who wants precise control over decoding and rendering. The libmpv C API also makes it a useful embedding target for frontend apps.

The shader-based video pipeline via libplacebo gives you genuinely good upscaling (ewa_lanczossharp, etc.) that consumer players don't bother with. The IPC socket and JSON protocol let you control a running instance programmatically, which is what makes it composable in scripts and external frontends. The Lua/JavaScript scripting layer exposes nearly the full property tree at runtime — you can write a plugin that responds to playback events without touching C. Hardware decoding support across VAAPI, NVDEC, D3D11VA, and VideoToolbox is all there and works, even if you have to opt in with --hwdec.

The release model is honest-but-rough: one or two releases a year, no backport fixes, distributions are expected to patch it themselves. If you're packaging this for anything production, you're effectively on your own between tags. Building from source on anything other than a mainstream Linux distro is a dependency management exercise — FFmpeg, libplacebo, libass all need to be at specific minimum versions, and the meson subproject workaround for libplacebo is a footgun if you don't read the docs first. Hardware decoding is opt-in and not the default, which surprises people on lower-power machines who assume the player will use the GPU. The Windows experience is second-class: no first-party installer, the best builds come from third-party packagers, and the GPU driver sensitivity note in the README is doing a lot of work.

View on GitHub → Homepage ↗

// 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 →