Ü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
lame
Binary allein nicht genug ist. Übrigends: je weninger Optimierungen du für lame
verwendest, desto besser wird die Qualität. Du kannst die Qualität mit make test
nach dem Kompilieren von lame testen. Das Ergebnis (eine Zahl) sollte kleiner als 30 sein.
Aber keine Panik wenn sie 400 oder ändlich ist, du solltest keine mindere Qualität bemerken können.
Oh, und wenn dein Kompiler make test
nicht ausführt ... dann lösche GCC 2.96../configure
mit den optionalen Parametern, wie ünlich
(verwende --enable-tv
um den V4L Tuner Gabbing-Code einzubauen) und gib folgendes es:
make mencoder
, danach make install
.Du bist fertig. Wie du möglichweise weisst benötigen andere Enkoder avifile. MEncoder braucht diese überhaupt nicht.
MEncoder Features :
-ofps
Option (hilfreich beim Enkodieren von 29.97fps VOB zu 24fps AVI)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.
-ovc copy
) : nette Sachen können erledigt werden :)-oac copy
) : siehe oben.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.