Leider wird der MPlayer/MEncoder seit ein paar Jahren nicht mehr aktiv weiter entwickelt, weil es zu wenig Leute im Team gibt.
Infos über einen Film auslesen:
# mplayer Film.mpg -identify -frames 0 -nocache
# mplayer [Optionen] [Pfad/]Dateiname
# mplayer [standard Optionen] [Pfad/]Dateiname datei1 [Optionen für datei1] datei2 datei3 [Optionen für datei3]
# mplayer [Optionen] vcd://Tracknr [-cdrom-device /dev/cdrom]
# mplayer [Optionen] dvd://Titelnr [-dvd-device /dev/dvd]
# mplayer [Optionen] http://site.com/datei.asf (playlist kann auch benutzt werden)
# mplayer Playlist http://www.lds.org/broadcast/file/build/0,16929,2062,00.asx
# mplayer [Optionen] mms://stream.lds.org/genconf2004octGerman16
# mplayer [Optionen] udp://192.168.1.20:2008
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
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
Folgende Aufgaben sollen erfüllt werden.
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.
# mplayer Film.vob -aid 128 -vo null -dumpaudio -dumpfile Film.ac3
# 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
# mplayer Film.mpeg -benchmark -vo yuv4mpeg:file=Film.y4m -ao null
Die Videospur kann unverändert mit dem MEncoder extrahiert werden.