| mpv | |
|---|---|
| Original authors | Vincent "wm4" Lang, MPlayer and mplayer2 developers |
| Developers | Andrei Alexeyev and 23 others |
| Release | August 7, 2013 |
| Stable release | |
| Written in | C, Objective-C, Lua |
| Engine |
|
| Operating system | BSD-based, Linux, macOS, Windows |
| Platform | ARM, MIPS, PowerPC, RISC-V, s390x, IA-32 ("i386"), and x86-64 ("AMD64") |
| Size | 33.6 – 68.2 MB as of v0.41.0 |
| Type | Video player |
| License | GPLv2+, parts under LGPLv2.1+, some optional parts under GPLv3 |
| Website | mpv |
| Repository | |
| As of | July 2026 |
mpv is a free and open-source video player that runs on Linux, BSD-based, macOS, and Microsoft Windows, and has an unofficial Android port called mpv-android. Forked from mplayer2 in 2012, mpv is mainly a command-line app. This makes the player ideal for integration into other apps. The app's LGPLv2.1+ license agreement further facilitates embedding.
Because of its focus, as of version 0.41.0, mpv's GUI is extremely limited; it does not feature an "Open..." dialog box for finding and opening media. This has led to its proponents developing a large host of graphical front-ends for it.
In 2012, Vincent "wm4" Lang forked mpv from mplayer2 (which was forked in 2010 from MPlayer) to encourage developer activity by removing unmaintainable code and dropping support for very old systems. As a result, the project received a large influx of contributions.
In June 2015, the project began relicensing its source code from GNU General Public License version 2 or later (GPLv2+) to GNU Lesser General Public License version 2.1 or later (LGPLv2.1+) to facilitate integrating mpv into other apps.
mpv has had several notable changes since it was forked from MPlayer; the most obvious is the addition of a minimal on-screen controller (OSC) to offer basic mouse interactions. This was intended to make interaction easier for new users and to enable precise and direct seeking.
Other notable changes include the following.
scaletempo (inherited from MPlayer), rubberband, and scaletempo2 (default). The latter is an implementation of Chromium's Waveform Similarity Overlap-and-add (WSOLA) algorithm, which improves smoothness over the other two.libmpv. This requires mpv code to remain thread-safe. This form of player control, along with a JSON IPC mechanism, replaces MPlayer's "slave mode".Like the original MPlayer, mpv is primarily a command-line application. It adds a basic on-screen controller (OSC) to permit limited mouse control, but OSC is not a full-featured GUI. Numerous graphical front-ends for mpv are available, which use GUI widgets for Qt, GTK, or other toolkits to provide a more complete UI.

The following are some open source front-ends of mpv (based on "libmpv" or the command-line version of mpv) which try to provide more features and a more user-friendly interface than mpv, and/or better integration with various operating systems or desktop environments.
imgui interface library. It includes a context menu and command palette to interact with the player.Subtitle Edit is a captioning app that integrates mpv into its user interface.
... GPL-incompatible dependencies such as OpenSSL are a big issue for library users, even if the library user is ok with the GPL. ...