Benutzer-Werkzeuge

Webseiten-Werkzeuge


mplayer

MPlayer

Leider wird der MPlayer/MEncoder seit ein paar Jahren nicht mehr aktiv weiter entwickelt, weil es zu wenig Leute im Team gibt. Zur Zeit wird von ihnen nur der FFmpeg aktiv gepflegt. Allerdings hat der FFmpeg in meinen Tests einige Dinge nicht so ordentlich gemacht wie der MPlayer, deshalb verwende ich den FFmpeg praktisch garnicht mehr.

Hier meine alte Seite zum MPlayer: os4_software_mplayer

GMplayer

Damit der GMplayer auch ein Bild zeigt, wenn man eine 3D-Grafikkarte mit entsprechendem Treiber installiert hat, muß die Video-Ausgabe auf "gl" eingestellt werden und sinnvollerweise tragen wir auch gleich noch die richtigen Gerätedateinamen für unser CD/DVD-Laufwerk ein.

sollte noch keine Datei dort liegen, genügt es auch, wenn man eine neue Datei anlegt und nur diese drei Zeilen einträgt:

vi ~/.mplayer/gui.conf
cdrom_device=/dev/cd0
dvd_device=/dev/cd0
vo_driver=gl

allgemeines

Möchte man den Film erst ab einer bestimmten Stelle ansehen, dann ist die Option -ss sehr nützlich. Mit ihr wird angegeben, welche Zeitspanne übersprungen werden soll, allerdings funktioniert sie nur dann, wenn MPlayer seine Video-Daten aus eine Datei liest! Werden die Video-Daten durch eine Pipe an MPlayer übergeben, dann funktioniert diese Option nicht!

Möchte man nur eine bestimmte Zeitspanne sehen, dann ist die Option -endpos sehr nützlich. Diese Option funktioniert auch bei Verwendung einer Pipe.

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 dvd://1 [Optionen]
# mplayer vcd://1 [Optionen]

Film von einer DVD auf Platte schreiben

Diese Methode funktioniert, nach meiner Erfahrung, auch mit "Blickwinkel"-Aufnahmen sehr gut.

-idx - Index, wenn der Index kaputt ist, dann kann man nicht vor- oder zurückspulen
-aid - Tonspur
-sid - Untertietel-ID

Infos über die Filme auf der DVD anzeigen:

# mplayer dvd:// -identify -frames 0 -nocache
Playing dvd://.
ID_DVD_TITLES=11
ID_DVD_TITLE_1_CHAPTERS=2
ID_DVD_TITLE_1_ANGLES=1
ID_DVD_TITLE_2_CHAPTERS=2
ID_DVD_TITLE_2_ANGLES=1
ID_DVD_TITLE_3_CHAPTERS=1
ID_DVD_TITLE_3_ANGLES=1
ID_DVD_TITLE_4_CHAPTERS=21
ID_DVD_TITLE_4_ANGLES=1
ID_DVD_TITLE_5_CHAPTERS=2
ID_DVD_TITLE_5_ANGLES=1
ID_DVD_TITLE_6_CHAPTERS=2
ID_DVD_TITLE_6_ANGLES=1
ID_DVD_TITLE_7_CHAPTERS=2
ID_DVD_TITLE_7_ANGLES=1
ID_DVD_TITLE_8_CHAPTERS=2
ID_DVD_TITLE_8_ANGLES=1
ID_DVD_TITLE_9_CHAPTERS=2
ID_DVD_TITLE_9_ANGLES=1
ID_DVD_TITLE_10_CHAPTERS=2
ID_DVD_TITLE_10_ANGLES=1
ID_DVD_TITLE_11_CHAPTERS=2
ID_DVD_TITLE_11_ANGLES=1
ID_DVD_TITLE_1_LENGTH=25.360
ID_DVD_TITLE_2_LENGTH=14.400
ID_DVD_TITLE_3_LENGTH=0.600
ID_DVD_TITLE_4_LENGTH=7172.080
ID_DVD_TITLE_5_LENGTH=61.400
ID_DVD_TITLE_6_LENGTH=144.360
ID_DVD_TITLE_7_LENGTH=98.600
ID_DVD_TITLE_8_LENGTH=61.120
ID_DVD_TITLE_9_LENGTH=8.480
ID_DVD_TITLE_10_LENGTH=8.560
ID_DVD_TITLE_11_LENGTH=8.600
ID_DVD_DISC_ID=B34AC12EF4BECE6D45D5E41D23431C39
ID_DVD_VOLUME_ID=OBLIVION
There are 11 titles on this DVD.
ID_DVD_CURRENT_TITLE=1
There are 1 angles in this DVD title.
...

hier wählt man den Titel mit der längsten Spielzeit oder mehrere Titel…

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

# mplayer dvd://4 -dumpstream -dumpfile title4.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 /var/tmp/film.mpg -idx -aid 129 -sid 4

oder

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

Beispiel mit FreeBSD 10

Benötigt wird libdvdread + libdvdcss;
Weil FFmpeg leider libdvdread nicht unterstützt, muss MPlayer eingesetzt werden.

Es muss MPlayer2 + libdvdread + libdvdcss installiert werden:

> cd /usr/ports/multimedia/libdvdread && make clean ; make config-recursive ; make && make install && make clean

oder das Binärpaket aus dem Repository:

> pkg install multimedia/mplayer2
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 2 packages will be affected (of 0 checked):

New packages to be INSTALLED:
        mplayer2: 2.0.20130428_11

Installed packages to be REINSTALLED:
        libdvdread-5.0.2 (options changed)

The process will require 2 MiB more space.
823 KiB to be downloaded.

Proceed with this action? [y/N]: y
Fetching mplayer2-2.0.20130428_11.txz: 100%  715 KiB 732.5kB/s    00:01    
Fetching libdvdread-5.0.2.txz: 100%  108 KiB 110.8kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/2] Reinstalling libdvdread-5.0.2...
[1/2] Extracting libdvdread-5.0.2: 100%
[2/2] Installing mplayer2-2.0.20130428_11...
[2/2] Extracting mplayer2-2.0.20130428_11: 100%
Message for mplayer2-2.0.20130428_11:
 ==================================================================
MPlayer's system-wide configuration dir is

/usr/local/etc/mplayer

===================================================================
If seeking in streams causes the playback volume to be reset to
the previous setting (on 8.x or newer system with VPC enabled),
you and you dislike this behaviour, you have two options:
- Use mplayer's -softvol command line option
- Set the sysctl hw.snd.vpc_autoreset to 0
===================================================================

und dann klappt es auch:

> mplayer --identify --frames=0 dvd://
> mplayer dvd://1 -mc 0 -forceidx -aspect 16:9 -dvdangle 1 -dumpstream --dumpfile=Film.mpg
> mplayer --identify --frames=0 Film.mpg
> mplayer -aid 1 Film.mpg

wenn nicht, dann kann man es noch so versuchen:

> mplayer dvd://1//dev/cd0 -mc 0 -forceidx -aspect 16:9 -dvdangle 1 -dumpstream --dumpfile=Film.mpg --no-autosub --autosync=0

Audio und Video getrennt abspeichern:

> mplayer dvd://1//dev/cd0 -forceidx --dumpaudio --dumpfile=Audio.mpg
> mplayer dvd://1//dev/cd0 -forceidx -aspect 16:9 -dvdangle 1 --no-autosub --dumpvideo --dumpfile=Video.mpg

Film-Datei reparieren

weil MPlayer recht tollerant ist und defekte Stellen (im Gegensatz zu FFmpeg) überspringen kann, ist es möglich eine beschädigte Film-Datei mit MPlayer in gewisser Weise zu reparieren:

> mplayer Originalfilm_bricht_mitten_drin_ab.mp4 -dumpstream -dumpfile Film_abspielbar.mp4

… aber, es klappt nicht immer!

Film zuschneiden

so schneidet man aus einem Film von der 419. Sekunde bis zur 1885. Sekunde ein Stück raus:

> mplayer -ss 419 --endpos 1885 Film.avi -dumpstream -dumpfile Film.cut.avi

neuere Versionen (Stand 2018) verwenden diese Parameter:

> mplayer -sstep 419 -endpos 1885 Film.avi -dumpstream -dumpfile Film.cut.avi

Einen Film kann man auch mit folgenden Programmen zuschneiden:

  1. den FFmpeg bzw. AVconv (neuer Name): ein Stück aus dem Film rausschneiden
  2. oder das Programm MEncoder aus dem alten MPlayer-Paket: Film zuschneiden

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.

/home/http/wiki/data/pages/mplayer.txt · Zuletzt geändert: von manfred