MPlayer

Leider wird der MPlayer/MEncoder seit ein paar Jahren nicht mehr aktiv weiter entwickelt, weil es zu wenig Leute im Team gibt.

allgemeines

Infos über einen Film auslesen:

# mplayer Film.mpg -identify -frames 0 -nocache

MPlayer: abspielen von Datei, VCD, DVD und Netz / VLC

Datei

# mplayer [Optionen] [Pfad/]Dateiname

Datei

# mplayer [standard Optionen] [Pfad/]Dateiname datei1 [Optionen für datei1] datei2 datei3 [Optionen für datei3]

VCD

# mplayer [Optionen] vcd://Tracknr [-cdrom-device /dev/cdrom]

DVD

# mplayer [Optionen] dvd://Titelnr [-dvd-device /dev/dvd]

Netz (HTTP)

# mplayer [Optionen] http://site.com/datei.asf (playlist kann auch benutzt werden)

Netz (HTTP + Playlist)

# mplayer Playlist http://www.lds.org/broadcast/file/build/0,16929,2062,00.asx

Netz (MMS)

# mplayer [Optionen] mms://stream.lds.org/genconf2004octGerman16

Netz (UDP)

# mplayer [Optionen] udp://192.168.1.20:2008

Optische Disks im URL-Format

Die neusten Versionen von MPlayer akzeptieren auch VCD- und DVD-Tracks im URL-Format, so wie z.B. auch Xine.

# mplayer [Optionen] dvd://1
# mplayer [Optionen] vcd://1

Film von einer DVD auf Platte schreiben

Wenn die libdvdcss2 installiert ist, können auch CSS-verschlüsselte DVD's verwendet werden.

# mplayer dvd://1 -dumpstream -dumpfile title1.mpg

zum Beispiel so:

# mplayer dvd://3-4 -dvd-device /dev/cd0 -dumpstream -dumpfile /var/tmp/film.mpg -dvdangle 2
...
audio stream: 0 format: ac3 (5.1) language: en aid: 128.
audio stream: 1 format: ac3 (5.1) language: de aid: 129.
audio stream: 2 format: ac3 (5.1) language: tr aid: 130.
number of audio channels on disk: 3.
subtitle ( sid ): 1 language: en
subtitle ( sid ): 3 language: en
subtitle ( sid ): 5 language: de
subtitle ( sid ): 7 language: tr
subtitle ( sid ): 9 language: en
subtitle ( sid ): 11 language: de
subtitle ( sid ): 13 language: tr
number of subtitles on disk: 7
# mplayer -idx -aid 129 -sid 4 /var/tmp/film.mpg

oder

# mplayer dvd://1 -dvd-device /dev/dvd -dumpstream -dumpfile title1.mpg
# mplayer -idx -aid 129 -sid 5 title1.mpg

Tonspur aus einem Film extrahieren

Folgende Aufgaben sollen erfüllt werden.

  1. Es soll ermittelt werden in welchem Format die Tonspur im Film vorliegt.
  2. Liegt sie im AC-3 (DolbyDigital) - Format oder im AAC-Format vor, braucht sie nur kopiert werden und soll auf garkeinen Fall modifiziert werden.
  3. Liegt sie in einem anderen Format vor, soll sie ins AC3- oder AAC-Format transcodiert werden.
  4. Die Audio-Daten sollen in einem Container-Format abgelegt werden, welches von mkvmerge (mkvtoolnix) problemlos verarbeitet werden kann (z.B.: AVI, MPEG oder MKV).
  5. Die Tonspur sollte an Hand ihrer Audio-ID ausgelesen werden können, da manche DVD's kein LABEL auf ihren Tonspuren besitzen (z.B. bei der DVD „NEXT“).

Die ersten beiden Punkte können vom MPlayer und MEncoder erfüllt werden, der dritte Punkt kann nur vom MEncoder erfüllt werden. Allerdings unter Missachtung von Punkt vier, denn MEncoder schreibt noch Video-Frames mit dem Namen „noframes“ in den Container. Damit kommt mkvmerge (mkvtoolnix) nicht richtig klar, so das die Videos nicht mehr auf allen Geräten abgespielt werden können.

FFmpeg kann die ersten vier Punkte komplett abarbeiten, allerdings versagt es kläglich beim Punkt fünf. Denn leider kann man ihm nicht die Audio-ID mitgeben. Weiterhin besitzt FFmpeg ein Memory-Leak und kann deshalb nicht bei großen Filmen eingesetzt werden.

Der Punkt fünf wird sowohl von MPlayer als auch vom MEncoder erfüllt.

Unter Verwendung von MPlayer braucht man für Punkt drei ein separates Programm (z.B.: faac), leider wird die Tonspur dann aber zwei mal transcodiert. Erst von MPlayer ins WAVE-Format und dann von faac ins AAC-Format. Die Umsetzung ins WAVE-Format durch MPlayer ist recht Verlustarm (vielleicht sogar Verlustfrei) und so kann man mit diesem Zwischenschritt leben.

Also bleibt als einzige Lösung nur die Kombination von mplayer und faac um mkvmerge (mkvtoolnix) eine ordentliche Tonspur im gewünschten Format mit gewünschter Qualität bereit zu stellen.

MPlayer kann nur die Originaltonspur dumpen oder eine WAVE-Datei ordentlich schreiben. Allerdings kann er die Tonspur beim dumpen nicht in ein anderes Format umwandeln!

Hinweis: Es kann zu deutlichem Geschwindigkeitszuwachs kommen, wenn MPlayer die Option -vc dummy zusätzlich mit übergeben wird. Diese schaltet das Decodieren der Video Daten ab. Dies führt aber ggf. zu Problemen.

Tonspur unverändert dumpen (-dumpaudio)

# mplayer Film.vob -aid 128 -vo null -dumpaudio -dumpfile Film.ac3

Tonspur als WAVE dumpen (-ao pcm)

# mplayer -ao help
MPlayer SVN-r1.0~rc3+svn20090426-4.4.3 (C) 2000-2009 MPlayer Team
Available audio output drivers:
        oss     OSS/ioctl audio output
        alsa    ALSA-0.9.x-1.x audio output
        esd     EsounD audio output
        pulse   PulseAudio audio output
        jack    JACK audio output
        nas     NAS audio output
        sdl     SDLlib audio output
        openal  OpenAL audio output
        mpegpes DVB audio output
        v4l2    V4L2 MPEG Audio Decoder output
        null    Null audio output
        pcm     RAW PCM/WAVE file writer audio output

Hier kann man sehen, das MPlayer die Tonspur leider nur ins „pcm“-Format (WAVE) aber nicht ins „AAC“-Format zum Beispiel transcodieren kann! Dafür braucht man dann ein weiteres Programm (zum Beispiel faac).

# mplayer -vo null -ao pcm Film.mpeg &
# faac -r -b 192 --tns -o Film.aac audiodump.wav
# rm audiodump.wav

Um sich die temporäre WAVE-Datei zu sparen, kann man auch mkfifo verwenden.

# mkfifo Film.wav
# mplayer -vo null -ao pcm:waveheader:file=Film.wav Film.mpeg &
# faac -r -b 192 --tns -o Film.aac Film.wav
# rm Film.wav

Die pcm-Option „fast“ versucht schneller als mit der eigentlichen Abspielgeschwindigkeit auszugeben. Wenn die Ausgabe abgeschnitten wird (normalerweise mit der Nachricht „Zu viele Videopakete im Puffer“), dann sollte diese Option wieder entfernt werden. Es ist normal, dass du die Nachricht „Your system is too SLOW to play this!“ bekommst.

# mkfifo Film.wav
# mplayer -vo null -ao pcm:fast:waveheader:file=Film.wav Film.mpeg &
# faac -r -b 192 --tns -o Film.aac Film.wav
# rm Film.wav

Videospur aus einem Film extrahieren

# mplayer Film.mpeg -benchmark -vo yuv4mpeg:file=Film.y4m -ao null

Die Videospur kann unverändert mit dem MEncoder extrahiert werden.

 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki