mpv (media player)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
mpv
Mpv icon.png
mpv playing Big Buck Bunny.
mpv playing Big Buck Bunny.
Original author(s) MPlayer and mplayer2 developers
Developer(s) Community
Initial release August 7, 2013; 3 years ago (2013-08-07)[1]
Stable release 0.25.0 (April 22, 2017; 2 months ago (2017-04-22)[2]) [±]
Repository github.com/mpv-player/mpv
Development status Active
Written in C, Objective-C, Lua[3]
Operating system BSD, Linux, OS X, Windows
Platform ARM, PowerPC, x86 / IA-32, x86-64, and MIPS architecture[4]
Size Source code: 2.6 MB (tar.gz)
Type Media player
License GPLv2+, parts under LGPLv2.1+, some optional parts under GPLv3[5]
Website mpv.io

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 plus (GPLv2+), with parts under GNU Lesser Public License version 2.1 plus (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 OS X, and on the non-Unix Windows. It is cross-platform, running on ARM, PowerPC, x86 / IA-32, x86-64, and MIPS architecture.[4]

History[edit]

mpv was forked in 2012 from mplayer2, which was forked in 2010 from MPlayer.[6] 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.[7]

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

Changes from MPlayer[edit]

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.[9] 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 which supports over 100 options for controlling playback quality, including the use of advanced upscaling filters, color management, and customizable pixel shaders.[10]

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.[11] 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.[12] 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.[13]

Front-ends[edit]

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

  • Baka MPlayer, a qt5-based front-end[15]
  • GNOME MPV, a simple GTK+ front-end[16]
  • SMPlayer, can be built with mpv instead of MPlayer
  • bomi (formerly CMPlayer) a qt5-based front-end[17]
  • IINA, a modern and feature-rich player based on mpv for macOS[18]

See also[edit]

References[edit]

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

External links[edit]