Brother Johns x264-'Schneller 1st Pass' ...

  • Brother John bei http://encodingwissen.de/codecs/x264-cli.html ein Kapitel 'Schneller 1st Pass' hat und dort schreibt:

    Zitat

    Meine Version des Fast 1st Pass ist weniger aggressiv als MeGUIs Ansatz und dürfte eher mit dem Vorgehen des VfW-Interfaces vergleichbar sein.


    Kommen mir zwei Fragen in den Kopf:

    1. Brother John empfiehlt:


    aber was macht MeGui anders? (Glaube es war --partitions auf none und --me auf dia, bin mir aber nicht mehr sicher.)

    2. Hat mal jemand (Brother John) die zwei Varianten MeGui-Turbo und Brother Johns 'Schneller 1st Pass' verglichen? (Auf Basis von: PSNR, SSIM, eigenen Augen und Geschwindigkeit? ;))

    Cu Selur

  • Ich lass schnell nen Test laufen.

    Aber nur Geschwindigkeit, SSIM und PSRN hab ich einfach keinen Bock mehr zu, da es doch sowieso zu wenig Leute interessiert.


    Megui Turbo

    Code
    Job commandline: "C:\Program Files\megui\tools\x264\x264.exe" --pass 1 --bitrate 1500 --stats "D:\MainMovie\PULP FICTION\Pulp Fiction.stats" --bframes 16 --b-pyramid --direct auto --filter -2,-2 --subme 1 --analyse none --vbv-maxrate 25000 --me dia --threads auto --thread-input --sar 1:1 --progress --no-psnr --no-ssim --output NUL "D:\MainMovie\PULP FICTION\Pulp Fiction.avs" --sar 16:11


    Brother John

    Code
    --pass 1 --bitrate 1500 --stats ".stats" --ref 2 --no-fast-pskip --bframes 16 --direct auto --filter -2,-2 --subme 1 --trellis 1 --analyse p8x8,b8x8 --vbv-maxrate 25000 --me umh --threads auto --thread-input --progress --no-psnr --no-ssim --output NUL "input" --sar 16:11


    Denke, das sollte so richtig sein.


    Ergebnisse kommen später. Muss jetzt erstmal was essen.


    So, ich habs net komplett durchlaufen lassen, das ist auch unnötig. x264 erreicht bei mir immer nach ungefähr 4-5min die maximale Geschwindigkeit.

    Megui Turbo ~ 87FPS
    Brother John ~ 48FPS


    -> Never ever würd ich so einen Geschwindigkeitsverlust zulassen.

  • Fragen und Anmerkungen:
    1. bei der MeGui Commandline komme --sar 2x vor (1:1 und 16:11) (sollte nichts ausmachen)
    2. bei Brother John ist --no-fast-pskip an, hast Du das bei MeGui nicht aktiviert oder hat es das selber deaktiviert?
    3. bei Brother John sollte --me auf hex, nicht auf umh stehen.

    Mist ich finde den post im englischen Forum nicht mehr wo erklärt war was beim 'Turbo' in MeGui an der Commandline alles geändert wird.
    doch gefunden:

    Zitat

    MeGUI's ''turbo" sets :
    --me to dia
    --subme to 1
    --ref to 1
    --analyse to none
    --trellis to 0

    Quelle: http://forum.doom9.org/showthread.php?p=942580#post942580

    Cu Selur

  • Meine »Empfehlungen« sind mehr Pi-mal-Daumen als richtig handfest. MeGUI war mir mit seinem Prinzip »alles abschalten, was nicht bei 3 auf den Bäumen ist« rein gefühlsmäßig zu aggressiv. Deswegen habe ich das an der einen und anderen Stelle entschärft.

    Richtig ernsthafte Tests habe ich nie laufen lassen. Wenn ihr das machen mögt, sehr gerne! Und dabei kann auch absolut rauskommen, dass meine Empfehlung eigtl. Mist ist. --me hex hätte es sein sollen, aber geschwindigkeitsmäßig schaut’s ja trotzdem schon mal nicht so positiv aus.

    Brother John
    ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
    DVD nach MPEG-4 klappt nicht? Verzweifelt? Auf zum Encodingwissen!

  • Äh. Ich hab den Hacken bei no-fast-p-skip gesetzt in Megui. Mach ich immer, weil es einen sehr sehr deutlichen Qualitätsgewinn mit sich zieht.

    Doppelte Verneinungen mag ich nicht. Man kann fast-p-skip ja eigentlich nur deaktivieren, nicht aber no-fast-p-skip aktivieren, und wennman no-fast-p-skip deaktiviert weiß keine mehr, wovon man reden :D


    So, neue Kommandozeile. Btw: Ich lass mir die absolut NUR von megui erstellen, von Hand mach ich da eigentlich nichts rein bis auf das --sar. Wie das 2x da reingeschlüpft ist weiß ich nicht, ich checke die Kommandozeile eigentlich nie.

    Aber jetzt sollte sie angepasst sein.


    Brother John

    Code
    --pass 1 --bitrate 1500 --stats ".stats" --ref 2 --no-fast-pskip --bframes 16 --direct auto --filter -2,-2 --subme 1 --trellis 1 --analyse p8x8,b8x8 --vbv-maxrate 25000 --threads auto --thread-input --progress --no-psnr --no-ssim --output NUL "input" --sar 16:11


    Was ich mir denke: Trellis deaktiviert und fast-p-skip aktivieren sollte nochmal einiges an Speed bringen.


    Speed diesmal ~ 46FPS

    Hab aber auch den Browser offen, was aber quasi nicht ins Gewicht fallen sollte oder nur sehr sehr wenig.


    Code
    Job commandline: "C:\Program Files\megui\tools\x264\x264.exe" --pass 1 --bitrate 1500 --stats "D:\MainMovie\RISING SUN\Rising Sun.stats" --ref 2 --bframes 16 --direct auto --filter -2,-2 --subme 1 --analyse p8x8,b8x8 --vbv-maxrate 25000 --threads auto --thread-input --sar 1:1 --progress --no-psnr --no-ssim --output NUL "D:\MainMovie\RISING SUN\Rising Sun.avs" --sar 16:11

    Trellis raus und fast-p-skip an: ~ 56FPS


    Wenn ich sehr sehr gutmütig bin lass ich heut nach mal nen Test laufen wo PSNR und SSIM von Brother Johns Empfehlungen und Meguiturbo verglichen werden. Aber NUR wenn das auch gewünscht wird. Falls nicht vergess ich das ganz schnell wieder.

  • Wäre schon cool, aber erst im 2nd pass. Ob die Qualität sich im 1st pass unterscheidet ist uninteressant. :)

    Cu Selur

    Ps.: Was hast Du eigentlich für einen Prozessor? (nette Frameraten :))


    Klar, nur im 2nd pass. Im ersten Pass wird glaub ich das sowieso verworfen und nichts ausgespuckt, könnte ich aber auch daneben liegen.

    Prozzi ist ein Core2Duo E6300@2800MHZ

    -> Leistet mir jetzt seit 1 Jahr treu super Dienste und hat x264 für mich erst so richtig interessant gemacht :)


    Edit: So, der Test geht über den etwa 2 Stunden langen Film "Rising Sun". 2-Pass Verfahren, die Qualitätseinstellung analog zu denen oben.

    Im 2nd pass wird es folgende Einstellungen geben

    Code
    --pass 2 --bitrate 1500 --stats ".stats" --ref 5 --mixed-refs --no-fast-pskip --bframes 16 --b-pyramid --b-rdo --bime --weightb --direct auto --filter -2,-2 --subme 6 --trellis 1 --analyse all  --8x8dct --vbv-maxrate 25000 --me umh --threads auto --thread-input --progress --output "output" "input" --sar 16:11

    -> Für mich das Maximum an Qualität verglichen mit der Encodinggeschwindigkeit. 4x4 ist noch drinne, einfach weil ich selbst noch keine Tests gestartet habe die belegen, dass es wirklich GAR NICHTS bringt.


    Die Tests laufen die Nacht über. Wahrscheinlich bis in den Tag morgen hinein, werd ich dann sehen wann ich vonner Uni zurückbin.
    Brother John wird damit laufen

    Code
    --pass 1 --bitrate 1500 --stats ".stats" --no-fast-pskip --bframes 16 --direct auto --filter -2,-2 --subme 1 --trellis 1 --analyse none --vbv-maxrate 25000 --threads auto --thread-input --progress --output NUL "input" --sar 16:11

    -> Ich werde 2 Tests damit machen. Beim anderen lass ich Trellis weg und aktivier fast-p-skip.
    Dabei habe ich gerade einen Bug in Megui bemerkt: Der speichert das "--no-fast-pskip" im 1st-Pass nicht richtig. Ich weiß nicht, ob das von x264 übernommen wird, werd ich dann sehen. Aber allzuviel wird das nicht ausmachen.

  • Tjaa, das wird wohl noch länger dauern. Megui ist irgendwie nicht in der Lage, eine Reihe von Jobs korrekt abzuarbeiten, da bekommt man komplett verquere Ergebnisse raus weil die Kommandozeilen laufend durcheinander geschmissen werden.
    Evtl wird das erst Morgen früh, bevor ich die Ergebnisse präsentieren kann.


    Edit: Gut, erste Ergebnisse. Eins vorneweg: Ich weiß nicht, warum da Megui zum Teil Sachen aus den Einstellungen nicht richtig übernimmt, das ist mir schleierhaft. Im 1st-Pass fliegt no-fast-p-skip GENERELL raus, egal was ich einstelle. Einen weiteren Test mit Trellis 0 spare ich mir, da man bereits an diesem Testergebnis genug ablesen kann, um sich seine eigene Meinung zu bilden. Die .logs sind diesmal als Dateien angehängt.


    Mein Fazit: Da die "Turbo" Einstellungen sogar im Endeffekt mini(mini(mini(mini)))mal von der Qualität hochwertiger sind und die Geschwindigkeit bei Brother John doch um 1/3 einbricht, ist die Turbo-Einstellung von Megui eindeutig vorzuziehen.

    Ich denke, die Empfehlungen von Brother John kann man herausnehmen und revidieren. Natürlich kann ich hier nicht ausschließen, dass bei anderen Quellen sich das etwas anders verhält, aber den geringen Abweichungen hier glaube ich kaum, dass sich großartig etwas ändern wird.

  • Danke für die Mühe.

    Da die Ergebnisse sich im 2nd pass zu wenig unterscheiden als das man es sicher nicht auf Rundungsfehler und Abweichungen durch Multithreading schieben kann würde ich sagen der 2nd pass verläuft bei beiden Varianten gleich.
    -> Die Variante die flotter im 1st pass ist, sollte bevorzugt werden. ;)

    Cu Selur

  • Die Variante die flotter im 1st pass ist, sollte bevorzugt werden.


    Was im nächsten Encodingwissen-Update seine Konsequenzen haben wird.

    Thx fürs Testen, Bumsfalara.

    Brother John
    ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
    DVD nach MPEG-4 klappt nicht? Verzweifelt? Auf zum Encodingwissen!

  • Falls das noch jemanden interessiert.

    Pass2 ohne p4x4


    Geschwindigkeitserhöhung ist nicht nenneswert, SSIM Veränderung auch nicht.
    -> Ich würd jedem empfehlen das anzulassen, Schaden tut es nicht und Zeit kostet es auch nicht. Und ich gehe davon aus, dass es Fälle oder Filme gibt in denen es doch etwas bringt.

  • Ich hab mir MeGUI jetzt nochmal genauer angeschaut. Demnach, was sich an der CLI tut, wenn man erst alles was geht einschaltet und dann Turbo aktiviert, müsste die vollständige Liste für den Turbo-1st-Pass so aussehen:

    --me dia
    --subme 1
    --ref 1
    --analyse none
    -- trellis 0
    kein --8x8dct
    kein --b-rdo (logisch wg. subme)
    kein --weightb
    kein --bime
    kein --no-fast-pskip
    kein --mixed-refs (logisch wg. ref 1)

    Brother John
    ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
    DVD nach MPEG-4 klappt nicht? Verzweifelt? Auf zum Encodingwissen!

  • Im MEncoder-manual steht folgendses Interesantes:

    <table border="0" cellpadding="0" cellspacing="0" cols="2" frame="void" rules="none" width="100%"><tbody><tr align="left" valign="top"> <td width="10%"></td> <td width="89%"><p> <b>turbo=&lt;0-2&gt;</b></p></td></tr></tbody></table><!-- INDENTATION --><table border="0" cellpadding="0" cellspacing="0" cols="2" frame="void" rules="none" width="100%"><tbody><tr align="left" valign="top"> <td width="21%"></td> <td width="77%"><p> Fast first pass mode. During the first pass of a two or more pass encode it is possible to gain speed by disabling some options with negligible or even no impact on the final pass output quality.</p></td></tr></tbody></table><!-- TABS --><table border="0" cellpadding="0" cellspacing="0" cols="4" frame="void" rules="none" width="100%"><tbody><tr align="left" valign="top"> <td width="26%"></td> <td width="4%"><p> 0</p></td> <td width="2%"></td> <td width="66%"><p> disabled (default)</p></td></tr><tr align="left" valign="top"> <td width="26%"></td> <td width="4%"><p> 1</p></td>
    <td width="2%"></td> <td width="66%"><p> Reduce subq, frameref and disable some inter-macroblock partition analysis modes.</p></td></tr><tr align="left" valign="top"> <td width="26%"></td> <td width="4%"><p> 2</p></td> <td width="2%"></td> <td width="66%"><p> Reduce subq and frameref to 1, use a diamond ME search and disable all partition analysis modes.</p></td></tr></tbody></table>

    EDIT: Öhhmm... Das hatte ich mir mit dem HTML aber anders vorgestelt... Warum wird das den nicht geparst?

    EDIT2: hab den entsprechenden pasus mal auf meinen webspache geladen:
    http://home.arcor.de/redfoxs_den/mplayer_x246_20081209.html
    Weis übrigens eier ob es von dem MPlayer/encoder - Manual auch ne duetsche version gibt? wen nicht nach ich ne Übersetzung.

  • Hab dir die Tabelle angepasst. [noparse]Der [code=html]-Tag[/noparse] ist dafür da, dass HTML-Code als Code angezeigt wird. Wenn er geparst werden soll, einfach ohne was ins Posting setzen (ist aber nicht in allen Foren aktiviert). Vorher alle Zeilenumbrüche und Einrückungen löschen, denn die würden sonst trotzdem angezeigt.

    Brother John
    ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
    DVD nach MPEG-4 klappt nicht? Verzweifelt? Auf zum Encodingwissen!

  • Ich habe auch mal kurz was getestet um heraus zu finden welche qualitativen unterschiede (basierent auf der SSIM) es zwischen verschiedenen 1pass einstelleungen gibt:

    redfeenz: 1pass und 2.Pass sind identisch und gelten als Referenz:

    Code
    X264_715.EXE --pass 1 --bitrate 2000  --deadzone-inter 3 --deadzone-intra 6  --ipratio 1.25  --pbratio 1.25 --qcomp 0.75 --keyint 9999 --min-keyint 1 --bframe 16 --me umh --merange 24 --subme 7 --no-fast-pskip --no-dct-decimate --cqm "jvt" --partitions all --8x8dct --bime --ref 16 --trellis 1 --mixed-refs --weightb --b-rdo --deblock -1:-2 --progress --no-ssim --no-psnr --output NUL "C:\Eigene Dateien\skripte\mpeg.avs"
    Code
    X264_715.EXE --pass 2 --bitrate 2000  --deadzone-inter 3 --deadzone-intra 6  --ipratio 1.25  --pbratio 1.25 --qcomp 0.75 --keyint 9999 --min-keyint 1 --bframe 16 --me umh --merange 24 --subme 7 --no-fast-pskip --no-dct-decimate --cqm "jvt" --partitions all --8x8dct --bime --ref 16 --trellis 1 --mixed-refs --weightb --b-rdo --deblock -1:-2 --progress --no-psnr --output "motion_hq.264" "C:\Eigene Dateien\skripte\mpeg.avs"

    1pass: 1Frame/sec (aua!)
    [Blockierte Grafik: http://img5.myimg.de/2phqp1e286b.png]
    2pass:
    [Blockierte Grafik: http://img5.myimg.de/2phqp2adf0d.png]

    Test 1:


    Code
    X264_715.EXE --pass 1 --bitrate 2000  --deadzone-inter 3 --deadzone-intra 6  --ipratio 1.25  --pbratio 1.25 --qcomp 0.75 --keyint 9999 --min-keyint 1 --bframe 16 --me hex --no-chroma-me --subme 4 --no-fast-pskip --no-dct-decimate --cqm "jvt" --partitions i8x8,b8x8,p8x8,i4x4 --8x8dct --bime --ref 6 --trellis 0 --mixed-refs --weightb --deblock -1:-2 --progress --no-ssim --no-psnr --output NUL "C:\Eigene Dateien\skripte\mpeg.avs"


    Code
    X264_715.EXE --pass 2 --bitrate 2000  --deadzone-inter 3 --deadzone-intra 6  --ipratio 1.25  --pbratio 1.25 --qcomp 0.75 --keyint 9999 --min-keyint 1 --bframe 16 --me umh --merange 24 --subme 7 --no-fast-pskip --no-dct-decimate --cqm "jvt" --partitions all --8x8dct --bime --ref 16 --trellis 1 --mixed-refs --weightb --b-rdo --deblock -1:-2 --progress --no-psnr --output "motion_hq.264" "C:\Eigene Dateien\skripte\mpeg.avs"

    [Blockierte Grafik: http://img5.myimg.de/2pt1p1fcded.png]

    [Blockierte Grafik: http://img5.myimg.de/2pt1p268ee3.png]

    Test2:

    Code
    X264_715.EXE --pass 1 --bitrate 2000  --deadzone-inter 3 --deadzone-intra 6  --ipratio 1.25  --pbratio 1.25 --qcomp 0.75 --keyint 9999 --min-keyint 1 --bframe 16 --me dia --no-chroma-me --subme 1  --cqm "jvt" --partitions none --ref 1 --trellis 0  --deblock -1:-2 --progress --no-ssim --no-psnr --output NUL "C:\Eigene Dateien\skripte\mpeg.avs"
    Code
    X264_715.EXE --pass 2 --bitrate 2000  --deadzone-inter 3 --deadzone-intra 6  --ipratio 1.25  --pbratio 1.25 --qcomp 0.75 --keyint 9999 --min-keyint 1 --bframe 16 --me umh --merange 24 --subme 7 --no-fast-pskip --no-dct-decimate --cqm "jvt" --partitions all --8x8dct --bime --ref 16 --trellis 1 --mixed-refs --weightb --b-rdo --deblock -1:-2 --progress --no-psnr --output "motion_t2.264" "C:\Eigene Dateien\skripte\mpeg.avs"

    [Blockierte Grafik: http://img5.myimg.de/2pt2p1cba7f.png]
    [Blockierte Grafik: http://img5.myimg.de/2pt2p20e40e.png]


    Ergebniss: Selbst bei den schnellsten Einstellungen sind die Unterschiede Qualitätsmetrisch gesehen maginal.

    Edit von Brother John:
    Bemerkungen zur Quelle entfernt, um den absehbaren Flamewar zu verhindern.

    Bumsfalara: wie hast die den die logs in eine datei bekommen? Piepen ala foo.exe > Bar.txt funzt bei mir nicht...

    Weis übrigens einer ob es von dem MPlayer/encoder - Manual auch ne duetsche version gibt? wen nicht nach ich ne Übersetzung.


    http://www.mplayerhq.hu/DOCS/man/de/mplayer.1.html
    Ich hab mal dem Maintainer eine Email geschrieben und gefragt ob ich aus dem x264enc-teil eine Doku für x264.exe basteln darf.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!