mplayer: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) |
Michi (Diskussion | Beiträge) |
||
Zeile 109: | Zeile 109: | ||
$ <b>mplayer</b> | $ <b>mplayer</b> | ||
Abspielen der neuesten M?4-Datei im aktuellen Verzeichnis. | |||
$ <b>mplayer "$(ls -1tr | tail -1)"</b> | |||
Programmaufruf der grafischen Benutzeroberfläche. | Programmaufruf der grafischen Benutzeroberfläche. |
Version vom 10. Oktober 2024, 12:51 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 M?4-Datei im aktuellen Verzeichnis.
$ mplayer "$(ls -1tr | 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
- 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/
$ 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
- 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.
$ 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.
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 |