# MPlayer

MPlayer ist ein unter der GNU-GPL-Lizenz stehender Mediaplayer. Er zeichnet sich insbesondere durch seine breite Unterstützung von Dateiformaten und seine Plattformunabhängigkeit aus.
So läuft das Programm neben Linux, dem Betriebssystem seiner Herkunft, auf Windows, macOS, DOS/FreeDOS, FreeBSD, MorphOS, OS/2 und vielen anderen Plattformen. Es unterstützt eine Vielzahl von Video- und Audio-Codecs, darunter auch plattformexklusive, wodurch etwa Windows Media auch außerhalb von Windows wiedergegeben werden kann. Darüber hinaus unterstützt er DVB. Eine besondere Fehlertoleranz ermöglicht es dem mehrfach ausgezeichneten Player, auch defekte Dateien abzuspielen. Eine weitere Stärke ist dabei der Wegfall jeglicher Installation, so dass MPlayer nicht mit bereits installierten Codecs kollidiert und sich sehr einfach als Ausgabeprogramm (englisch „viewer“) in andere Programme integrieren lässt.

## Aufbau

MPlayer ist kommandozeilenorientiert. Optional verfügbar sind eine grafische Bedienungsoberfläche, sowie MEncoder, ein Programm, das sämtliche abspielbaren Dateien und Datenströme in andere Formate wandeln kann, etwa von MPEG-1 zu MPEG-4.
Das Programm selbst greift beim Start auf seine mitgebrachte Formatbibliothek zurück, aus der ein passender Dekodierungsalgorithmus herausgesucht wird. Dieses Reservoir basiert auf FFmpegs libavcodec, an deren Programmierung Entwickler aus dem MPlayer-Project beteiligt sind, sowie einigen weiteren, meist exotischen Codecs. Außerdem besteht die Möglichkeit, Binär-Codecs zum Abspielen proprietärer Formate zu verwenden, wie Windows-32-Bit-DLLs sowie macOS-Bibliotheken.

## Lizenz

Die im Programm verwendeten Binär-Codecs sind in der Open-Source-Szene lizenzrechtlich stark umstritten. Die GPL verlangt ausdrücklich, dass bei der Weitergabe des Programms der vollständige Quellcode mitgeliefert werden muss, was nicht möglich ist, wenn unter dieser Lizenz stehende Programme mit proprietären vermischt werden. Ein Benutzer oder eine Distribution kann folglich den MPlayer nicht weiterverbreiten, ohne gegen die GPL zu verstoßen. Die Entwickler widersprechen dieser Auslegung der Lizenz vehement. Diese Codecs stehen nur als separate Pakete zum Herunterladen (essential oder all) zur Verfügung und sind zum Betrieb von MPlayer nicht erforderlich.

## Benutzeroberflächen

MPlayer hat selbst keine grafische Benutzeroberfläche außer die Videoausgabe. Die Bedienung geschieht über die Tastatur. Allerdings gibt es eine Vielzahl an zusätzlichen Programmen (Front-Ends), die MPlayer um eine grafische Benutzeroberflächen erweitern. Dazu gehören:
| Programm | Betriebssysteme | Beschreibung |
| Gnome MPlayer | Linux | nutzt GTK+ |
| GMPlayer | Linux, Windows | nutzt Visual Basic .NET |
| SMPlayer | Linux, Windows | nutzt Qt, bietet sehr viele Funktionen (ähnlich zum VLC media player) |
| KMPlayer | Linux | nutzt Qt |
| ROSA Media Player | Linux, Windows | basiert auf SMPlayer, ist aber eingeschränkter/leichtgewichtiger |
| MPlayerX | macOS | eine bösartige Version des Mplayers für MacOS, die Malware verteilt |

## Benutzung in anderen Projekten

Es existiert eine Vielzahl von Projekten, die auf dem Quelltext von MPlayer aufbauen. Zum Beispiel wurde MPlayer auf die Xbox (XBMC Media Center) und den Amiga portiert. Die Distribution MoviX beinhaltet ein bootfähiges Linux samt MPlayer und wird mit dem Film auf eine CD gebrannt.

## Abspaltungen

Es gibt mehrere Abspaltungen von MPlayer. Dazu gehören:
* mpv, bietet ein erweitertes On-Screen-Display, eine durch OpenGL verbesserte Videoqualität und hardwarebeschleunigtes Rendern über die Grafikkarte.
* MplayerXP, entstand nach einer technischen Auseinandersetzung zum Thema Softwareseitiges Multithreading beim Dekodieren von Videodaten.
* mplayer2, erweitert MPlayer um einige Features und entfernt die Kodierkomponente MEncoder. Seit Oktober 2013 steht das Projekt still.
* MPlayer WW, unterstützt Multithreading bei der Dekodierung von MPEG-2 und H.264, nutzt DirectShow, Direct3D und OpenGL und bietet eine grafische Benutzeroberfläche.