mpv
Original author(s)MPlayer and mplayer2 developers
Developer(s)Community
Initial releaseAugust 7, 2013; 10 years ago (2013-08-07)[1]
Repository
Written inC, Objective-C, Lua[2]
Engine
  • FFmpeg
Edit this at Wikidata
Operating systemBSD, Linux, macOS, Windows
PlatformARM, PowerPC, x86 / IA-32, x86-64, and MIPS architecture[3]
SizeSource code: 2.9 MB (tar.gz)
TypeMedia player
LicenseGPLv2+, parts under LGPLv2.1+, some optional parts under GPLv3[4]
Websitempv.io Edit this at Wikidata

mpv is media player software, based on MPlayer and mplayer2. It is free and open-source software released under a mix of licenses including GNU General Public License version 2 or later (GPLv2+), with parts under GNU Lesser Public License version 2.1 or later (LGPLv2.1+), and some optional parts under GNU General Public License version 3 (GPLv3).

It runs on several operating systems, including the Unix-like variants Berkeley Software Distribution (BSD), Linux, and macOS, and on the non-Unix Windows. It is cross-platform, running on ARM, PowerPC, x86 / IA-32, x86-64, and MIPS architecture.[3]

History

mpv was forked in 2012 from mplayer2, which was forked in 2010 from MPlayer.[5] The motive for the fork was to encourage developer activity by removing unmaintainable code and dropping support for very old systems. As a result, the project had a large influx of contributions.[6]

Since June 2015, the project's source code is in the process of being relicensed from GNU General Public License version 2 (GPLv2) or later to GNU Lesser General Public License version 2.1 (LGPLv2.1) or later to allow using mpv as a library in more applications.[7]

Changes from MPlayer

mpv had several notable changes since it was forked from MPlayer, the most user visible being the addition of an on-screen-controller (OSC) minimal GUI integrated with mpv to offer basic mouse-controllability. This was intended to make interaction easier for new users and to enable precise and direct seeking.

Video websites
Through youtube-dl, mpv natively supports playback of high-definition video (HD) content on YouTube and over 300 other supported sites.[8] This allows mpv to replace site-specific video players based on Adobe Flash or HTML5.
High quality video output
mpv includes a customizable video output driver based on OpenGL as well as the new Vulkan API, which supports over 100 options for controlling playback quality, including the use of advanced upscaling filters, color management, and customizable pixel shaders.[9]
Improved client API
Beyond working as a stand-alone media player, mpv is designed to be used directly by other applications through a library interface called libmpv. This required making all mpv code thread safe. An example of an application which uses libmpv is Plex.[10] This form of player control, along with a JSON IPC mechanism, replaces MPlayer's "slave mode".
Encoding subsystem
mpv includes a new video encoding mode that can be used to save files being played under different formats. This allows mpv to work as a transcoder, supporting many video formats.[11] This feature serves as a direct replacement for the MEncoder component of MPlayer, which was a separate program rather than being built into the player.
Lua scripting
mpv's behavior and functions are customizable via use of small programs written in the Lua scripting language, which can be used for tasks like cropping video, providing a graphical user interface (GUI) or automatically adjusting the display's refresh rate.[12]

Front-ends

Several front-ends use mpv, including:[13]

See also

References

  1. ^ wm4 (2013-08-07). "Release 0.1". MPV.((cite web)): CS1 maint: numeric names: authors list (link)
  2. ^ "mpv-player", Analysis Summary, Open Hub, retrieved 2016-08-11
  3. ^ a b Debian - Details of package mpv
  4. ^ "Copyright". mpv. Retrieved 2015-03-21.
  5. ^ "MPV, A New Fork Of MPlayer/MPlayer2". Phoronix. Retrieved 2015-01-28.
  6. ^ "Contributors to mpv-player/mpv". Retrieved 2016-03-21.
  7. ^ wm4. "LGPL relicensing (#2033)". mpv-player/mpv (source code repository). GitHub. Archived from the original on 2017-09-14. Retrieved 2017-09-14. ... GPL-incompatible dependencies such as OpenSSL are a big issue for library users, even if the library user is ok with the GPL. ... ((cite web)): Unknown parameter |dead-url= ignored (|url-status= suggested) (help)CS1 maint: numeric names: authors list (link)
  8. ^ "youtube-dl: Supported sites". Retrieved 2016-03-21.
  9. ^ "mpv manual (opengl video output driver section)". Retrieved 2016-03-21.
  10. ^ "Introducing the Plex Media Player". Retrieved 2015-03-21.
  11. ^ "mpv manual (encoding section)". Retrieved 2016-03-21.
  12. ^ "User Scripts - mpv-player/mpv Wiki". Retrieved 2016-03-21.
  13. ^ https://github.com/mpv-player/mpv/wiki/Applications-using-mpv#gui-frontends
  14. ^ Baka MPlayer
  15. ^ GNOME MPV
  16. ^ "bomi project page". bomi-player.github.io. Retrieved 2017-02-20.
  17. ^ "IINA Project Page". lhc70000.github.io/iina. Retrieved 2017-02-20.