Benutzer-Werkzeuge

Webseiten-Werkzeuge


mplayer

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
mplayer [2018-05-05 19:24:23] – [Film zuschneiden] manfredmplayer [2023-04-30 23:20:14] (aktuell) manfred
Zeile 1: Zeile 1:
 +====== MPlayer ======
 +
 +  * [[http://ffmpeg.org/|FFMpeg]]
 +    * [[http://www.MPlayerHQ.hu/|MPlayer]]
 +      * [[http://www.pro-linux.de/news/1/16877/mplayer2-neuentwicklung-startet.html|mit einem Fork unter dem Namen Mplayer2 plant eine Gruppe von Entwicklern die bekannte Multimedia-Applikation zu entschlacken und teils radikal umzubauen]]
 +      * [[http://www.mplayer2.org/|MPlayer2]]
 +        * [[http://www.pro-linux.de/news/1/20100/mplayer-neuer-fork-neuer-schwung.html|eine Gruppe von Entwicklern hat mit mpv einen neuen Fork von mplayer2 gestartet, der das Beste aus MPlayer und mplayer2 mit weiteren Verbesserungen kombinieren will]]
 +        * [[http://mpv.io/|mpv]]
 +
 +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
 +
 +  * [[http://www12.mplayerhq.hu/DOCS/HTML/de/index.html|Handbuch]]
 +  * [[http://www.elsniwiki.de/index.php/Main/VideoTipsNTricks|Tips und Tricks]]
 +  * [[http://www.chip.de/artikel/DVD-zu-MKV-konvertieren_42554115.html|DVD zu MKV konvertieren]]
 +
 +
 +==== MPlayer: abspielen von  Datei, VCD, DVD und Netz / VLC ====
 +
 +  * [[http://www.selflinux.org/selflinux/html/mplayer07.html]]
 +
 +
 +=== 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/   00:01    
 +  Fetching libdvdread-5.0.2.txz: 100%  108 KiB 110.8kB/   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:
 +  - den FFmpeg bzw. AVconv (neuer Name): [[FFmpeg#ein Stück aus dem Film rausschneiden]]
 +  - oder das Programm MEncoder aus dem alten MPlayer-Paket: [[mencoder#Film zuschneiden]]
 +
 +
 +==== Tonspur aus einem Film extrahieren ====
 +
 +Folgende Aufgaben sollen erfüllt werden.
 +  - Es soll ermittelt werden in welchem Format die Tonspur im Film vorliegt.
 +  - Liegt sie im AC-3 (DolbyDigital) - Format oder im AAC-Format vor, braucht sie nur kopiert werden und soll auf garkeinen Fall modifiziert werden.
 +  - Liegt sie in einem anderen Format vor, soll sie ins AC3- oder AAC-Format transcodiert werden.
 +  - Die Audio-Daten sollen in einem Container-Format abgelegt werden, welches von //mkvmerge// ([[mkvtoolnix]]) problemlos verarbeitet werden kann (z.B.: AVI, MPEG oder MKV).
 +  - 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.
 +
 +  * [[https://wiki.uugrn.org/Audio_aus_Video_extrahieren_mit_MPlayer|Audio aus Video extrahieren mit MPlayer]]
 +
 +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.
 +