ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

mpv

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte hilf mit, indem du diesen Artikel testest. Wiki/FAQ - häufig gestellte Fragen (Abschnitt „Wikiartikel-testen“).

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./mpv-logo.png 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-screen-menu.png
Mpv mit Bildschirmmenü

Mpv unterscheidet sich von seinen Vorgängern in zwei wesentlichen Punkten:

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 )

Paketliste zum Kopieren:

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 Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams mc3man zu entnehmen.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

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 

./mpv-smenu.png 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.

Diese Revision wurde am 4. August 2016 14:05 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Videoplayer, TV, Multimedia