mpv (media player)
mpv playing Big Buck Bunny | |
Original author(s) | MPlayer and mplayer2 developers |
---|---|
Developer(s) | Community |
Initial release | August 7, 2013[1] |
Stable release | 0.21.0 (October 20, 2016[2]) [±] |
Repository |
github |
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 |
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
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]
Notable changes from MPlayer
mpv carries a large amount of changes since it was forked from MPlayer. The most user visible change is the new on-screen-controller (OSC) which is a minimal GUI integrated with mpv to offer basic mouse-controllability. It is intended to make interaction easier for new users and to enable precise and direct seeking.
Support for 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]
See also
- FFmpeg
- Libav
- libavcodec – API which mpv uses for decoding
- SMPlayer – can be built with mpv instead of MPlayer
References
- ↑ wm4 (2013-08-07). "Release 0.1". MPV.
- ↑ Herkt, Martin (2016-10-20). "Release 0.21.0". mpv-player/mpv (source code repository). GitHub. Archived from the original on 2016-10-20. Retrieved 2016-10-26.
- ↑ "mpv-player", Analysis Summary, Open Hub, retrieved 2016-08-11
- 1 2 Debian - Details of package mpv
- ↑ "Copyright". mpv. Retrieved 2015-03-21.
- ↑ "MPV, A New Fork Of MPlayer/MPlayer2". Phoronix. Retrieved 2015-01-28.
- ↑ "Contributors to mpv-player/mpv". Retrieved 2016-03-21.
- ↑ "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.
- ↑ "youtube-dl: Supported sites". Retrieved 2016-03-21.
- ↑ "mpv manual (opengl video output driver section)". Retrieved 2016-03-21.
- ↑ "Introducing the Plex Media Player". Retrieved 2015-03-21.
- ↑ "mpv manual (encoding section)". Retrieved 2016-03-21.
- ↑ "User Scripts - mpv-player/mpv Wiki". Retrieved 2016-03-21.
External links
Front-Ends
- Baka MPlayer, a qt 5 front-end using the mpv library
- GNOME MPV, a GTK+ front end for mpv