mpv
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Mpv 🇬🇧 ist ein Kommandozeilen-Medienplayern, der auf den Quellen von MPlayer und MPlayer2 basiert. Wie der MPlayer unterstützt Mpv eine Vielzahl von Betriebssystemen und Medienformaten (Audio und Video). Er eignet sich auch zur Wiedergabe von DVDs und Blu-Rays sowie für TV-Empfang (analog und digital/DVB). Hervorzuheben ist, dass in Mpv die Encodierfunktionen von Mencoder integriert sind (in MPlayer2 fehlen diese).
Mpv mit Bildschirmmenü |
Mpv unterscheidet sich von seinen Vorgängern in zwei wesentlichen Punkten:
Mpv setzt besonders auf eine mit Hilfe von OpenGL verbesserte Videoqualität und kann den Grafikchip (GPU) zum Rendern der Ausgabe nutzen (VDPAU (Nvidia),VA API (Intel) und XvBA (AMD); siehe auch Video-Dekodierung beschleunigen).
Mpv besitzt im Vergleich zum MPlayer angepasste Optionsbezeichnungen und unterschiedlich eingefärbten Status- und Fehlermeldungen. Beispielsweise wurde aus der MPlayer-Option
-ss HH:MM
, die zur angegebenen Zeit in Sekunden springt, in Mpv--start
. In der Manpage von mpv 🇬🇧 ist gegen Ende eine Tabelle mit allen gegenüber MPlayer geänderten Optionen angeführt.
Bomi 🇬🇧 (ehemals CMplayer) bietet eine grafische Oberfläche für Mpv. Weitere Oberflächen sind im ArchWiki 🇬🇧 zu finden.
Installation¶
Mpv ist ab Ubuntu 14.04 in den offiziellen Paketquellen enthalten [1]:
mpv (universe )
Befehl zum Installieren der Pakete:
sudo apt-get install mpv
Oder mit apturl installieren, Link: apt://mpv
PPA¶
Alternativ kann eine aktuellere Version - nur für Ubuntu 14.04 - über ein "Personal Package Archiv" (PPA) [2] installiert werden. Da in diesem PPA zahlreiche weitere Pakete enthalten sind, sollte das PPA nur zur Installation bzw. Aktualisierung genutzt (und dann wieder deaktiviert) werden, um Problemen mit den offiziellen Paketquellen vorzubeugen.
Adresszeile zum Hinzufügen des PPAs:
ppa:mc3man/trusty-media
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams mc3man zu entnehmen.
Nach dem Aktualisieren der Paketquellen erfolgt die Installation wie oben angegeben.
Konfiguration¶
Mpv verwendet die systemweite Konfigurationsdatei /etc/mpv/encoding-profiles.conf. Benutzerspezifische Standardeinstellungen und Profile können in der Datei ~/.mpv/config (bei neueren Version in ~/.config/mpv/config) im Homeverzeichnis gespeichert werden. Anstatt jedes Mal die Option --vo=opengl-old
an den Befehl anzuhängen, kann man Folgendes in die Datei eintragen (Zeilen, die mit #
beginnen, sind Kommentare):
# Verwende opengl-old Video-Ausgabe als Standard vo=opengl-old
Des Weiteren bieten Profile die Möglichkeit, Voreinstellungen anzugeben, die nur für bestimmte Dateitypen oder Eingabeprotokolle (z.B. dvd://
oder tv://
) gelten sollen. Ein Profileintrag beginnt mit dem Profilnamen in eckigen Klammern.
# Profil für die DVD Wiedergabe; Sprache Deutsch, Untertitel Englisch [protocol.dvd] # profile-desc legt eine Profilbeschreibung fest, die mit der Option --profile=help angezeigt wird profile-desc="Profil für dvd:// Streams" alang=de slang=en
Um ein Profil zu verwenden, wird es beim Start von Mpv mit der Option --profile=
aufgerufen:
mpv --profile=PROFILNAME
Bedienung¶
Mpv kann in einem Terminal-Fenster [3] gestartet werden. Mit dem Befehl:
mpv /PFAD/ZUR/DATEI --vo=opengl-old
wird eine Video- oder Audiodatei abgespielt. Der Ausgabetreiber opengl-old
ist speziell für ältere GPUs konzipiert. Eine Liste der verfügbaren Ausgabetreiber kann man mit dem Befehl:
mpv --vo help
Information¶
Mpv zeigt auf der Kommandozeile einige Informationen (Dateiformat, Codec, Erstelldatum, Länge) über das abzuspielende Video an, die auch von Einsteigern leicht verstanden werden können. Bei DVDs werden alle verfügbaren Audiospuren und Untertitel angezeigt, bei DVB die Frequenz, bei TV die Treiberinformationen der TV-Karte bzw. Webcam.
Hier ein Beispiel für den von Youtube gestreamten Film Sintel:
mpv http://www.youtube.com/watch?v=HomAZcKm3Jo --vo=opengl-old
Playing: http://www.youtube.com/watch?v=HomAZcKm3Jo [quvi] Checking URL... [cache] Cache size set to 320 KiB Cache fill: 20.62% (67584 bytes) Detected file format: QuickTime / MOV (libavformat) Clip info: major_brand: mp42 minor_version: 0 compatible_brands: isommp42 creation_time: 2013-12-08 02:53:19 [stream] Video (+) --vid=1 (*) (h264) [stream] Audio (+) --aid=1 --alang=und (*) (aac) Selected video codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [lavc:h264] Selected audio codec: AAC (Advanced Audio Coding) [lavc:aac] AO: [pulse] 44100Hz stereo 2ch float VO: [opengl-old] 1280x546 => 1280x546 420p AV: 00:00:33 / 00:14:48 (3%) A-V: -0.000 Cache: 45%
Youtube¶
Für die Wiedergabe von Youtube-Videos wird einfach die URL des Videos an Mpv übergeben:
mpv http://www.youtube.com/watch?v=VIDEOCODE
Mit der Option --stream-capture=video.mp4
kann ein Youtube-Video gleichzeitig betrachtet und gespeichert werden:
mpv http://www.youtube.com/watch?v=VIDEOCODE --stream-capture=video.mp4
Das Speichern eines Youtube-Videos sollte nicht unterbrochen werden, weil sonst Header-Informationen verloren gehen können und das Video damit unlesbar wird.
DVD-Wiedergabe¶
Zur DVD-Wiedergabe sind zunächst einige Vorbereitungen zu treffen. Anschließend lassen sich DVDs mit:
mpv dvd://
wiedergeben.
Sollte die DVD nicht als /dev/dvd ins System eingebunden sein (ab Ubuntu 13.10 üblich), kann man sie unter Angabe der Gerätedatei (hier /dev/sr0) abspielen:
mpv dvd:// --dvd-device=/dev/sr0
Die DVD-Wiedergabe mit Menü erfolgt mit Hilfe der Bibliothek libdvdnav über den Befehl:
mpv dvdnav://menu
Dies funktioniert noch nicht einwandfrei. Über das Bildschirmmenü ist es aber möglich, die verfügbaren Audiospuren (Sprechblasensymbol) und Untertitel (Rechtecksymbol) per Mausklick auszuwählen. Eine andere Möglichkeit ist, den Videotrack über seine Nummer, die Audiospur mit --alang=de
und die Untertitel mit --slang=de
direkt anzugeben. In folgendem Beispiel wird der erste Videotrack der DVD (normalerweise der Hauptfilm) mit deutscher Synchronisation oder, falls diese nicht verfügbar ist, in Englisch mit ungarischen Untertiteln abgespielt.
mpv dvd://1 --alang=de,en --slang=hu
Der folgende Befehl macht das Gleiche, mit der Option longest
wird aber automatisch der längste Videotrack der DVD ausgewählt:
mpv dvdnav://longest --alang=de,en --slang=hu
Blu-Ray-Wiedergabe¶
Mpv sollte unverschlüsselte Blu-Ray-Disks mit Hilfe der Bibliothek libbluray wiedergeben können:
mpv bd://
Mpv verwendet zur Wiedergabe verschlüsselter Blu-Rays die gleichen Bibliotheken wie VLC. Weitere Informationen zur Installation sind im Artikel Blu-Ray wiedergeben und dieser Diskussion 🇬🇧 zu finden.
Video- und Audiofilter¶
Eine der großen Stärken von Mpv sind seine zahlreichen Filter. Eine Ausgabe aller verfügbaren Videofilter erhält man per:
mpv --vf help
Eine Ausgabe aller Audiofilter erhält man per:
mpv --af help
Ein paar Beispiele:
Film deinterlacen:
mpv /PFAD/ZUR/DATEI --vf=yadif
Die Option --vf=yadif
benötigt viel CPU-Rechenzeit. Eine Alternative ist beispielsweise:
mpv /PFAD/ZUR/DATEI --vf=pp=lb
Videofenster verkleinern ohne Qualitätsverlust:
mpv /PFAD/ZUR/DATEI --vf=dsize=360:203
Lautstärkeregelung per Software kann den Sound verzerren (normalerweise sorgt die Soundkarte und/oder der Soundserver dafür, eine höhere Lautstärke einzustellen). Hier eine Verstärkung um 10dB:
mpv --af=volume=10
Audio-Wiedergabe und Aufnahme direkt von der Soundkarte¶
Mpv kann über das av://
Protokoll (das auf die Bibliothek libavdevice 🇬🇧 zurückgreift) den Ton direkt von der Soundkarte wiedergeben:
mpv av://alsa:hw:0
An den Befehl können noch Audio-Filter angehängt werden, auch das Encodieren des Tons ist möglich. Der folgende Befehl erstellt vom Ton der ersten (eingebauten) Soundkarte eine MP3 Datei.
mpv av://alsa:hw:0 -o out.mp3
TV-Wiedergabe und Aufnahme¶
Video4Linux2 - Webcam¶
Analog-TV ist zwar inzwischen in den meisten Bundesländern abgeschaltet, aber eine Webcam oder ein Videograbber ist für Linux nichts anderes als eine TV-Karte ohne Tuner.
Variante 1 mit dem av:// Protokoll¶
Mpv kann mit mit dem av://
Protokoll ein Video von einem v4l2 Gerät widergeben:
mpv av://video4linux2:/dev/video0
Hinweis:
Beim av://
Protokoll ist es in mpv aber nicht möglich noch weitere Optionen wie die Videonorm, die Inputnummer, die Bildwiederholrate (FPS) oder die Größe des Videos einzustellen. Vor dem Aufruf des mpv Befehls können diese Einstellungen mit dem Programm qv4l2 vorgenommen werden.
Variante 2 mit dem tv:// Protokoll (MPlayer Syntax)¶
Mpv kann auch mit dem von MPlayer bekannten tv://
Protokoll v4l2 Video wiedergeben: Mit dem Befehl
mpv tv://
wird das Bild von einer Webcam oder von einer an einem Grabber angeschlossenen analogen Videoquelle angezeigt (wenn das Gerät als /dev/video0 im System registriert ist). Die wichtigsten Optionen für das Betrachten von analogem Videomaterial mit Mpv sind im folgenden Befehl zusammengestellt:
mpv tv:// --tv=driver=v4l2:device=/dev/video0:input=0:fps=25:norm=PAL:outfmt=uyvy:width=720:height=576 --no-correct-pts
Die Option --no-correct-pts
vermeidet die ständige Fehlermeldung, dass keine Video-PTS vorhanden sind.
Mit der Erweiterung des Befehls ist sogar eine gleichzeitige Wiedergabe von Video und Ton möglich, allerdings mit einer deutlichen Verschiebung der Tonspur, die mit der - Taste korrigiert werden kann.
mpv tv:// --tv=driver=v4l2:device=/dev/video0:input=0:fps=25:norm=PAL:outfmt=uyvy:width=720:height=576:alsa:amode=1:forcechan=2:audiorate=48000:adevice=hw.2:forceaudio:immediatemode=no --no-correct-pts
Mehr Informationen zu den --tv
-Optionen sind in der Manpage zu finden.
Bei analogem Video empfiehlt es sich, z.B. mit --vf=pp=lb
einen Deinterlace-Filter einzusetzen und das Seitenverhältnis mit z.B. --aspect=16:9
festzulegen.
Video4Linux2 - Aufnahme¶
Für eine Aufnahme muss an die angeführten mpv av://...
bzw. mpv tv://...
Befehle nur die Option --o
mit dem Dateinamen der Ausgabedatei und den ensprechenden Codec-Parametern, wie im Abschnitt Encodierung beschrieben, angehängt werden. Optional kann eine Filterkette angefügt werden.
DVB¶
Als erstes muss eine entsprechende ~/.mpv/channels.conf erstellt werden. Eine ausführliche Anleitung zur Erstellung einer geeigneten channels.conf ist hier im Wiki vorhanden.
Hinweis:
Die channels.conf muss in der szap/tzap/czap/azap-Syntax sein, die scan als Voreinstellung erzeugt. W scan erzeugt eine solche Datei mit der Option -X
.
Nun kann Mpv das TV-Programm mit dem Befehl
mpv dvb://
oder
mpv dvb://SENDERNAME
anzeigen. Der SENDERNAME
muss exakt der Bezeichnung aus der ~/.mpv/channels.conf entsprechen (Leerzeichen - falls vorhanden - maskieren!). Mit den Tasten
H und
K wird jeweils ein Programm vor- und zurückgeschaltet, mit
F zwischen Fenster- und Vollbildmodus umgeschaltet.
DVB Aufnahme¶
Mpv kann DVB-Transport-Streams direkt mit der Option --stream-dump=Aufnahme.ts
auf der Festplatte aufnehmen (ca. 25 MB/ Minute):
mpv dvb://SENDERNAME --stream-dump=Aufnahme.ts
Dabei wird der Stream nicht umgewandelt, sondern einfach gespeichert. Mit der Option --stream-capture=Aufnahme.ts
wird das Programm gleichzeitig aufgezeichnet und wiedergegeben, was aber viel Systemleistung benötigt und oft nicht funktioniert.
Enkodierung¶
Bei Mpv ist die Encodierfunktion, die beim MPlayer in das separate Programm Mencoder ausgelagert wurde, integriert. Mit der Option --o
und der Angabe einer Ausgabedatei wird Mpv in den Encodiermodus umgeschaltet. Die Eingabedatei (das kann auch ein Youtube-Link, eine DVD oder ein v4l2 Gerät z.B. eine Webcam sein) wird jetzt nicht mehr am Bildschirm angezeigt, sondern in das angegebene Format umgewandelt.
Mpv erkennt an der Endung der Ausgabedatei das gewünschte Dateiformat (.mp4, .avi, .mp3, .ts ...) und verwendet dafür voreingestellte Werte, diese können aber mit Angabe der entsprechenden Option im mpv Befehl überschrieben werden. Zum Beispiel erreicht man mit der Option --ovcopts=b=1200k
(Videobitrate) beim .avi Format eine höhere Qualität als mit dem voreingestellten Wert.
Die Zusammenstellung eines mpv Kommandos für die Encodierung erfolgt nach diesem Schema:
mpv infile -o outfile [--of=outfileformat] [--ofopts=formatoptions] \ [--ofps=outfps | --oautofps] [--oharddup] [--ocopyts | --orawts] [--oneverdrop] \ [(any other mpv options)] \ --ovc=outvideocodec [--ovcopts=outvideocodecoptions] \ --oac=outaudiocodec [--oacopts=outaudiocodecoptions]
Eine sehr ausführliche Liste aller verfügbaren Formate, Codecs und Optionen kann man mit dem folgenden Befehl durchblättern:
mpv -ovc help -ovcopts help -oac help -oacopts help -of help -ofopts help | less
Beispiele:
Wandelt ein von Mpv unterstütztes Video in ein H.264-Video mit AAC-Audio um:
mpv infile -o outfile.mp4
Wandelt ein Video in das AVI-Format um:
mpv infile -o outfile.avi --ofps=25 --ovc=mpeg4 --ovcopts=qscale=4 --ovcopts=b=1000k --oac=libmp3lame --oacopts=ab=128k
Weitere Encodierbeispiele sind über den Abschnitt Links zu finden.
Tastenbefehle¶
Grundlegende Tastenbefehle | |
Taste | Funktion |
Esc | Wiedergabe beenden |
Wiedergabe pausieren | |
→ | 10 Sekunden vor springen |
← | 10 Sekunden zurück springen |
↑ | 1 Minute vor springen |
↓ | 1 Minute zurück springen |
Bild ↑ | 10 Minuten vor springen |
Bild ↓ | 10 Minuten zurück springen |
0 | Lautstärke erhöhen |
9 | Lautstärke verringern |
M | Audioausgabe de- & aktivieren |
F | Vollbildanzeige de- & aktivieren |
# | Audiospur wechseln |
J | Untertitel wechseln |
O | On-Screen-Display wechseln |
Weitere Tasten erläutert die Manpage von Mpv 🇬🇧. Wer eigene Tastenkombinationen einsetzen möchte, bearbeitet die Datei ~/.mpv/input.conf bzw. ~/.config/mpv/config/input.conf nach folgendem Beispiel:
# 90 Grad im Uhrzeigersinn drehen Alt+RIGHT no-osd vf add rotate=90 # 90 Grad gegen den Uhrzeigersinn drehen Alt+LEFT no-osd vf add rotate=270
KDE Plasma 5 Integration¶
Unter KDE Plasma 5 (Kubuntu ab Version 15.04 (vivid)) ist die Integration von Mpv in die graphische Oberfläche (Plasma 5) komfortabel voreingestellt.
Nach der Installation von Mpv können alle Video- und Audiodateien, ohne über das Terminal zu gehen, direkt per Klick oder per Kontextmenü (falls Mpv nicht als Standartanwendung verwendet wird) wiedergegeben werden.
Nach dem Erreichen des Endes der entsprechenden Video- oder Audiodatei beendet sich Mpv automatisch.
Links¶
Projektseite 🇬🇧
VideoPlayer Programmübersicht