Benutzer-Werkzeuge

Webseiten-Werkzeuge


mencoder

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mencoder [2014-11-09 13:23:56] manfredmencoder [2020-06-22 17:39:32] (aktuell) manfred
Zeile 1: Zeile 1:
 +====== Mencoder ======
 +
 +  * [[http://www.mplayerhq.hu/DOCS/HTML-single/de/MPlayer.html|Das Handbuch]]
 +  * [[http://www.chip.de/artikel/DVD-zu-MKV-konvertieren_42554115.html|DVD zu MKV konvertieren]]
 +  * [[http://www.mplayerhq.hu/DOCS/HTML/de/menc-feat-dvd-mpeg4.html|Erzeugen eines hochwertigen MPEG-4-Rips ("DivX") eines DVD-Films]]
 +
 +Leider wird der MPlayer/MEncoder seit ein paar Jahren nicht mehr aktiv weiter entwickelt,
 +weil es zu wenig Leute im Team gibt.
 +
 +
 +===== Daumenkino mit MEncoder =====
 +
 +Zum Beispiel so zu einem DivX 5 - Film:
 +
 +  # mencoder "mf://*.png" -mf fps=10 -o Daumenkino.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:autoaspect:mbd=1:trell=yes:v4mv=yes
 +
 +oder auch so zu einem MJPEG-Film:
 +
 +  # mencoder "mf://*.jpg" -mf fps=10 -o Daumenkino.avi -ovc lavc -lavcopts vcodec=mjpeg:vbitrate=1800:mbd=1
 +
 +Andere Codec's, Bitraten und Bildwiederholraten sind natürlich auch möglich.
 +
 +
 +===== 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 MEncoder seine Video-Daten
 +aus eine Datei liest!
 +Werden die Video-Daten durch eine Pipe an MEncoder ü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.__
 +
 +
 +===== Audio-Spur extrahieren =====
 +
 +Lib-AV-Code + Lib-AV-Container (das funktioniert aber leider nicht):
 +  # mencoder Film.avi -ovc frameno -oac lavc -lavcopts acodec=pcm_s16le:abitrate=1536 -of lavf -lavfopts format=wav -o Ton.wav
 +
 +nativer Code + nativem Container:
 +  # mencoder Film.avi -ovc frameno -oac pcm -o Ton.avi
 +
 +Unter diesen Bedingungen bringt der Einsatz von //''MEncoder''// keine Vorteile,
 +da man ja sowieso nocheinmal den //''MPlayer''// braucht.
 +
 +Anders sieht es aus, wenn man nur einen Ausschnitt braucht (z.B.: von der 5855. Sekunde 373 Sekunden lang):
 +  # mencoder Film.avi -ss 5855 -endpos 373 -ovc frameno -oac pcm -o Ton.avi
 +
 +dann die Tonspur mit MPlayer in einen WAVE-Container dumpen und bei Erfolg die AVI-Zwischendatei löschen:
 +  # mplayer Ton.avi -forceidx -vo null -dumpaudio -dumpfile Ton.wav && rm Ton.avi
 +
 +
 +===== Video-Spur extrahieren =====
 +
 +verlusstfrei und unkomprimierte Video-Spur in einen AVI-Container schreiben, allerdings wird die Datei dann riesengroß:
 +  # mencoder Film.avi -nosound -ovc raw -noskip -vf scale,softskip,harddup,format=bgra -o Bild.avi
 +
 +verlusstfrei und mit FFv1 komprimierte Video-Spur in einen AVI-Container schreiben, mit FFv1 wird die Datei deutlich kleiner (7-8 mal kleiner):
 +  # mencoder Film.avi -nosound -ovc lavc -lavcopts vglobal=1:vcodec=ffv1:format=bgra:keyint=4 -noskip -vf scale,softskip,harddup,format=bgra -o Bild.avi
 +
 +unkomprimierte Video-Spur (mit Deinterlacing-Filter) in eine Pipe schreiben:
 +  # mencoder Film.avi -nosound -ovc raw -noskip -vf pp=ci/hb/vb/dr/al,scale,softskip,harddup,format=i420 -of rawvideo -really-quiet -o - | x264 - --input-res 720x576 ...
 +  # mencoder Film.avi -nosound -ovc raw -noskip -vf pp=ci/hb/vb/dr/al,scale,softskip,harddup,format=bgra -of rawvideo -really-quiet -o - | x264 - --input-res 720x576 ...
 +
 +
 +===== Film zuschneiden =====
 +
 +siehe auch: [[FFmpeg#ein Stück aus dem Film rausschneiden]]
 +
 +Die **Startposition** wird mit der Option **"-ss"** und die **Länge** des zu speichernden Filmausschnittes wird mit der Option **"-endpos"** angegeben.
 +
 +Zeiten in Stunden:Minuten:Sekunden angeben:
 +  # mencoder -forceidx -ovc copy -oac copy -ss 0:7:12 -endpos 0:43:57 -o video-short.avi video.mpg
 +
 +Zeiten in Sekunden angeben:
 +  # mencoder -forceidx -ovc copy -oac copy -ss 432 -endpos 2637 -o video-short.avi video.mpg
 +
 +  * ''**-forceidx**'' - der Index soll auf jeden Fall neu berechnet werden
 +  * ''**-ovc copy**'' - Bildspur soll nur kopiert, nicht bearbeitet werden
 +  * ''**-oac copy**'' - Tonspur soll nur kopiert, nicht bearbeitet werden
 +  * ''**-ss**'' - Startposition
 +  * ''**-endpos**'' - Laufzeit ab Startposition (nicht, wie der Name sugeriert, die Endposition)
 +  * ''**-o**'' - Ausgabedatei
 +
 +Diese beiden Optionen funktionieren nicht zusammen mit Transcodieroption!
 +Also nur zusammen mit "-ovc copy -oac copy" oder "-ovc copy -noaudio".
 +
 +Deshalb muss man diese Optionen, zum zuschneiden, mit einem Extraaufruf verwenden.
 +Es ist auch möglich "-ss" und "-endpos" jeweils separat zu benutzen.
 +
 +**Hiermit wird nicht "Frame"-genau geschnitten, sondern nur "I-Frame"-genau!**
 +
 +Beispielsweise könnte eine praktische Anwendung so aussehen:
 +
 +Wenn man auf einer DVD mehrere Folgen einer Serie aufgenommen hat
 +und diese dummerweise in einer einzigen Datei gespeichert hat,
 +möchte man sie sicherlich wieder auseinander schneiden.
 +
 +In diesem Fall ist zu beachten, das der Index komplett neu geschrieben werden muss,
 +an jeder Position in der Datei, an der eine Folge beginnt der Index die Zeit 00:00:00
 +aufweist:
 +  # mencoder 4_Folgen.mpg -forceidx -ovc copy -oac copy -o 4_Folgen_neuer_Index.avi
 +
 +Jetzt kann man mit einem Videoplayer, der die aktuelle Position anzeigen kann, wie z.B. Totem oder VLC,
 +die Zeitpunkte ermitteln und notieren, an denen eine neue Folge beginnt.
 +
 +Mit diesen Zeiten können wir nun aus der Datei mit dem durchgehenden Index (4_Folgen_neuer_Index.avi) die vier Folgen, von je 19 Minuten und 20 Sekunden Länge, separat herausschneiden:
 +  # mencoder 4_Folgen_neuer_Index.avi -forceidx -ovc copy -oac copy -ss 00:00:00 -endpos 00:19:20 -o Folge_1.avi
 +  # mencoder 4_Folgen_neuer_Index.avi -forceidx -ovc copy -oac copy -ss 00:19:20 -endpos 00:19:20 -o Folge_2.avi
 +  # mencoder 4_Folgen_neuer_Index.avi -forceidx -ovc copy -oac copy -ss 00:38:40 -endpos 00:19:20 -o Folge_3.avi
 +  # mencoder 4_Folgen_neuer_Index.avi -forceidx -ovc copy -oac copy -ss 00:58:00 -endpos 00:19:20 -o Folge_4.avi
 +
 +Bei jeder einzelnen Folge wird ebenfalls noch einmal der Index neu berechnet, damit die Zeitangaben stimmen.
 +
 +Sollte es sich um eine Datei handeln, die einen Video- bzw. Audio-Codec enthält, der/die nicht in einem AVI-Container
 +abgelegt werden können, dann sollte man einen Container verwenden, der alles kann.
 +
 +Beispielsweise ist der Matroska-Container so ein universell einsetzbarer Container:
 +  # mencoder 4_Folgen.mp4 -forceidx -ovc copy -oac copy -of lavf -lavfopts format=matroska -o 4_Folgen_neuer_Index.mkv
 +  # mencoder 4_Folgen_neuer_Index.mkv -forceidx -ovc copy -oac copy -ss 00:00:00 -endpos 00:19:20 -of lavf -lavfopts format=matroska -o Folge_1.mkv
 +  # mencoder 4_Folgen_neuer_Index.mkv -forceidx -ovc copy -oac copy -ss 00:19:20 -endpos 00:19:20 -of lavf -lavfopts format=matroska -o Folge_2.mkv
 +  # mencoder 4_Folgen_neuer_Index.mkv -forceidx -ovc copy -oac copy -ss 00:38:40 -endpos 00:19:20 -of lavf -lavfopts format=matroska -o Folge_3.mkv
 +  # mencoder 4_Folgen_neuer_Index.mkv -forceidx -ovc copy -oac copy -ss 00:58:00 -endpos 00:19:20 -of lavf -lavfopts format=matroska -o Folge_4.mkv
 +
 +
 +===== mehrere Filme zusammenfühgen =====
 +
 +  # mencoder -forceidx -ovc copy -oac copy -o Film_komplett.avi Film01.avi Film02.avi Film03.avi
 +
 +  # mencoder -forceidx -ovc copy -oac copy -of lavf -lavfopts format=matroska -o Film_komplett.mkv Film01.avi Film02.avi Film03.avi
 +
 +
 +==== Filme mit dem MEncoder zuschneiden ====
 +
 +
 +=== ein Denkmodel mal durchgespielt ===
 +
 +Wenn ich den Index neu schreiben muss, kann ich das nur mit dem MEncoder tun.
 +
 +Leider muss ich dann aber auch eine AID angeben und dann kann ich ja die
 +Tonspur auch gleich ins PCM-Format überführen, dadurch bin ich bei der Wahl
 +der weiteren benötigten Programme etwas flexibeler.
 +
 +Leider kann MEncoder das nicht mit jedem Container.
 +
 +//Zum Beispiel verwende ich mit Vorliebe den Matroska-Container://
 +  # mencoder Testfilm.mkv -forceidx -mc 0 -noskip -vf scale,softskip,harddup -ovc copy -oac pcm -demuxer lavf -lavfdopts format=matroska -of lavf -lavfopts format=matroska -o z.mkv
 +  ...
 +  videocodec: framecopy (716x428 0bpp fourcc=34363248)
 +  VIDEO CODEC ID: 28
 +  AUDIO CODEC ID: 2e, TAG: 0
 +  Writing header...
 +  [matroska @ 0x7f47585a3940]Codec for stream 0 does not use global headers but container format requires global headers
 +  [matroska @ 0x7f47585a3940]Codec for stream 1 does not use global headers but container format requires global headers
 +  [matroska @ 0x7f47585a3940]No wav codec ID found.
 +  Gleitkomma-Ausnahme (Speicherabzug geschrieben)
 +
 +//Dann beschwert MEncoder sich darüber, dass der Container einen "global header" benötigt.
 +Den kann man auch mit der Lib-AV schreiben, nur dann muss man als Video-Ausgabe-Codec einen Lib-AV-Codec verwenden...
 +und da gibt es zwar verlusstfreie Codecs aber keinen "copy"! Das bedeutet, es wird wieder Rechenleistung verbraucht um einen
 +Transcodiervorgang durchzuführen der auch immer mit einem Qualitätsverlusst verbunden ist.
 +Und dann darf man nicht vergessen, auch die Audio-Spur muss dann mit einem Lib-AV-Codec nocheinmal transcodiert werden://
 +  # mencoder Testfilm.mkv -forceidx -mc 0 -noskip -vf scale,softskip,harddup -ovc lavc -lavcopts vglobal=1:vcodec=ffv1:format=422P:keyint=6 -oac lavc -lavcopts aglobal=1:acodec=pcm_s16le:abitrate=1536 -demuxer lavf -lavfdopts format=matroska -of lavf -lavfopts format=matroska -o z.mkv
 +
 +//Nur leider funktioniert das beim MEncoder nicht richtig, sobald man die Audio-Spur per Lib-AV in das PCM-Format (Standard-Wave-Codec)
 +umrechnen lässt (-oac lavc -lavcopts acodec=pcm_s16le:abitrate=1536), verbraucht der MEncoder 100% der Rechenleistung und nichts weiter passiert...
 +Selbst dieses einfache Kommando hat diesen Effekt://
 +  # mencoder Testfilm.mkv -ovc frameno -oac lavc -lavcopts acodec=pcm_s16le -of avi -o z.avi
 +
 +Wenn ich also den AVI-Container verwende um Problemen vorzubeugen (denn der wird von MEncoder am besten unterstützt),
 +dann muss ich auch einen Video-Codec wählen, der vom AVI-Container und vom MEncoder unterstützt wird.
 +Am besten ist er noch verlustfrei, da es sich hier nur um ein Zwischenformat handeln soll.
 +
 +Hier mal ein paar Tests mit verlusstfreien Video-Formaten (ich habe die Tests mit __"422P"__ durchgeführt, allerdings bevorzuge ich das verbreitete Format __"BGRA"__, welches auch eine bessere Qualität liefert, genauso gut wie __"BGR32"__):
 +
 +Das Test-Video (Testfilm.mkv) ist 79MB groß und enthält eine AVC-Video-Spur (ähnlich wie BluRay) und eine AAC-Audio-Spur.
 +
 +Als verlustfreies und vom AVI-Container sowie vom MEncoder unterstütztes (Zwischen-)Format verwende ich hier den Lib-AV-Codec "FFv1" im "422P"-Format:
 +  # mencoder Testfilm.mkv -forceidx -mc 0 -noskip -vf scale,softskip,harddup -ovc lavc -lavcopts vcodec=ffv1:format=422P:keyint=6 -oac pcm -of avi -o z.avi
 +
 +Die neue Zwischenfilmdatei "z.avi" ist 1,1 GB das  entspricht 1413 %. Würde man von einer 8GB großen Videodatei auf diese Weise eine Zwischenfilmdatei erzeugen, dann wäre sie ca. 113GB groß.
 +
 +Als verlustfreies und vom AVI-Container sowie vom MEncoder unterstütztes (Zwischen-)Format verwende ich hier den verbreiteten Codec "huffyuv" im "422P"-Format:
 +  # mencoder Testfilm.mkv -forceidx -mc 0 -noskip -vf scale,softskip,harddup -ovc lavc -lavcopts vcodec=huffyuv:format=422P:keyint=6 -oac pcm -of avi -o z.avi
 +
 +Die neue Zwischenfilmdatei "z.avi" ist 2,6 GB das  entspricht 3379 %. Würde man von einer 8GB großen Videodatei auf diese Weise eine Zwischenfilmdatei erzeugen, dann wäre sie ca. 270GB groß.
 +
 +Oder ich lasse die Videospur aus dieser Zwischendatei einfach raus, dann ist die "ton.avi" (PCM: 48000 Hz, 2 ch, s16le, 1536.0 kbit) nur ca. 65MB groß:
 +  # mencoder Testfilm.mkv -ovc frameno -oac pcm -of avi -o Ton.avi
 +
 +
 +===== Hinweis =====
 +
 +  * [[http://www.mplayerhq.hu/DOCS/HTML-single/de/MPlayer.html#menc-feat-telecine|Wie mit telecine und interlacing in NTSC-DVDs umgehen]]
 +
 +Will man eine DVD encoden, braucht man die Option **-ofps 24000/1001** (die Notation "-ofps 23.976" sollte man nicht mehr verwenden!) nur angeben, wenn man ein //NTSC//-Video generieren möchte!
 +
 +Ohne die Option //-ofps// wird das Produkt die selbe Framerate haben wie das Original (im Zweifelsfall hat man so bessere Qualität).
 +
 +Weiß man nicht was man für ein Ausgangsmaterial hat, dann kann man das ermitteln:
 +
 +  * [[http://www.mplayerhq.hu/DOCS/HTML-single/de/MPlayer.html#menc-feat-telecine-ident|Wie kann man sagen, welchen Typ Video man hat]]
 +
 +
 +==== MEncoder Bug's ====
 +
 +
 +=== defekter Muxer ===
 +
 +Leider ist der Muxer im MEncoder defekt, deshalb wird das MKV-Video nicht überall abgespielt werden können.
 +
 +Aus diesem Grund werden wir den MKV-Container einfach von einem vernünftigen Werkzeug neu bauen lassen:
 +
 +  # mkvmerge --default-language ger -o NEUERFILM_AVC.mkv NEUERFILM_MEncoder.mkv
 +
 +
 +=== vbv ===
 +
 +Leider ist die Qualität in dem neuen MEncoder (seit Juli 2010) miserabel, wenn man die VBV-Optionen verwendet ("vbv_maxrate" und "vbv_bufsize").
 +Verwendet man die gleichen Parametern direkt mit dem //x264//, dann hat man eine sehr gute Qualität.
 +Die VBV-Optionen sind für eine Blu-Ray- bzw. AVCHD-Kompatibilität aber zwingend erforderlich.
 +
 +
 +== Work-Around ==
 +
 +Solange das Problem nicht behoben ist, muss man die Audio- und Videospur getrennt mit den geeigneten Werkzeugen verarbeiten.
 +
 +**Durch die [[::multimedia#film-lauflaengen-problematik|PAL-Beschleunigung]] laufen Bild und Ton auseinander!**
 +
 +Verwendet man als Ausgangsmaterial einen Film mit 24 Bildern pro Sekunde und möchte daraus einen 576-Zeilen-Film machen,
 +der soweit möglich auch noch Blu-Ray-kompatibel ist, muss das Entprodukt 25 Bilder pro Sekunde anzeigen!
 +
 +Denn **nur** die Formate mit 720 und 1080 Zeilen, unterstützen mehr als eine Bildwiederholrate, darunter 24 Bilder pro Sekunde!
 +
 +Bei der Umwandlung wird in soeinem Fall nur sehr selten das 25. Bild eingfühgt, da diese Modifikation dann nur sehr aufwendig wieder rückgängig gemacht werden kann!
 +Üblicherweise wird der Film einfach mit ca. 4% erhöhter Geschwindigkeit (25 statt 24 Bilder pro Sekunde) abgespielt. Das nennt man dann [[multimedia#film-lauflaengen-problematik|PAL-Beschleunigung]].
 +
 +Und genau das wird auch bei dieser Methode gemacht, aus dem Grund ist die DVD-Spieldauer einer handelsüblichen PAL-DVD auch immer ein paar Minuten kürzer als eine handelsübliche NTSC-DVD mit dem gleichen Film!
 +
 +Schlimm ist das nicht, denn man bekommt von den 4% als Zuschauer nix mit.
 +Nur hat in unserem Fall dann die Videospur von einem Film mit 9 Miniten und 56 Sekunden Länge (Big Buck Bunny),
 +nach dem Transcodiervorgang nur noch eine Länge von 9 Minuten und 32 Sekunden...
 +aber die Tonspur ist immernoch 9 Minuten und 56 Sekunden lang,
 +also ganze 24 Sekunden länger!
 +
 +Will man die Originallaufzeit beibehalten, muss man den Film mit der Option "film2pal" übersetzen,
 +das funktioniert aber nur mit dem MPEG2-Codec und ist deshalb für unsere Zwecke absolut unbrauchbar!
 +
 +**Audio- und Videospur syncronisieren**
 +
 +Da man in soeinem Fall dem MEncoder nicht mehr die Aufgabe der Syncronisation zwischen Audio- und Videospur (-mc 0) überlassen kann,
 +empfehle ich vor dem muxen, die Länge der beiden Spuren zu ermitteln.
 +
 +Mit diesen Werten kann man (auf extrem einfache Weise) Audio- und Videospur im MKV-Container sogar bei unterschiedlicher Längen syncronisieren.
 +In dem oben erwähnten Beispiel mit den 24 Sekunden Laufzeitunterschied zwischen Audio- und Videospur bei "Big Buck Bunny",
 +wurde auf diese Weise die Syncronisation auf absolut Problemlose Weise wieder hergestellt.
 +
 +
 +===== AVC mit Mencoder =====
 +
 +  * [[http://www.mplayerhq.hu/DOCS/HTML-single/de/MPlayer.html#menc-feat-selecting-codec|Auswahl der Codecs und Containerformate]]
 +  * [[http://www.mplayerhq.hu/DOCS/HTML-single/de/MPlayer.html#menc-feat-dvd-mpeg4-muxing-matroska|Muxen in den Matroska-Container]]
 +  * [[http://www.mplayerhq.hu/DOCS/HTML-single/de/MPlayer.html#menc-feat-x264|Encodieren mit dem x264-Codec]]
 +
 +
 +==== 1-Pass ====
 +
 +  mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 ALTERFILM.mpg -ovc x264 -x264encopts crf=25:b_adapt=2:direct=auto:me=tesa:no_fast_pskip:merange=24:partitions=all:ref=16:subme=10:trellis=2:rc_lookahead=60:deblock=-1/-1:psy_rd=/0.15:weightp=0:bframes=3:vbv_maxrate=40000:vbv_bufsize=30000:level=4.1:keyint=24:b_pyramid=strict:slices=4:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1:threads=1 -vf scale,softskip,harddup -oac faac -faacopts mpeg=4:object=4:raw:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -o NEUERFILM_MEncoder.mkv
 +
 +
 +==== 2-Pass ====
 +
 +  mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 ALTERFILM.mpg -ovc x264 -x264encopts pass=1:bitrate=2500:b_adapt=2:direct=auto:me=tesa:no_fast_pskip:merange=24:partitions=all:ref=16:subme=10:trellis=2:rc_lookahead=60:deblock=-1/-1:psy_rd=/0.15:weightp=0:bframes=3:vbv_maxrate=40000:vbv_bufsize=30000:level=4.1:keyint=24:b_pyramid=strict:slices=4:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1:threads=1 -vf scale,softskip,harddup -oac copy -of lavf -lavfopts format=matroska -passlogfile NEUERFILM_pass.log -o /dev/null
 +  
 +  mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 ALTERFILM.mpg -ovc x264 -x264encopts pass=2:bitrate=2500:b_adapt=2:direct=auto:me=tesa:no_fast_pskip:merange=24:partitions=all:ref=16:subme=10:trellis=2:rc_lookahead=60:deblock=-1/-1:psy_rd=/0.15:weightp=0:bframes=3:vbv_maxrate=40000:vbv_bufsize=30000:level=4.1:keyint=24:b_pyramid=strict:slices=4:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1:threads=1 -vf scale,softskip,harddup -oac faac -faacopts mpeg=4:object=4:raw:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -passlogfile NEUERFILM_pass.log -o NEUERFILM_MEncoder.mkv
 +
 +
 +==== Multi-Pass ====
 +
 +Der mittlere Aufruf mit **pass=3**, kann beliebig oft ausgeführt werden.
 +
 +Der erste und der Letzte Aufruf ist mit denen aus "2-Pass" identisch.
 +
 +  mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 ALTERFILM.mpg -ovc x264 -x264encopts pass=1:bitrate=2500:b_adapt=2:direct=auto:me=tesa:no_fast_pskip:merange=24:partitions=all:ref=16:subme=10:trellis=2:rc_lookahead=60:deblock=-1/-1:psy_rd=/0.15:weightp=0:bframes=3:vbv_maxrate=40000:vbv_bufsize=30000:level=4.1:keyint=24:b_pyramid=strict:slices=4:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1:threads=1 -vf scale,softskip,harddup -oac copy          -of lavf -lavfopts format=matroska -passlogfile NEUERFILM_pass.log -o /dev/null
 +  
 +  mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 ALTERFILM.mpg -ovc x264 -x264encopts pass=3:bitrate=2500:b_adapt=2:direct=auto:me=tesa:no_fast_pskip:merange=24:partitions=all:ref=16:subme=10:trellis=2:rc_lookahead=60:deblock=-1/-1:psy_rd=/0.15:weightp=0:bframes=3:vbv_maxrate=40000:vbv_bufsize=30000:level=4.1:keyint=24:b_pyramid=strict:slices=4:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1:threads=1 -vf scale,softskip,harddup -oac copy          -of lavf -lavfopts format=matroska -passlogfile NEUERFILM_pass.log -o /dev/null
 +  
 +  mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 ALTERFILM.mpg -ovc x264 -x264encopts pass=2:bitrate=2500:b_adapt=2:direct=auto:me=tesa:no_fast_pskip:merange=24:partitions=all:ref=16:subme=10:trellis=2:rc_lookahead=60:deblock=-1/-1:psy_rd=/0.15:weightp=0:bframes=3:vbv_maxrate=40000:vbv_bufsize=30000:level=4.1:keyint=24:b_pyramid=strict:slices=4:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1:threads=1 -vf scale,softskip,harddup -oac faac -faacopts mpeg=4:object=4:raw:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -passlogfile NEUERFILM_pass.log -o NEUERFILM_MEncoder.mkv
 +
 +
 +==== MEncoder mit den x264-Optionen verwenden ====
 +
 +Da der MEncoder den x264 zum transcodieren verwenden kann, versteht er auch seine Parameter.
 +Allerdings ist die Schreibweise etwas anders und der Parameter "level" heißt bei MEncoder "level_idc", auch wird der Wert für Level beim MEncoder ohne Dezimaltrennzeichen angegeben (also "30" statt "3.0"). Leider versteht der MEncoder zur Zeit nicht alle Optionen, so sind ihm die Optionen
 +"slow_firstpass", "no_fast_pskip" und "nal_hrd" unbekannt.
 +
 +**Aus dem Grund ist es zur Zeit schon absolut unmöglich mit dem MEncoder direkt Blu-Ray-kompatible Filme zu erstellen, denn die Option "nal_hrd" ist dafür zwingend nötig!**
 +
 +Aber ich gehe mal davon aus, dass sich das in Zukunft ändern wird und deshalb will ich, in Vorbereitung darauf, hier Beispielhaft zeigen,
 +wie man die x264-Optionen in das MEncoder-Format überführt und einsetzt.
 +
 +Zur Zeit kann man Blu-Ray-kompatibelen Video-Code so erzeugen, wie z.B. **[[x264#beispiel|hier]]** beschrieben.
 +
 +Als erstes legen wir mal die Blu-Ray-kompatibelen Optionen für unsere gewünschte Filmgröße fest,
 +hier sind drei Beispiele:
 +
 +  # 1920x1080 / Blu-Ray / Level 4.1 (großes HD-Profil)
 +  X264OPTIONEN="--threads 1 --b-adapt 2 --bframes 8 --direct auto --me tesa --merange 24 --partitions all --ref 4 --subme 10 --trellis 2 --rc-lookahead 60 --deblock -1:-1 --weightp 0 --bframes 3 --nal-hrd vbr --vbv-maxrate 40000 --vbv-bufsize 30000 --level 4.1 --keyint 24 --b-pyramid strict --slices 4 --aud --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --sar 1:1"
 +  
 +  # 1280x720 (720p) / Blu-Ray / Level 4.0 (kleines HD-Profil)
 +  X264OPTIONEN="--threads 1 --b-adapt 2 --direct auto --slow-firstpass --no-fast-pskip --me tesa --merange 24 --partitions all --rc-lookahead 60 --ref 6 --subme 10 --trellis 2 --deblock -1:-1 --weightp 0 --bframes 3 --nal-hrd vbr --vbv-maxrate 24000 --vbv-bufsize 24000 --level 4.0 --keyint 24 --b-pyramid strict --slices 1 --aud --colorprim bt709 --transfer bt709 --colormatrix bt709 --sar 1:1"
 +  
 +  # 1280x720 (720p) / DVD / Level 4.0 (kleinstes HD-Profil)
 +  X264OPTIONEN="--threads 1 --b-adapt 2 --direct auto --slow-firstpass --no-fast-pskip --me tesa --merange 24 --partitions all --rc-lookahead 60 --ref 6 --subme 10 --trellis 2 --deblock -1:-1 --weightp 0 --bframes 3 --nal-hrd vbr --vbv-maxrate 15000 --vbv-bufsize 15000 --level 4.0 --keyint 24 --b-pyramid strict --slices 1 --aud --colorprim bt709 --transfer bt709 --colormatrix bt709 --sar 1:1"
 +  
 +  # 720x576 / DVD / Level 3.0 (PAL; SD-Profil: halbiert den Platzbedarf einer Standard-DVD, ohne Qualitätsverlust)
 +  X264OPTIONEN="--threads 1 --b-adapt 2 --direct auto --slow-firstpass --no-fast-pskip --me tesa --merange 24 --partitions all --rc-lookahead 60 --ref 5 --subme 10 --trellis 2 --deblock -1:-1 --weightp 0 --bframes 3 --nal-hrd vbr --vbv-maxrate 12000 --vbv-bufsize 12000 --level 3.0 --keyint 24 --b-pyramid strict --slices 1 --aud --colorprim bt709 --transfer bt709 --colormatrix bt709 --sar 1:1"
 +
 +Die Kommandos im Folgenden sind nur Beispiele, im speziellen Fall muss man die Optionen "-aspect 16/9", "-aid 128", "alter_Film.avi", "crf=23", "pp=ci", "crop=704:432:08:72", "scale=352:216", "br=192", "tns", "-channels 2" und "BITRATE=2000" entweder angepasst, weg gelassen oder unverändert einsetzen. Diese Optionen werden im allgemeinen auf die gewünschte Ausgangsqualität bzw. auf die Art des Quellmaterials angepasst.
 +
 +Der Parameter "nr" wurde hier nicht verwendet, er ist aber sinnvoll, wenn man verrauschtes Quellmaterial transcodieren möchte!
 +Hat man den gleichen Film zwei mal, einmal in sauberer Form (zum Beispiel als DVD) und einmal in verrauschter Form (zum Beispiel aus dem Fernsehen aufgenommen), dann ist nach dem transcodieren (zum Beispiel von MPEG-2 nach AVC) die verrauschte Version deutlich größer. Verwendet man dann eine Rauschunterdrückungsoption (beim x264 ist das "nr") mit einem geeigneten Wert (den muss man ausprobieren oder schätzen), dann wird nicht nur das Bild besser, sondern auch die Datei kleiner!
 +
 +  # mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 alter_Film.avi -ovc x264 -x264encopts crf=23:global_header$(echo "${X264OPTIONEN}" | sed -e 's#:#/#g' -e 's/[ ]*--/:/g' -e 's/ /=/g' -e 's/-/_/g' -e 's#=_#=-#g' -e 's#/_#/-#g' -e 's/:level=/:level_idc=/g' -e 's/:level_idc=[0-9]*[\.]*/&-³/g' -e 's/\.-³//g' -e 's/=$//' -e 's/slow_firstpass://' -e 's/no_fast_pskip://' -e 's/nal_hrd=[a-z]*://') -vf pp=ci,crop=704:432:08:72,scale=352:216,softskip,harddup -oac faac -faacopts mpeg=4:object=2:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -o Film_mencoder.mkv
 +
 +Aber, wie unter "MEncoder Bug's" zu lesen ist, ergibt das im Moment ein sehr schlechtes Ergebnis.
 +
 +Will man keinen großen Aufstand machen und kann auf die Blu-Ray-Kompatibilität verzichten, dann kann man folgendes Kommando verwenden:
 +
 +  # export BITRATE="2000"
 +  # mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 alter_Film.avi -ovc x264 -x264encopts crf=23:global_header:bitrate=${BITRATE}$(echo "${X264OPTIONEN}" | sed -e 's#:#/#g' -e 's/[ ]*--/:/g' -e 's/ /=/g' -e 's/-/_/g' -e 's#=_#=-#g' -e 's#/_#/-#g' -e 's/:level=/:level_idc=/g' -e 's/:level_idc=[0-9]*[\.]*/&-³/g' -e 's/\.-³//g' -e 's/=$//' -e 's/slow_firstpass://' -e 's/no_fast_pskip://' -e 's/vbv_[a-z]*=[0-9]*://g' -e 's/nal_hrd=[a-z]*://') -vf pp=ci,crop=704:432:08:72,scale=352:216,softskip,harddup -oac faac -faacopts mpeg=4:object=2:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -o Film_mencoder.mkv
 +
 +Dieses Kommando ist fast drei mal schneller als das mit den VBV-Optionen und liefert ein deutlich besseres Ergebnis, wird aber auch in Zukunft nicht Blu-Ray- bzw. AVCHD-kompatibel sein.
 +
 +Will man aber einen Blu-Ray-kompatibelen Film mit guter Qualität erhalten, dann bleibt zur Zeit nur ein etwas aufwendigeres Vorgehen, wie es unter folgendem Link beschrieben wird: [[filme_transkodieren#avc]].
 +
 +
 +=== Beispiele ===
 +
 +1920x1080 / Blu-Ray / Level 4.1 (großes HD-Profil):
 +  # mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 alter_Film.avi -ovc x264 -x264encopts crf=23:global_header:threads=1:b_adapt=2:bframes=8:direct=auto:me=tesa:merange=24:partitions=all:ref=4:subme=10:trellis=2:rc_lookahead=60:deblock=-1/-1:weightp=0:bframes=3:vbv_maxrate=40000:vbv_bufsize=30000:level_idc=41:keyint=24:b_pyramid=strict:slices=4:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1 -vf pp=ci,scale,softskip,harddup -oac faac -faacopts mpeg=4:object=2:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -o Film_mencoder.mkv
 +
 +1280x720 (720p) / Blu-Ray / Level 4.0 (kleines HD-Profil):
 +  # mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 alter_Film.avi -ovc x264 -x264encopts crf=23:global_header:threads=1:b_adapt=2:direct=auto:me=tesa:merange=24:partitions=all:rc_lookahead=60:ref=6:subme=10:trellis=2:deblock=-1/-1:weightp=0:bframes=3:vbv_maxrate=24000:vbv_bufsize=24000:level_idc=40:keyint=24:b_pyramid=strict:slices=1:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1 -vf pp=ci,scale=1280:720,softskip,harddup -oac faac -faacopts mpeg=4:object=2:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -o Film_mencoder.mkv
 +
 +1280x720 (720p) / DVD / Level 4.0 (kleinstes HD-Profil):
 +  # mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 alter_Film.avi -ovc x264 -x264encopts crf=23:global_header:threads=1:b_adapt=2:direct=auto:me=tesa:merange=24:partitions=all:rc_lookahead=60:ref=6:subme=10:trellis=2:deblock=-1/-1:weightp=0:bframes=3:vbv_maxrate=15000:vbv_bufsize=15000:level_idc=40:keyint=24:b_pyramid=strict:slices=1:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1 -vf pp=ci,scale=1280:720,softskip,harddup -oac faac -faacopts mpeg=4:object=2:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -o Film_mencoder.mkv
 +
 +720x576 / DVD / Level 3.0 (kleinstes SD-Profil: halbiert den Platzbedarf einer Standard-DVD, ohne Qualitätsverlust):
 +  # mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 alter_Film.avi -ovc x264 -x264encopts crf=23:global_header:threads=1:b_adapt=2:direct=auto:me=tesa:merange=24:partitions=all:rc_lookahead=60:ref=5:subme=10:trellis=2:deblock=-1/-1:weightp=0:bframes=3:vbv_maxrate=12000:vbv_bufsize=12000:level_idc=30:keyint=24:b_pyramid=strict:slices=1:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1 -vf pp=ci,crop=704:432:08:72,scale,softskip,harddup -oac faac -faacopts mpeg=4:object=2:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -o Film_mencoder.mkv
 +
 +720x576 => 352x216 / DVD / Level 3.0:
 +  # mencoder -mc 0 -forceidx -aspect 16:9 -aid 128 alter_Film.avi -ovc x264 -x264encopts crf=23:global_header:threads=1:b_adapt=2:direct=auto:me=tesa:merange=24:partitions=all:rc_lookahead=60:ref=5:subme=10:trellis=2:deblock=-1/-1:weightp=0:bframes=3:vbv_maxrate=12000:vbv_bufsize=12000:level_idc=30:keyint=24:b_pyramid=strict:slices=1:aud:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1 -vf pp=ci,crop=704:432:08:72,scale=352:216,softskip,harddup -oac faac -faacopts mpeg=4:object=2:br=192:tns -channels 2 -of lavf -lavfopts format=matroska -o Film_mencoder.mkv
 +