mplayer: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
(New page: <b>MPlayer</b> (auch: MPlayer) spielt über 150 Audio- und Video-Formate ab ([http://www.mplayerhq.hu/DOCS/codecs-status.html Status codecs support]). Allfällig benötigte dynamische Wind...)
 
Keine Bearbeitungszusammenfassung
 
(83 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<b>MPlayer</b> (auch: MPlayer) spielt über 150 Audio- und Video-Formate ab ([http://www.mplayerhq.hu/DOCS/codecs-status.html Status codecs support]). Allfällig benötigte dynamische Windows-Bibliotheken müssen unter "/usr/local/win32" installiert werden. Um möglichst alle aktuellen Formate abzuspielen sollte das Programm aus dem Quellcode selber kompiliert werden.
Der [[Shell-Befehl]] <b>mplayer</b> (auch: MPlayer, Mplayer) spielt über 150 [[Audioformat]]e und [[Videoformat]]e ab ([http://www.mplayerhq.hu/DOCS/codecs-status.html Status codecs support]). Allfällig benötigte dynamische Windows-Bibliotheken müssen unter "/usr/local/win32" installiert werden. Um möglichst alle aktuellen Formate abzuspielen sollte das Programm aus dem Quellcode selber kompiliert werden.


Der Mplayer unterstützt unter anderem folgende Codecs: [[MPEG-1]], [[AVI]] (einschliesslich aller Windows-Codecs und alle [[Divx]]-Codecs), [[DVD]], [[VCD]], [[SVCD]]
Der mplayer unterstützt unter anderem folgende Codecs: [[MPEG-1]], [[AVI]] (einschliesslich aller Windows-Codecs und alle [[Divx]]-Codecs), [[DVD]], [[VCD]], [[SVCD]]


In kurz: Mplayer ist der beste [[Medienspieler]], den es gibt.
mplayer kann als <b>gmplayer</b> auch mit einer grafischen Benutzeroberfläche aufgerufen werden. Aber das ist was für Pipis.
 
Mit Hilfe des [[Mplayer Plugin]] kann mplayer auch innerhalb eines [[Webbrowser]]s verwendet werden.
 
Die 7 MB kleine Linux-Distribution [[Geexbox]] bootet lediglich einen Mplayer, der das Ansehen von Bildern, Filmen und DVDs auf einem beliebigen Rechner ermöglicht, ohne dass dort ein Mplayer installiert sein muss.
 
In Kürze: mplayer ist der beste [[Medienspieler]], den es gibt.


== Installation ==
== Installation ==


Herunterladen: http://www.mplayerhq.hu/
Herunterladen: http://www.mplayerhq.hu/
=== Debian GNU/Linux 10 ===
$ <b>sudo apt-get install mplayer</b>
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.     
Statusinformationen werden eingelesen.... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  liba52-0.7.4 libdirectfb-1.7-7 libenca0 libgles2 liblirc-client0 libmad0
  libmpeg2-4 libvorbisidec1
Vorgeschlagene Pakete:
  libdirectfb-extra lirc fonts-freefont-ttf mplayer-doc netselect | fping
Die folgenden NEUEN Pakete werden installiert:
  liba52-0.7.4 libdirectfb-1.7-7 libenca0 libgles2 liblirc-client0 libmad0
  libmpeg2-4 libvorbisidec1 mplayer
0 aktualisiert, 9 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 3'758 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 10.5 MB Plattenplatz zusätzlich benutzt.


=== SUSE Linux ===
=== SUSE Linux ===


* [[Installation Mplayer 1.0pre4]]
* [[mplayer 1.0pre4]]
* [[Installation Mplayer 1.0pre6a]]
* [[mplayer 1.0pre6a]]
* [[Installation Mplayer 1.0pre7try2]]
* [[mplayer 1.0pre7try2]]
* [[Installation Mplayer 1.0rc1]]
* [[mplayer 1.0rc1]]


=== Ubuntu 7.04 Feisty Fawn ===
=== Ubuntu 7.04 Feisty Fawn ===


Installation von MPlayer 2.1.0~rc1 (Pakete "mplayer" und "mozilla-mplayer") über die Synaptic-Paketverwaltung.
Installation von mplayer 2.1.0~rc1 (Pakete "mplayer" und "mozilla-mplayer") über die Synaptic-Paketverwaltung.


Zusätzliche Codecs werden wie folgt installiert.
Zusätzliche Codecs werden wie folgt installiert.
Zeile 33: Zeile 57:
Installation zusätzlicher Codecs.
Installation zusätzlicher Codecs.


  $ <b>nowiki>wget ftp://ftp1.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2</nowiki></b>
  $ <b><nowiki>wget ftp://ftp1.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2</nowiki></b>
  $ <b>tar jxvf essential-20071007.tar.bz2</b>
  $ <b>tar jxvf essential-20071007.tar.bz2</b>
  $ <b>sudo mkdir /usr/lib/win32</b>
  $ <b>sudo mkdir /usr/lib/win32</b>
Zeile 65: Zeile 89:
  joystick=0
  joystick=0
  lirc=0
  lirc=0
  vo=xv
  # vo=xv
  ac=mad,ffmp2,
  ac=mad,ffmp2,
  ao=alsa
  ao=alsa
cache=3000
cache-min=60
  fs=yes
  fs=yes
  stop-xscreensaver="no"  
  stop-xscreensaver="no"
# Untertitel mit Zeichensatz UTF-8
utf8=true


  # <b>vi /etc/rc.d/boot.local</b>
  # <b>vi /etc/rc.d/boot.local</b>
Zeile 80: Zeile 109:


  $ <b>mplayer</b>
  $ <b>mplayer</b>
Abspielen der neuesten MP4-Datei im aktuellen Verzeichnis.
$ <b>mplayer "$(ls -1tr *.mp4 | tail -1)"</b>


Programmaufruf der grafischen Benutzeroberfläche.
Programmaufruf der grafischen Benutzeroberfläche.
Zeile 138: Zeile 171:
  $ <b>mplayer -ac -ffmp3 file</b>
  $ <b>mplayer -ac -ffmp3 file</b>


Verfügbare (einkompilierte) Video-Codec-Familien bzw. -Treiber.
Verfügbare (einkompilierte) Video-Codec-Familien bzw. -Gerätetreiber.


  $ <b>mplayer -vfm help</b>
  $ <b>mplayer -vfm help</b>


Verfügbare (einkompilierte) Audio-Codec-Familien bzw. -Treiber.
Verfügbare (einkompilierte) Audio-Codec-Familien bzw. -Gerätetreiber.


  $ <b>mplayer -afm help</b>
  $ <b>mplayer -afm help</b>
Zeile 150: Zeile 183:
  $ <b>mplayer file.wma -ao pcm</b>
  $ <b>mplayer file.wma -ao pcm</b>


Um Xv einzuschalten.


<pre>
$ <b>mplayer -vo xv movie.avi</b>
To enable Xv, start MPlayer with
mplayer -vo xv movie.avi


mplayer -zoom -x 1600 -y 1200 film
...


mplayer -vo x11 From.Dusk.Till.Dawn.HDTV.720p.XviD-Nameless.German.English.AC3.6CH.Segment.2.von.2.avi
$ <b>mplayer -zoom -x 1600 -y 1200 film</b>


mplayer -ac ffmp2 file.mpg
...
mplayer -cdda speed=4 paranoia=2 noskip
 
</pre>
$ <b>mplayer -vo x11 file.avi</b>
 
...
 
$ <b>mplayer -ac ffmp2 file.mpg</b>
$ <b>mplayer -cdda speed=4 paranoia=2 noskip</b>
 
Abspielen einer Videodatei, wobei nur der Ton ausgegeben wird, nicht aber das Bild.
 
$ <b>mplayer -vc null -vo null file</b>
 
=== Abspielen nur der ersten 3 Sekunden einer Datei ===
 
Im aktuellen Verzeichnis werden die ersten drei Sekunden aller Dateien abgespielt, die auf ".mp3" enden.
 
$ <b>mplayer -endpos 3 *.mp3</b>
 
=== Abspielen eines Ausschnitts einer Datei ===
 
Von der Datei "file.xyz" wird ein Ausschnitt abgespielt, der ab Sekunde 313 beginnt und 17 Sekunden lang dauert.
 
$ <b>mplayer -ss 313 -endpos 17 file.xyz</b>
 
Wiederholtes Abspielen dieses Ausschnitts.
 
$ <b>mplayer -loop 0 -ss 313 -endpos 17 file.xyz</b>
 
...
 
$ <b>mplayer -fs -loop 0 -ss 389 -endpos 8 file.xyz</b>
 
=== Abspielen mehrerer Dateien ===
 
Siehe https://unix.stackexchange.com/questions/9496/looping-through-files-with-spaces-in-the-names
 
Abspielen aller Dateien mit Endung ".mp4" im aktuellen Verzeichnis, wobei bloss jeweils die ersten vier Sekunden (von Sekunde 0 bis 4) des Videos angezeigt werden, bevor zum nächsten Video gewechselt wird.
 
$ <b>find . -type f -name '*.mp4' -exec sh -c '
    for datei
      do
      echo "${datei}"
      mplayer -fs -ss 0 -endpos 4 "${datei}"
      done
    ' exec-sh {} +</b>
 
Mit folgendem Befehl wird nach jedem Video eine Pause eingelegt - erst nach Drücken der Taste "RETURN" geht's weiter.
 
$ <b>find . -type f -name '*.mp4' -exec sh -c '
    for datei
      do
      echo "${datei}"
      mplayer -fs -ss 0 -endpos 4 "${datei}"
      read line </dev/tty
      done
    ' exec-sh {} +</b>
 
== Abspielgeschwindigkeit ==
 
* https://shreevatsa.wordpress.com/2009/05/29/mplayer-changing-speed-without-changing-pitch-avoiding-the-chipmunk-effect/
* https://kenfallon.com/speeding-up-speech-with-mplayer/
 
$ <b>mplayer -speed 1.5 foo.avi</b>
 
=== Bildausschnitt ===
 
Breite:Höhe:Position X-Achse:Position Y-Achse
 
$ <b>mplayer -vf rectangle=500:500:500:100 file.mp4</b>
 
$ <b>mplayer -vf crop=500:500:500:100 file.mp4</b>
 
=== Bildschirmausgabe ===
 
Erhebliche Verringerung der Textausgabe im Terminal. "-1" entspricht "absolute Stille", gibt aber dennoch einige zeilen aus.
 
$ <b>mplayer -msglevel all=-1 file.avi</b>
do_connect: could not connect to socket
connect: No such file or directory
 
Das Unterdrücken der vollständigen Textausgabe im Terminal funktioniert aber wie folgt.
 
$ <b>mplayer file.avi > /dev/null 2>&1</b>
 
=== Bildschirmgrösse ===
 
Haben die Cowboys alle etwas kurze Beine oder ist die Weltkugel von Universal Pictures plattgedrückt, so liegt das höchstwahrscheinlich an einem falschen Bildverhältnis.
 
$ <b>mplayer -aspect 1.3333 file.avi</b>
$ <b>mplayer -aspect 1.7777 file.avi</b>
 
=== Bildschirmposition ===
 
Anzeige des Fensters an Bildschirmposition Position x=10 und y=100.
 
$ <b>mplayer -loop 0 -xy 800 -geometry 10:100 file.mpg</b>
<!--
m -loop 0 -xy 700 -geometry 10:10 03.mpg
m -loop 0 -xy 700 -geometry 710:10 07.mpg
m -loop 0 -xy 700 -geometry 10:550 08.mpg
m -loop 0 -xy 700 -geometry 710:550 09.mpg
-->
 
=== Bildschirmkopien ===
 
Aus der abgespielten Filmdatei "file.avi" können mit der Taste "s" Bildschirmkopien im PNG-Format erstellt werden, welche im Arbeitsverzeichnis abgespeichert werden.
 
$ <b>mplayer -vf screenshot file.avi</b>
 
=== Bluray-Disc abspielen ===
 
$ <b>mplayer br:///dev/sr0</b>
<!--
$ vlc
VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7)
[0000562321d835b0] main libvlc: VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie 'cvlc', um VLC ohne Interface zu verwenden.
[0000562321d87520] main playlist: playlist is empty
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 2057, resource id: 11676201, major code: 40 (TranslateCoords), minor code: 0
disc.c:323: failed opening UDF image /dev/sr0
disc.c:424: error opening file BDMV/index.bdmv
disc.c:424: error opening file BDMV/BACKUP/index.bdmv
 
 
$ mplayer br:///dev/sr0
MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
 
Playing br:///dev/sr0.
disc.c:323: failed opening UDF image dev/sr0
disc.c:424: error opening file BDMV/index.bdmv
disc.c:424: error opening file BDMV/BACKUP/index.bdmv
Couldn't open Blu-ray device: dev/sr0
No stream found to handle url br:///dev/sr0
 
 
Exiting... (End of file)
-->


=== Extraktion der Tonspur ===
=== Extraktion der Tonspur ===
Zeile 184: Zeile 353:


Auf diese Weise können mehrere Sprachversionen als separate Audiodateien verfügbar gemacht werden. Eine häufig verwendete Kombination ist die Verwendung der englischen Tonspur in der AVI-Datei und die zusätzliche Erzeugung anderer Tonspuren als separate Dateien.
Auf diese Weise können mehrere Sprachversionen als separate Audiodateien verfügbar gemacht werden. Eine häufig verwendete Kombination ist die Verwendung der englischen Tonspur in der AVI-Datei und die zusätzliche Erzeugung anderer Tonspuren als separate Dateien.
=== Entfernung von Kammartefakten ===
Unter den verschiedenen Interlacing-Funktionen waren mir die folgenden beiden nützlich.
$ <b>mplayer -vf tfields=1 filmdatei</b>
$ <b>mplayer -vf lavcdeint filmdatei</b>
=== Bild rotieren ===
Folgende Einstellung dreht das Video um 90 Grad im Uhrzeigersinn.
$ <b>mplayer -vf rotate=1 filmfile</b>
=== Sprache ===
Anzeige der verfügbaren Audio-IDs. Im Beispiel sind die Audio-IDs 1, 2 und 3 verfügbar.
$ <b>mplayer -v file.avi | grep "Audio stream found"</b>
[aviheader] Audio stream found, -aid 1
[aviheader] Audio stream found, -aid 2
[aviheader] Audio stream found, -aid 3
CTRL+C
$ <b>mplayer -aid 1 file.avi</b>
=== Untertitel ===
$ <b>mplayer -subfont-autoscale file.avi</b>
$ <b>mplayer -subfont-text-scale 3 file.avi</b>
Vorhandene Untertitel können mit der Taste "V" aus- und wieder eingeblendet werden. Dies funktioniert natürlich nicht bei Filmdateien, bei denen die Untertitel direkt Teil des dargestellten Bildes sind.
Untertitel müssen - abgesehen von der Endung - denselben Namen wie die betreffende AVI-Datei haben. Sind im selben Verzeichnis die Dateien "movie.avi" und "movie.srt" vorhanden, so wird die Datei "movie.avi" mit Untertiteln der Datei "movie.srt" abgespielt.
$ <b>mplayer -aid 1 film.mkv</b>
...
libavformat version 59.27.100 (external)
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (ac3), -aid 0, -alang ger, German Line (PSO)
[lavf] stream 2: audio (eac3), -aid 1, -alang eng, English Line Mix (Experimental) AMC
[lavf] stream 3: audio (eac3), -aid 2, -alang eng, English V3 Collective Own
[lavf] stream 4: audio (eac3), -aid 3, -alang eng, English 2nd Audio Collective Own
[lavf] stream 5: audio (eac3), -aid 4, -alang eng, English 3nd Audio Collective Own
[lavf] stream 6: audio (eac3), -aid 5, -alang spa, Latino Digital Collective Own
[lavf] stream 7: subtitle (srt), -sid 0, -slang ger, Forced German
[lavf] stream 8: subtitle (srt), -sid 1, -slang eng, Forced English
[lavf] stream 9: subtitle (ssa), -sid 2, -slang eng, Forced English Blackbar
[lavf] stream 10: subtitle (ssa), -sid 3, -slang ger, Forced German Blackbar
[lavf] stream 11: subtitle (ssa), -sid 4, -slang ger, Forced German Blackbar Big
[lavf] stream 12: subtitle (ssa), -sid 5, -slang eng, Forced English Blackbar Big
VIDEO:  [H264]  1920x888  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
...
=== Vergrössern ===
$ <b>mplayer -vf scale -zoom -xy 800 datei.mp4</b>
=== Zufällige Titel abspielen ===
* https://www.cyberciti.biz/faq/mplayer-shuffle-ubuntu-redhat-fedora-debian-bsd/
== FAQ ==
=== Audio- und Videospur laufen nicht synchron ===
Gründe für nicht synchron laufende Audio- und Videospuren gibt es mehrere. Ebenso gibt es mehrere Möglichkeiten zur Behebung des Problems - zu all den genannten Schaltern sollte bei Bedarf auch der jeweilige Eintrag in der Manpage ("man mplayer") zu Rate gezogen werden:
* Während dem Ablaufen der Filmdatei kann mit den Tasten "+" und "-" die Audioverzögerung ("A-V delay") mit jedem Tastendruck um 100 ms (0.1 Sekunde) vergrössert bzw. verringert werden.
* Der Schalter "-autosync <i>Faktor</i>" passt die A-V-Synchronisation auf der Grundlage von Messungen der Audioverzögerung an.
* Der Schalter "-delay <i>Sekunden</i>" vergrössert oder verkleinert die Audioverzögerung und kann in positiven oder negativen Fliesskommawerten angegeben werden.
* Der Schalter "-mc <i>Sekunden pro Frame</i>" bestimmt die maximale A-V-Sync-Korrektur pro Frame in Sekunden.
* Der Schalter "-ni" erzwingt bei AVI-Dateien die Verwendung des non-interleaved AVI-Parsers.
* Der Schalter "-nobps" verhindert bei AVI-Dateien mit defektem Header die Verwendung des durchschnittlichen Byte/Sekunden-Wertes für die A-V-Synchronisation
* Je nach dem soll bei fehlerhaften Audio-Gerätetreibern auch der Schalter "-ao oss" (anstelle des standardmässigen "-ao alsa") etwas bringen.
Ist die Audiospur immer mit demselben Wert zu schnell oder zu langsam, so lässt sich dies normalerweise mit einer der oben genannten Möglichkeiten beheben. Ich hatte jedoch auch schon Filmdateien, die am Anfang wenig Verzögerung der Audiospur hatten, die Verzögerung wurde mit der Dauer des Films aber immer grösser (zuletzt 20 Sekunden). In diesem Fall half nur das gelegentliche Drücken der Tasten "+" bzw. "-" um die Synchronisation wieder herzustellen.
Beim Abspielen einer Filmdatei erscheint am unteren Bildschirmrand folgende Zeile. Es ist ganz nützlich zu wissen, was die einzelnen Werte zu bedeuten haben.
<pre class=wiki>
A:  34.9 V:  34.9 A-V:  0.000 ct:  0.000 1047/1047  6%  0%  1.3% 16 0 49%
|        |        |          |          |    |    |  |  |    |  | |
|        |        |          |          |    |    |  |  |    |  | Grösse des Cache (um 50% ist normal)
|        |        |          |          |    |    |  |  |    |  Aktuelle Stufe des Image Postprocessing (bei Verwendung von "-autoq")
|        |        |          |          |    |    |  |  |    Anzahl zu verwerfender Frames, um die A-V-Synchronisation zu erhalten
|        |        |          |          |    |    |  |  Prozessorverwendung durch den Audiocodec
|        |        |          |          |    |    |  Prozessorverwendung durch video_out
|        |        |          |          |    |    Prozessorverwendung durch den Audiocodec (for slices and DR this includes video_out)
|        |        |          |          |    Anzahl dekodierter Frames (gezählt ab dem letzten Suchvorgang)
|        |        |          |          Anzahl abgespielter Frames (gezählt ab dem letzten Suchvorgang)
|        |        |          Gesamt durchgeführte A-V-Sync-Korrektur
|        |        Audio-Video-Unterschied in Sekunden (Verzögerung / delay)
|        Video-Position in Sekunden
Audio-Position in Sekunden
</pre>
Was diese Zahlen im Fall einer Audioverzögerung genau nützen sollen, ist mir allerdings nicht klar. Untenstehende Zeile war beispielsweise in einem Film an einer Position zu sehen, an der ich mittels der Taste "-" bereits 12000 ms Audioverzögerung eingestellt hatte, um Video und Audio synchron zu halten.
<pre class=wiki>
A:1609.2 V:1609.2 A-V:  0.000 ct:  0.152 48229/48229  6%  0%  1.1% 0 0 49%
</pre>
=== Audiospur wechseln ===
* https://www.systutorials.com/how-to-change-the-audio-track-for-mkv-files-in-mplayer/
* https://www.systutorials.com/mostly-used-mplayer-keyboard-control/
* http://www.keyxl.com/aaa2fa5/302/MPlayer-keyboard-shortcuts.htm
Gegeben ist eine mkv-Datei.
$ <b>mplayer film.mkv</b>
MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing film.mkv
libavformat version 58.20.100 (external)
libavformat file format detected.
[lavf] stream 0: video (hevc), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang eng, 2.0 Riff
[lavf] stream 2: audio (aac), -aid 1, -alang eng, 5.1 Movie
[lavf] stream 3: subtitle (srt), -sid 0, -slang eng
VIDEO:  [HEVC]  1920x816  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.35.100 (external)
Selected video codec: [ffhevc] vfm: ffmpeg (FFmpeg HEVC / H.265)
...
Im aktuellen Fall kann mit der Taste "#" zwischen der Spur 0 (mit Rifftrack), der Spur 1 (ohne Rifftrack) und einer tonlosen Spur ohne Nummer gewechselt werden.
=== Verzögerung beim Abspielen ===
Bei manchen Dateien dauert es nach dem Aufruf von mplayer etwa drei sekunden, bis die Datei tatsächlich abgespielt wird.
* https://bugzilla.redhat.com/show_bug.cgi?id=494109
Zum Abstellen dieses Verhaltens wurden erfolglos folgende Schalter versucht:
-vo xv
-vo x11
-ao pulse
<!--
Dieses Verhalten lässt sich mit dem Schalter "-ao pulse" abstellen.
$ <b>mplayer -ao pulse datei.mp4</b>
-->
Den genauen Grund für dieses Verhalten kenne ich nicht, derzeit auch keine Lösung.


== Weblinks ==
== Weblinks ==


* Download Pakete: http://greysector.rangers.eu.org/mplayer/
{{Weblinks}}
* [http://web.njit.edu/all_topics/Prog_Lang_Docs/html/mplayer/faq.html FAQ] (NJIT.edu)
{{url|HU|Mplayer Project|eng|http://www.mplayerhq.hu/|MPlayer|Offizielle Homepage|icon=http://www.mplayerhq.hu/design7/favicon.png}}
* MPlayer - Fedora guida: http://www.mjmwired.net/resources/mplayer-fedora.html
{{url|US|NJIT|eng|http://web.njit.edu/all_topics/Prog_Lang_Docs/html/mplayer/faq.html|FAQ}}
{{dewi|Mplayer|Mplayer}}
{{url|US|Mauriat Miranda|eng|http://www.mjmwired.net/resources/mplayer-fedora.html|MPlayer : Fedora guide}}
{{url_dewikipedia|Mplayer|Mplayer}}
{{Fuss}}





Aktuelle Version vom 14. Oktober 2024, 14:26 Uhr

Der Shell-Befehl mplayer (auch: MPlayer, Mplayer) spielt über 150 Audioformate und Videoformate ab (Status codecs support). Allfällig benötigte dynamische Windows-Bibliotheken müssen unter "/usr/local/win32" installiert werden. Um möglichst alle aktuellen Formate abzuspielen sollte das Programm aus dem Quellcode selber kompiliert werden.

Der mplayer unterstützt unter anderem folgende Codecs: MPEG-1, AVI (einschliesslich aller Windows-Codecs und alle Divx-Codecs), DVD, VCD, SVCD

mplayer kann als gmplayer auch mit einer grafischen Benutzeroberfläche aufgerufen werden. Aber das ist was für Pipis.

Mit Hilfe des Mplayer Plugin kann mplayer auch innerhalb eines Webbrowsers verwendet werden.

Die 7 MB kleine Linux-Distribution Geexbox bootet lediglich einen Mplayer, der das Ansehen von Bildern, Filmen und DVDs auf einem beliebigen Rechner ermöglicht, ohne dass dort ein Mplayer installiert sein muss.

In Kürze: mplayer ist der beste Medienspieler, den es gibt.

Installation

Herunterladen: http://www.mplayerhq.hu/

Debian GNU/Linux 10

$ sudo apt-get install mplayer
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  liba52-0.7.4 libdirectfb-1.7-7 libenca0 libgles2 liblirc-client0 libmad0
  libmpeg2-4 libvorbisidec1
Vorgeschlagene Pakete:
  libdirectfb-extra lirc fonts-freefont-ttf mplayer-doc netselect | fping
Die folgenden NEUEN Pakete werden installiert:
  liba52-0.7.4 libdirectfb-1.7-7 libenca0 libgles2 liblirc-client0 libmad0
  libmpeg2-4 libvorbisidec1 mplayer
0 aktualisiert, 9 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 3'758 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 10.5 MB Plattenplatz zusätzlich benutzt.

SUSE Linux

Ubuntu 7.04 Feisty Fawn

Installation von mplayer 2.1.0~rc1 (Pakete "mplayer" und "mozilla-mplayer") über die Synaptic-Paketverwaltung.

Zusätzliche Codecs werden wie folgt installiert.

# wget ftp://ftp1.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2
# tar jxvf essential-20061022.tar.bz2
# mkdir /usr/lib/win32
# cp essential-20061022/* /usr/lib/win32

Ubuntu 8.04 Hardy Heron

Installation von Mplayer 2.1.0~rc2 (Pakete "mplayer" und "mozilla-mplayer") über die Synaptic-Paketverwaltung.

Installation zusätzlicher Codecs.

$ wget ftp://ftp1.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
$ tar jxvf essential-20071007.tar.bz2
$ sudo mkdir /usr/lib/win32
$ sudo cp essential-20071007* /usr/lib/win32

Noch einfacher lassen sich die zusätzlichen Codecs aus dem Repository "Medibuntu" über das Paket "w32codecs" installieren.

Konfiguration

Dateien

Systemweite Einstellungen in der Datei "/etc/mplayer/mplayer.conf"

Benutzereinstellungen in der Datei "~/.mplayer/config"

Input bindings (siehe "-input keylist" für die vollständige keylist) in "~/.mplayer/input.conf"

Schriftartenverzeichnis (es muss eine Datei "font.desc" sowie Dateien mit dem Suffix ".raw" geben) in der Datei "~/.mplayer/font/"

Skins im Verzeichnis "/usr/local/share/mplayer/Skin"

Anlegen der Dateien für die Benutzereinstellungen.

$ cd /tmp/MPlayer-1.0pre7try2/etc
$ cp codecs.conf input.conf ~/.mplayer
$ cp example.conf ~/.mplayer/config

Bearbeiten der Benutzereinstellungen.

$ vi ~/.mplayer/config
joystick=0
lirc=0
# vo=xv
ac=mad,ffmp2,
ao=alsa
cache=3000
cache-min=60
fs=yes
stop-xscreensaver="no"

# Untertitel mit Zeichensatz UTF-8
utf8=true
# vi /etc/rc.d/boot.local
# Needed by mplayer to avoid message "Linux RTC init error in ioctl"
echo 1024 > /proc/sys/dev/rtc/max-user-freq

Verwendung

Programmaufruf auf Konsole.

$ mplayer

Abspielen der neuesten MP4-Datei im aktuellen Verzeichnis.

$ mplayer "$(ls -1tr *.mp4 | tail -1)"

Programmaufruf der grafischen Benutzeroberfläche.

# chmod 664 /dev/rtc
$ gmplayer

Abspielen einer eingelegten Audio-CD.

$ mplayer cdda://*

Ausgeben eines Audio-Rohdaten-Streams in die Datei "./stream.dump" (nützlich mit MPEG/AC3).

$ mplayer -dumpaudio -dumpfile dumpfilename

Ausgeben eines Rohdaten-Streams in die Datei "./stream.dump" (nützlich beim Auslesen einer DVD oder aus dem Netzwerk).

$ mplayer -dumpstream -dumpfile dumpfilename

Erzwingen eines Neuaufbau des Filmindex. Nützlich bei Dateien mit defektem Index (desyncs, usw.). Danach ist auch die Suchfunktion über die Pfeiltasten möglich. Mit MEncoder kann ein Index auch permanent geflickt werden (siehe Dokumentation). Dieser Neuaufbau ist nur möglich, wenn das vorliegende Medium die Suche unterstützt (also nicht mit stdin, pipe, usw.).

$ mplayer -forceindex file

Neuaufbau des Index für die AVi-DAtei "file.avi", wenn kein Index gefunden wird, und dadurch Ermöglichung der Suchfunktion. Nützlich bei defekten oder unvollständigen Download-Dateien oder schlecht erzeugten AVI-Dateien. Dieser Neuaufbau ist nur möglich, wenn das vorliegende Medium die Suche unterstützt (also nicht mit stdin, pipe, usw.)

$ mplayer -idx file.avi

Abspielen im Vollbildschirm-Modus (mittet den Film ein und erzeugt schwarze Balken um ihn herum). Verschieben mit der F-Taste (nicht alle Videoausgaben unterstützen das). Siehe auch "-zoom".

$ mplayer -fs file

Einrichten, an welcher Position auf dem Bildschirm sich die Ausgabe bei Beginn befinden soll. Die x- und y-Angaben sind in Pixeln zu machen, gemessen von der linken oberen Bildschirmecke bis zur linken oberen Ecke des Bildes, das angezeigt werden soll.
Achtung: Diese Option wird nur von vo x11, xmga, xv, xvmc, xvidix, directx und tdfxfb unterstützt.

$ mplayer -geometry 50:40 file

Abspielen der Datei "movie.mpg" über den Framebuffer ("-vo fbdev") und Skalierung auf eine Auflösung von 800x600 Pixeln ("-vf scale=800:600").

$ mplayer -vo fbdev -fs -vf scale=800:600 movie.mpg

Abspielen der in der Online-Playlist enthaltenen Titel des Radiosenders MotorFM.

$ mplayer -playlist http://85.25.145.179/motorfm.mp3.m3u

Erzwingen des MP3-Codec "l3codeca.acm".

$ mplayer -ac mp3acm file

Versuche zuerst libmad, dann andere Audio-Codecs.

$ mplayer -ac mad file

Try hardware AC3 passthrough, then software AC3 codec, then others (the ',' sign).

$ mplayer -ac hwac3,a52, file

Versuche andere Audio-Codecs ausser Ffmpeg's MP3-Decoder.

$ mplayer -ac -ffmp3 file

Verfügbare (einkompilierte) Video-Codec-Familien bzw. -Gerätetreiber.

$ mplayer -vfm help

Verfügbare (einkompilierte) Audio-Codec-Familien bzw. -Gerätetreiber.

$ mplayer -afm help

Erzeugen einer PCM-Ausgabe der Datei "file.wma" in die Datei "audiodump.wav" im aktuellen Verzeichnis.

$ mplayer file.wma -ao pcm

Um Xv einzuschalten.

$ mplayer -vo xv movie.avi

...

$ mplayer -zoom -x 1600 -y 1200 film

...

$ mplayer -vo x11 file.avi

...

$ mplayer -ac ffmp2 file.mpg
$ mplayer -cdda speed=4 paranoia=2 noskip

Abspielen einer Videodatei, wobei nur der Ton ausgegeben wird, nicht aber das Bild.

$ mplayer -vc null -vo null file

Abspielen nur der ersten 3 Sekunden einer Datei

Im aktuellen Verzeichnis werden die ersten drei Sekunden aller Dateien abgespielt, die auf ".mp3" enden.

$ mplayer -endpos 3 *.mp3

Abspielen eines Ausschnitts einer Datei

Von der Datei "file.xyz" wird ein Ausschnitt abgespielt, der ab Sekunde 313 beginnt und 17 Sekunden lang dauert.

$ mplayer -ss 313 -endpos 17 file.xyz

Wiederholtes Abspielen dieses Ausschnitts.

$ mplayer -loop 0 -ss 313 -endpos 17 file.xyz

...

$ mplayer -fs -loop 0 -ss 389 -endpos 8 file.xyz

Abspielen mehrerer Dateien

Siehe https://unix.stackexchange.com/questions/9496/looping-through-files-with-spaces-in-the-names

Abspielen aller Dateien mit Endung ".mp4" im aktuellen Verzeichnis, wobei bloss jeweils die ersten vier Sekunden (von Sekunde 0 bis 4) des Videos angezeigt werden, bevor zum nächsten Video gewechselt wird.

$ find . -type f -name '*.mp4' -exec sh -c '
    for datei
      do
      echo "${datei}"
      mplayer -fs -ss 0 -endpos 4 "${datei}"
      done
    ' exec-sh {} +

Mit folgendem Befehl wird nach jedem Video eine Pause eingelegt - erst nach Drücken der Taste "RETURN" geht's weiter.

$ find . -type f -name '*.mp4' -exec sh -c '
    for datei
      do
      echo "${datei}"
      mplayer -fs -ss 0 -endpos 4 "${datei}"
      read line </dev/tty
      done
    ' exec-sh {} +

Abspielgeschwindigkeit

$ mplayer -speed 1.5 foo.avi

Bildausschnitt

Breite:Höhe:Position X-Achse:Position Y-Achse

$ mplayer -vf rectangle=500:500:500:100 file.mp4
$ mplayer -vf crop=500:500:500:100 file.mp4

Bildschirmausgabe

Erhebliche Verringerung der Textausgabe im Terminal. "-1" entspricht "absolute Stille", gibt aber dennoch einige zeilen aus.

$ mplayer -msglevel all=-1 file.avi
do_connect: could not connect to socket
connect: No such file or directory

Das Unterdrücken der vollständigen Textausgabe im Terminal funktioniert aber wie folgt.

$ mplayer file.avi > /dev/null 2>&1

Bildschirmgrösse

Haben die Cowboys alle etwas kurze Beine oder ist die Weltkugel von Universal Pictures plattgedrückt, so liegt das höchstwahrscheinlich an einem falschen Bildverhältnis.

$ mplayer -aspect 1.3333 file.avi
$ mplayer -aspect 1.7777 file.avi

Bildschirmposition

Anzeige des Fensters an Bildschirmposition Position x=10 und y=100.

$ mplayer -loop 0 -xy 800 -geometry 10:100 file.mpg

Bildschirmkopien

Aus der abgespielten Filmdatei "file.avi" können mit der Taste "s" Bildschirmkopien im PNG-Format erstellt werden, welche im Arbeitsverzeichnis abgespeichert werden.

$ mplayer -vf screenshot file.avi

Bluray-Disc abspielen

$ mplayer br:///dev/sr0

Extraktion der Tonspur

Im Allgemeinen können folgende Optionen verwendet werden.

Extraktion der Tonspur ohne Bearbeitung.

-dumpaudio -dumpfile newaudio.extension

Ausgabe der Ergebnisdatei als WAV-Datei "newaudio.wav".

-ao pcm -aofile newaudio.wav

Benutzung separater Audio-Dateien

Manchmal soll eine andere Ton-Datei zusammen mit dem Video abgespielt werden.

Abspielen des Videos aus der Datei "myvideo.avi" und den Ton aus der Datei "anotherlang.mp3".

$ mplayer -audiofile anotherlang.mp3 myvideo.avi

Auf diese Weise können mehrere Sprachversionen als separate Audiodateien verfügbar gemacht werden. Eine häufig verwendete Kombination ist die Verwendung der englischen Tonspur in der AVI-Datei und die zusätzliche Erzeugung anderer Tonspuren als separate Dateien.

Entfernung von Kammartefakten

Unter den verschiedenen Interlacing-Funktionen waren mir die folgenden beiden nützlich.

$ mplayer -vf tfields=1 filmdatei
$ mplayer -vf lavcdeint filmdatei

Bild rotieren

Folgende Einstellung dreht das Video um 90 Grad im Uhrzeigersinn.

$ mplayer -vf rotate=1 filmfile

Sprache

Anzeige der verfügbaren Audio-IDs. Im Beispiel sind die Audio-IDs 1, 2 und 3 verfügbar.

$ mplayer -v file.avi | grep "Audio stream found"
[aviheader] Audio stream found, -aid 1
[aviheader] Audio stream found, -aid 2
[aviheader] Audio stream found, -aid 3
CTRL+C
$ mplayer -aid 1 file.avi

Untertitel

$ mplayer -subfont-autoscale file.avi
$ mplayer -subfont-text-scale 3 file.avi

Vorhandene Untertitel können mit der Taste "V" aus- und wieder eingeblendet werden. Dies funktioniert natürlich nicht bei Filmdateien, bei denen die Untertitel direkt Teil des dargestellten Bildes sind.

Untertitel müssen - abgesehen von der Endung - denselben Namen wie die betreffende AVI-Datei haben. Sind im selben Verzeichnis die Dateien "movie.avi" und "movie.srt" vorhanden, so wird die Datei "movie.avi" mit Untertiteln der Datei "movie.srt" abgespielt.

$ mplayer -aid 1 film.mkv
...
libavformat version 59.27.100 (external)
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (ac3), -aid 0, -alang ger, German Line (PSO)
[lavf] stream 2: audio (eac3), -aid 1, -alang eng, English Line Mix (Experimental) AMC
[lavf] stream 3: audio (eac3), -aid 2, -alang eng, English V3 Collective Own
[lavf] stream 4: audio (eac3), -aid 3, -alang eng, English 2nd Audio Collective Own 
[lavf] stream 5: audio (eac3), -aid 4, -alang eng, English 3nd Audio Collective Own
[lavf] stream 6: audio (eac3), -aid 5, -alang spa, Latino Digital Collective Own
[lavf] stream 7: subtitle (srt), -sid 0, -slang ger, Forced German
[lavf] stream 8: subtitle (srt), -sid 1, -slang eng, Forced English
[lavf] stream 9: subtitle (ssa), -sid 2, -slang eng, Forced English Blackbar
[lavf] stream 10: subtitle (ssa), -sid 3, -slang ger, Forced German Blackbar
[lavf] stream 11: subtitle (ssa), -sid 4, -slang ger, Forced German Blackbar Big
[lavf] stream 12: subtitle (ssa), -sid 5, -slang eng, Forced English Blackbar Big
VIDEO:  [H264]  1920x888  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
...

Vergrössern

$ mplayer -vf scale -zoom -xy 800 datei.mp4

Zufällige Titel abspielen

FAQ

Audio- und Videospur laufen nicht synchron

Gründe für nicht synchron laufende Audio- und Videospuren gibt es mehrere. Ebenso gibt es mehrere Möglichkeiten zur Behebung des Problems - zu all den genannten Schaltern sollte bei Bedarf auch der jeweilige Eintrag in der Manpage ("man mplayer") zu Rate gezogen werden:

  • Während dem Ablaufen der Filmdatei kann mit den Tasten "+" und "-" die Audioverzögerung ("A-V delay") mit jedem Tastendruck um 100 ms (0.1 Sekunde) vergrössert bzw. verringert werden.
  • Der Schalter "-autosync Faktor" passt die A-V-Synchronisation auf der Grundlage von Messungen der Audioverzögerung an.
  • Der Schalter "-delay Sekunden" vergrössert oder verkleinert die Audioverzögerung und kann in positiven oder negativen Fliesskommawerten angegeben werden.
  • Der Schalter "-mc Sekunden pro Frame" bestimmt die maximale A-V-Sync-Korrektur pro Frame in Sekunden.
  • Der Schalter "-ni" erzwingt bei AVI-Dateien die Verwendung des non-interleaved AVI-Parsers.
  • Der Schalter "-nobps" verhindert bei AVI-Dateien mit defektem Header die Verwendung des durchschnittlichen Byte/Sekunden-Wertes für die A-V-Synchronisation
  • Je nach dem soll bei fehlerhaften Audio-Gerätetreibern auch der Schalter "-ao oss" (anstelle des standardmässigen "-ao alsa") etwas bringen.

Ist die Audiospur immer mit demselben Wert zu schnell oder zu langsam, so lässt sich dies normalerweise mit einer der oben genannten Möglichkeiten beheben. Ich hatte jedoch auch schon Filmdateien, die am Anfang wenig Verzögerung der Audiospur hatten, die Verzögerung wurde mit der Dauer des Films aber immer grösser (zuletzt 20 Sekunden). In diesem Fall half nur das gelegentliche Drücken der Tasten "+" bzw. "-" um die Synchronisation wieder herzustellen.

Beim Abspielen einer Filmdatei erscheint am unteren Bildschirmrand folgende Zeile. Es ist ganz nützlich zu wissen, was die einzelnen Werte zu bedeuten haben.

A:  34.9 V:  34.9 A-V:  0.000 ct:  0.000 1047/1047  6%  0%  1.3% 16 0 49% 
|        |        |           |          |    |     |   |   |    |  | |
|        |        |           |          |    |     |   |   |    |  | Grösse des Cache (um 50% ist normal)
|        |        |           |          |    |     |   |   |    |  Aktuelle Stufe des Image Postprocessing (bei Verwendung von "-autoq")
|        |        |           |          |    |     |   |   |    Anzahl zu verwerfender Frames, um die A-V-Synchronisation zu erhalten
|        |        |           |          |    |     |   |   Prozessorverwendung durch den Audiocodec
|        |        |           |          |    |     |   Prozessorverwendung durch video_out
|        |        |           |          |    |     Prozessorverwendung durch den Audiocodec (for slices and DR this includes video_out)
|        |        |           |          |    Anzahl dekodierter Frames (gezählt ab dem letzten Suchvorgang)
|        |        |           |          Anzahl abgespielter Frames (gezählt ab dem letzten Suchvorgang)
|        |        |           Gesamt durchgeführte A-V-Sync-Korrektur
|        |        Audio-Video-Unterschied in Sekunden (Verzögerung / delay)
|        Video-Position in Sekunden
Audio-Position in Sekunden

Was diese Zahlen im Fall einer Audioverzögerung genau nützen sollen, ist mir allerdings nicht klar. Untenstehende Zeile war beispielsweise in einem Film an einer Position zu sehen, an der ich mittels der Taste "-" bereits 12000 ms Audioverzögerung eingestellt hatte, um Video und Audio synchron zu halten.

A:1609.2 V:1609.2 A-V:  0.000 ct:  0.152 48229/48229  6%  0%  1.1% 0 0 49%

Audiospur wechseln

Gegeben ist eine mkv-Datei.

$ mplayer film.mkv
MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing film.mkv
libavformat version 58.20.100 (external)
libavformat file format detected.
[lavf] stream 0: video (hevc), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang eng, 2.0 Riff
[lavf] stream 2: audio (aac), -aid 1, -alang eng, 5.1 Movie
[lavf] stream 3: subtitle (srt), -sid 0, -slang eng
VIDEO:  [HEVC]  1920x816  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.35.100 (external)
Selected video codec: [ffhevc] vfm: ffmpeg (FFmpeg HEVC / H.265)
...

Im aktuellen Fall kann mit der Taste "#" zwischen der Spur 0 (mit Rifftrack), der Spur 1 (ohne Rifftrack) und einer tonlosen Spur ohne Nummer gewechselt werden.

Verzögerung beim Abspielen

Bei manchen Dateien dauert es nach dem Aufruf von mplayer etwa drei sekunden, bis die Datei tatsächlich abgespielt wird.

Zum Abstellen dieses Verhaltens wurden erfolglos folgende Schalter versucht:

-vo xv
-vo x11
-ao pulse 

Den genauen Grund für dieses Verhalten kenne ich nicht, derzeit auch keine Lösung.

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Mplayer Project eng MPlayerwbm Offizielle Homepage
NJIT eng FAQwbm
Mauriat Miranda eng MPlayer : Fedora guidewbm
Wikipedia ger Mplayerwbm Enzyklopädischer Artikel