Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

mpv-player/mpv

Media & Design

A free command-line media player for Linux, Windows, and macOS, supporting a wide range of codecs and subtitle formats.

Best position on GitHub Trending (daily): #4. Click to get this badge for your README
37,871
3,632
C
NOASSERTION
14 years old

Overview

mpv is a free media player built around a command-line interface. It plays a wide range of media containers, audio and video codecs, and subtitle formats, and it is derived from the MPlayer/mplayer2 codebase (README). Its main audience is users who prefer keyboard-driven playback, scripting, and configuration over a traditional GUI, plus developers who embed libmpv in their own applications. A Lua-based on-screen controller and youtube-dl integration are available, with Lua required for both (compilation notes).

Getting started

Packaged builds are the normal entry point. Semi-official builds and third-party packages are listed on the installation page. For a supported platform, install the package, then open a file from the terminal:

mpv video.mkv

Playback starts in its own window; keyboard shortcuts control playback, seeking, subtitles, and audio tracks. For display, sound-device, and playback behavior, consult the manual.

To build from source, install Meson and the development libraries (FFmpeg libraries, libass, libplacebo, zlib, and platform-specific graphics/audio headers), then run (build instructions):

meson setup build
meson compile -C build
meson install -C build

Full-feature builds need a long dependency list; the mpv-build wrapper compiles FFmpeg and libass first. Windows-specific steps are documented separately (Windows compilation).

System requirements and limits

Supported systems are current Linux distributions, Windows 10 1607 or later, and macOS 10.15 or later. A reasonably capable CPU and GPU are expected: hardware decoding is off by default and must be enabled with --hwdec, and low-power GPUs may show tearing or stutter, where --profile=fast is suggested (system requirements). Older hardware and unsupported operating systems are not deliberately broken but are not guaranteed to work.

Releases are cut roughly once or twice a year and only the latest release is supported; distributions are expected to patch bugs themselves (release policy). Default licensing is GPLv2 or later; building with -Dgpl=false yields LGPLv2.1 or later (license details).

HotRepo's take

On the 2026-11-06 all-language daily GitHub ranking, mpv reached position 4 while adding 36 stars that day, a sign that a long-established command-line player still draws daily attention. The strongest reader discussion came from the January 2022 Hacker News thread "Command Line Video Player," where users described using mpv for multi-display and multi-audio setups via shell aliases and cheap wireless keyboards (trabant00), and one user reported switching from VLC on macOS after audio-lag and crash issues and finding mpv stable (pdimitar). Those are individual experiences from older versions, not endorsements of current builds. The thread also shows the wider ecosystem: IINA on macOS (guessmyname) and GUI frontends such as mpv.net on Windows (Ezhik), which matters for users who want mpv's engine without learning its configuration language.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News

Command Line Video Player
▲ 93 · 34 comments · January 9, 2022
Stream_libarchive: workaround various types of locale braindeath
▲ 26 · 5 comments · November 12, 2017
mpv 0.30.0 released
▲ 7 · 0 comments · October 25, 2019