mpv (media player)
Original author(s) | MPlayer and mplayer2 developers |
---|---|
Developer(s) | mpv developers |
Stable release | 0.16.0 (February 29, 2016 ) [±] |
Development status | Active |
Written in | C, Objective-C, and Lua[1] |
Operating system | BSD, Linux, Mac OS and Microsoft Windows |
Platform | Cross-platform |
Type | Media player |
License | GPLv2+, parts under LGPLv2.1+, some optional components under GPLv3.[2] |
Website |
mpv |
mpv is a free and open-source media player based on MPlayer/mplayer2.
History
mpv was forked in 2012 from mplayer2 (which itself forked from MPlayer in 2010).[3] The motivation for the fork was to encourage developer activity by removing unmaintainable code and dropping support for very old systems. As a result, the project has seen a large influx of contributions.[4]
Since June 2015, the project's source code is in the process of being relicensed from GPLv2 to LGPLv2 to allow using mpv as a library in more applications.[5]
Notable changes from MPlayer
Support for video websites
Through youtube-dl, mpv natively supports playback of HD content on YouTube and over 300 other supported sites.[6] This allows mpv to be used as a replacement for 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 affecting playback quality, including the use of advanced upscaling filters, color management and customizable pixel shaders.[7]
Improved client API
In addition to functioning as a stand-alone media player, mpv is designed to be used directly by other applications through a library interface called libmpv. As a necessity, all of the code in mpv was made thread safe. An example of an application which uses libmpv is Plex.[8] This form of player control, along with a JSON IPC mechanism, replaces MPlayer's "slave mode".
Encoding subsystem
mpv includes a new encoding mode that can be used to save files being played under a different format. This essentially allows mpv to operate as a transcoder supporting a large number of video formats.[9] 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 functionality is customizable through the use of small programs written in Lua, which can be used for tasks like cropping video, providing a GUI or automatically adjusting the display's refresh rate.[10]
See also
- FFmpeg and Libav, two implementations of the libavcodec API which mpv uses for decoding.
- SMPlayer can be built with mpv instead of MPlayer.
- SVP integrates with mpv to provide motion interpolation during playback.
References
- ↑ "Github - mpv". Retrieved 2015-01-28.
- ↑ "mpv-player/mpv - Copyright". Retrieved 2015-3-21. Check date values in:
|access-date=
(help) - ↑ "MPV, A New Fork Of MPlayer/MPlayer2". 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
- Official website
- Baka MPlayer, a media player based on the mpv library
- GNOME MPV, a GTK+ front end for mpv
- mpv player at Open Hub
|
|