Mpv (media player)

Last updated
mpv
Original author(s) Vincent Lang, [1] MPlayer and mplayer2 developers
Developer(s) Community
Initial releaseAugust 7, 2013;10 years ago (2013-08-07) [2]
Stable release
0.38.0 [3]   OOjs UI icon edit-ltr-progressive.svg / 17 April 2024
Repository
Written in C, Objective-C, Lua [4]
Engine
  • FFmpeg
OOjs UI icon edit-ltr-progressive.svg
Operating system BSD-based, Linux, macOS, Windows
Platform ARM, PowerPC, x86 / IA-32, x86-64, and MIPS architecture [5]
Size Source code: 2.9 MB(tar.gz)
Type Media player
License GPLv2+, parts under LGPLv2.1+, some optional parts under GPLv3 [6]
Website mpv.io OOjs UI icon edit-ltr-progressive.svg

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems (Linux, BSD-based, macOS) and Microsoft Windows, along with having an Android port called mpv-android. [7] It is cross-platform, running on ARM, PowerPC, x86/IA-32, x86-64, and MIPS architecture. [5]

Contents

History

mpv was forked by Vincent Lang, also known as wm4, in 2012 from mplayer2, which was forked in 2010 from MPlayer. [8] 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. [9]

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. [10]

Changes from MPlayer

mpv has had several notable changes [11] 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.

Removed functions

Interface and graphical front-ends

Like the original MPlayer, mpv is still primarily a command-line application although it has a more advanced user interface than MPlayer that can use not only the keyboard but also the mouse for mpv's on screen controller (OSC). However, this OSC is still not a full-featured GUI, and there are a number of front-ends available, which use GUI widgets for Qt, GTK, or some other widget toolkit to give mpv a more complete graphical interface.

The following are all open source front-ends of mpv (based on "libmpv" or the command-line version of mpv) which try to provide more features and more user-friendly interface than mpv, and/or better integration with various operating systems or desktop environments. [20]

GNOME MPV (Celluloid) 0.18 with its preferences GNOME MPV (Celluloid) 0.18 with its preferences.png
GNOME MPV (Celluloid) 0.18 with its preferences

See also

Related Research Articles

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is cross-platform application development framework for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphical shell. The desktop environment was seen mostly on personal computers until the rise of mobile computing. Desktop GUIs help the user to easily access and edit files, while they usually do not provide access to all of the features found in the underlying operating system. Instead, the traditional command-line interface (CLI) is still used when full control over the operating system is required.

<span class="mw-page-title-main">Linux framebuffer</span> Abstraction layer for Linux kernel to show graphics on the system console

The Linux framebuffer (fbdev) is a linux subsystem used to show graphics on a computer monitor, typically on the system console.

<span class="mw-page-title-main">MPlayer</span> Free and open source media player

MPlayer is a free and open-source media player software application. It is available for Linux, OS X and Microsoft Windows. Versions for OS/2, Syllable, AmigaOS, MorphOS and AROS Research Operating System are also available. A port for DOS using DJGPP is also available. Versions for the Wii Homebrew Channel and Amazon Kindle have also been developed.

<span class="mw-page-title-main">Gambas</span> Integrated development environment

Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

<span class="mw-page-title-main">VideoLAN</span> Non-profit organization developing software

VideoLAN is a non-profit organization which develops software for playing video and other media formats. It originally developed two programs for media streaming, VideoLAN Client (VLC) and VideoLAN Server (VLS), but most of the features of VLS have been incorporated into VLC, with the result renamed VLC media player.

SuperCollider is an environment and programming language originally released in 1996 by James McCartney for real-time audio synthesis and algorithmic composition.

Music Player Daemon (MPD) is a free and open source music player server. It plays audio files, organizes playlists and maintains a music database. In order to interact with it, a client program is needed. The MPD distribution includes mpc, a simple command line client.

<span class="mw-page-title-main">Transmission (BitTorrent client)</span> BitTorrent client

Transmission is a BitTorrent client which features a variety of user interfaces on top of a cross-platform back-end. Transmission is free software licensed under the terms of the GNU General Public License, with parts under the MIT License.

<span class="mw-page-title-main">QGIS</span> Open-source desktop GIS software

QGIS is a geographic information system (GIS) software that is free and open-source. QGIS supports Windows, macOS, and Linux. It supports viewing, editing, printing, and analysis of geospatial data in a range of data formats. QGIS was previously also known as Quantum GIS.

<span class="mw-page-title-main">QtJambi</span> Java bindings for Qt framework

QtJambi is a Java binding of the cross-platform application framework Qt. It enables Java developers to use Qt within the Java programming language. In addition, the QtJambi generator can be used to create Java bindings for other Qt libraries and future versions of Qt. Unlike GTK, there are no Swing LAF implementations that use Qt for rendering.

<span class="mw-page-title-main">JUCE</span> C++ Cross-Platform Application Development Framework

JUCE is an open-source cross-platform C++ application framework, used for the development of desktop and mobile applications. JUCE is used in particular for its GUI and plug-ins libraries. It is dual licensed under the GPLv3 and a commercial license.

Video Decode and Presentation API for Unix (VDPAU) is a royalty-free application programming interface (API) as well as its implementation as free and open-source library distributed under the MIT License. VDPAU is also supported by Nvidia.

<span class="mw-page-title-main">SMPlayer</span> Graphical front-end for MPlayer and mpv

SMPlayer is a cross-platform graphical front-end for MPlayer and mpv and forks of Mplayer using GUI widgets offered by Qt. SMPlayer is free and open-source software subject to the terms of the GNU General Public License version 2 or later. SMplayer has been localized in more than 30 languages.

awesome (window manager) Window manager for X Window System

awesome is a dynamic window manager for the X Window System developed in the C and Lua programming languages. Lua is also used for configuring and extending the window manager. Its development began as a fork of dwm, though has differed considerably since. It aims to be extremely small and fast, yet extensively customizable. It makes it possible for the user to manage windows with the use of keyboard.

<span class="mw-page-title-main">Kivy (framework)</span> Free and multi-platform graphical library for Python

Kivy is a free and open source Python framework for developing mobile apps and other multitouch application software with a natural user interface (NUI). It is distributed under the terms of the MIT License, and can run on Android, iOS, Linux, macOS, and Windows.

<span class="mw-page-title-main">Ginkgo CADx</span> Medical imaging software and DICOM viewer

Ginkgo CADx is an abandoned multi platform DICOM viewer (*.dcm) and dicomizer. Ginkgo CADx is licensed under LGPL license, being an open source project with an open core approach. The goal of Ginkgo CADx project was to develop an open source professional DICOM workstation.

<span class="mw-page-title-main">Embroidermodder</span> Free machine embroidery software

Embroidermodder is a free machine embroidery software tool that supports a variety of formats and allows the user to add custom modifications to their embroidery designs.

<span class="mw-page-title-main">Etcher (software)</span> Computer tool for writing Operating System image files to storage media

balenaEtcher is a free and open-source utility used for writing image files such as .iso and .img files, as well as zipped folders onto storage media to create live SD cards and USB flash drives. It is developed by Balena, and licensed under Apache License 2.0. Etcher allows users to write images to portable storage media such as USB sticks and SD cards. Etcher was developed using the Electron framework and supports Windows, macOS and Linux. balenaEtcher was originally called Etcher, but its name was changed on October 29, 2018, when Resin.io changed its name to Balena.

<span class="mw-page-title-main">Fyne (software)</span> Graphical toolkit for building cross platform GUIs

Fyne is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs) across desktop and mobile platforms. It is designed to enable developers to build applications that run on multiple desktop and mobile platforms/versions from a single code base. Fyne uses OpenGL to provide cross-platform graphics. It is inspired by the principles of Material Design to create applications that look and behave consistently across all platforms. It is licensed under the terms of the 3-clause BSD License, supporting the creation of free and proprietary applications. In December 2019 Fyne became the most popular GUI toolkit for Go, by GitHub star count and in early February 2020 it was trending as #1 project in GitHub trending ranks.

References

  1. "Contributors to mpv-player". GitHub . 2017-11-04. Archived from the original on 2021-09-15. Retrieved 2021-09-15.
  2. wm4 (2013-08-07). "Release 0.1". MPV.{{cite web}}: CS1 maint: numeric names: authors list (link)
  3. "v0.38.0". 17 April 2024. Retrieved 17 April 2024.
  4. "mpv-player", Analysis Summary, Open Hub, archived from the original on 2017-08-02, retrieved 2016-08-11
  5. 1 2 Debian - Details of package mpv
  6. "Copyright". mpv. Retrieved 2015-03-21.
  7. "mpv-android - Apps on Google Play". play.google.com. Retrieved 2020-03-28.
  8. "MPV, A New Fork Of MPlayer/MPlayer2". Phoronix. Retrieved 2015-01-28.
  9. "Contributors to mpv-player/mpv". GitHub . Retrieved 2016-03-21.
  10. 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}}: CS1 maint: numeric names: authors list (link)
  11. "list of changes from MPlayer". GitHub . Retrieved 2018-04-05.
  12. "youtube-dl: Supported sites" . Retrieved 2016-03-21.
  13. Sneddon, Joey (2017-09-13). "MPV 0.27 Released with Minor Fixes, New OpenGL Options". OMG! Ubuntu! . Ohso Ltd. Retrieved 2017-02-13.
  14. Larabel, Michael (2017-12-25). "MPV Player 0.28 Adds Initial Vulkan Support". Phoronix . Phoronix Media. Archived from the original on 2017-12-26. Retrieved 2017-12-26.
  15. "mpv manual (opengl video output driver section)" . Retrieved 2016-03-21.
  16. "MPV.io".
  17. "Introducing the Plex Media Player" . Retrieved 2015-03-21.
  18. "mpv manual (encoding section)" . Retrieved 2016-03-21.
  19. "User Scripts - mpv-player/mpv Wiki". GitHub . Retrieved 2016-03-21.
  20. "Applications using mpv". GitHub . Retrieved 2020-12-28.
  21. "Baka MPlayer Github page" . Retrieved 2022-09-15.
  22. "Deepin Movie" . Retrieved 2022-09-15.
  23. "Celluloid" . Retrieved 2022-09-15.
  24. "Haruna media player". KDE. Retrieved 29 March 2024.
  25. "IINA" . Retrieved 2022-09-15.
  26. "Kawaii Player Github Repository". GitHub . Retrieved 2022-09-15.
  27. "mpv.net Github Repository". GitHub . Retrieved 2022-09-15.
  28. "OvoPlayer on Lazarus Wiki" . Retrieved 2022-09-15.
  29. "SMPlayer" . Retrieved 2022-09-15.
  30. "Sugoi Player Github Repository". GitHub . Retrieved 2022-09-15.
  31. "xt7-player Github Repository". GitHub . Retrieved 2022-09-15.