2.4. Enkodieren mit MEncoder

Übersicht

MEncoder (MPlayers Movie Encoder) ist ein einfacher Filmenkoder, entworfen um Filme, die mit MPlayer abspielbar sind (AVI/DVD/VCD/VOB/MPG/MOV/VIV/NET), in ein anderes von MPlayer abspielbares Format (siehe unten) zu enkodieren. Zur Zeit ist es noch im Beta-Stadium und es enkodiert nur DivX4 (1 oder 2 Passes) Video und PCM/MP3/VBRMP3 Audio. Es verfügt auch stream-copy-Funktion. In Zukunft wird es auch zuscheiden des Videos, ändern der Größe und andere andere interessante Sachen beherrschen.

Kompilierung

Du bist fertig. Wie du möglichweise weisst benötigen andere Enkoder avifile. MEncoder braucht diese überhaupt nicht.

MEncoder Features :

Geplante Features :

Enkodieren von 2-Pass DivX4

Der Name kommt in der Tat daher, dass diese Methode die Datei zwei Mal enkodiert. Das erste Enkodieren (1.

Pass [=Durchlauf]) erzeugt einige temporäre Dateiei (*.log) mit einer Dateigröße von nur wenigen, lösche sie nicht (du kannst die AVI löschen). Im zeiten Pass wird die Ausgabedatei erzeugt, unter Verwendung der Bitraten-Daten der temporären Datei. Die entgültige Datei wird eine bessere Bildqualität besitzen. Wenn dies das erst Mal ist das du davon hörst, solltest du einige Guides in Internet lesen.

Dieses Beispiel zeigt dir, wie du eine DVD in ein 2-Pass DivX4 AVI enkodierst. Nur 2 Befehle sind erforderlich:
    mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100 -o movie.avi -pass 1
    mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100 -o movie.avi -pass 2

Rescaling des Videos

Oftmals ist die Änderung der Bildgröße erforderlich. Die Gründe darfür können verschieden sein, Beispiele sind das Verkleinern des Ausgabenbildes oder das Enkodieren von SVCD zu DivX. Bei gerippt DVDs wurde meinst die Größe geändert, zum Beispiel eine 4:3 DVD sollte 640x480 Pixel haben, insbesonders wenn es auf eine CD passen soll and eine gute Bildqualität zugleich aufweisen soll. SVCDs haben eine Größe von 480x480, wobei ihr Header jedoch die "Aspect Ratio" für den Player enthält (z.B.: 480x480 + 4:3 = 640x480). Wie auch immer, wenn du in eine AVI (DivX) Datei enkodierst musst du bedenken, dass der Header von AVI Dateien keine solche Infomation enthält. Darum ist die einzige Möglichkeit das Ändern das Auslösung.

Die Ausgabegröße wird mit der -x und -y Option angeben. Zusätzlich gibt es noch 3 verschiedene Filter für Rescaling in MEncoder, 0 : fast (schnell) 1 : bilinear, 2 : bilinear, bicubic (beste Qualität). Diese können mit der -sws Option ausgewählt werden. Wenn nichts angeben wird verwendet MEncoder 0 : fast bilinear.

Rescaling ist sehr einfach:
    mencoder sample-svcd.mpg -divx4opts br=1300 -x 640 -y 480 -sws 2 -o output.avi

Stream-Copy

MEncoder kann Input-Streams auf zwei Arten behandeln: enkodieren oder kopieren (copy). Diese Sektion erklärt das Kopieren copying.

Reparieren von AVIs mit defektem Index

Einfache Sache. Wir kopieren einfach die Video- und Audiostreams und MEncoder erzeugt das Index. Natürlich kann das keine Fehler in den Video- und/oder Audiostreams lösen.

Befehl: mencoder input.avi -ovc copy -oac copy -o output.avi

Syntax

  mencoder [Optionen] [Eingangsdatei] [Optionen] ...

Verfügbare Optionen

HINWEIS: lese die Manpage für alle verfügbaren Optionen!

   -o Dateiname    definiert den Namen der Ausgabedatei
   -x Breite in Pixel    ändert die Videoausgabe auf die angegebene Anzahl von Pixel
   -y Höhe in Pixel    ändert die Videoausgabe auf die angegebene Anzahl von Pixel
   -sws 0-2    Arte der Scaling-Methode
  0 - fast bilinear
  1 - bilinear
  2 - bicubic (beste Qualität)
   -ovc Codecname    Enkodiert mit dem angegebenen Codec (Codecnamen sind von codecs.conf). Beispiele:
  help - zeigt eine Liste der verfügbaren Codecs an
  copy - kein Enkodieren, kopiert den Stream (nur von AVI/ASF zur Zeit)
  divx4 - enkodiert zu DivX4
   -oac Codecname    Enkodiert mit dem angegebenen Codec (Codecnamen sind von codecs.conf). Beispiele:
  help - zeigt eine Liste der verfügbaren Codecs an
  copy - kein Enkodieren, kopiert den Stream (nur von AVI/ASF zur Zeit)
  pcm - enkodierten zu einem unkomprimiertem PCM
  mp3lame - enkodiert zu MP3 (verwendet Lame)
   -divx4opts    Wenn du zu DivX4 enkodierst kannst du hier die Parameter angeben, wie z.B.:
  -divx4opts br=1800:deinterlace:key=250
Allgemeine Optionen: (für eine vollständige Liste siehe Mapage!)
  help - zeigt die Hilfe
  br=XXX - gibt die Bitrate in kBit <4-16000> oder Bit <16001-24000000> an
  q=XXXX - Qualität (1-schnellste, 5-beste - standard 5)
   -lameopts    Wenn du zu MP3 mit libmp3lame enkodierst kannst du hier die Parameter angeben, wie z.B.:
  -lameopts q=3
  -lameopts br=192:cbr
Allgemeine Optionen: (für eine vollständige Liste siehe Manpage!)
  help - zeigt die Hilfe
  cbr - wählt CBR MP3 (standard ist VBR)
  br=XXX - definiert die Bitrate in <0-1024> (dies ist nur für CBR!)
  q=XXXX - Qualität (0-höchste, 9-schnellste - standard 0) (dies ist nur für VBR!)

Beispiele

Die Verwendung von MEncoder ist das Einfachste auf das Erde. Siehe folgendes:

Enkodierung von DVD, Titel 2:
    mencoder -dvd 2 -o title2.avi

Enkodierung von DVD, Title 2, mit Rescaling:
    mencoder -dvd 2 -x 640 -y 480 -sws 2 -o title2.avi

Enkodierung von HTTP:
    mencoder http://mplayer.hq/example.avi -o example.avi

Enkodierung von Pipe:
    rar p test-SVCD.rar | mencoder -divx4opts br=800 -ofps 24 -pass 1 -- -

Enkodierung von mehreren *.vob-Dateien:
    cat *.vob | mencoder <options> -

Enkodierung vom Tuner (für Tuner-Option siehe die TV-Input Sektion!):
    mencoder -tv on:driver=v4l:width=640:height=480 <options>

Lese die MEncoder Manpage um alle verfügbaren Optionen zu sehen.