x264 neue Ratecontrol Funktionen



  • Wie setze ich das eigentlich bei der cli Version ein? Bisher habe ich nie Werte für die ratecontrol eingegeben, sondern immer alles bei den Grundeinstellungen gelassen.

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • spontan würde ich sagen es sollte sich bei der Bedienung nix ändern, d.h. Du sagst, dass Du nen 1st pass machst und gibst die Datenrate an.

    Anstatt den 1st pass jedoch mit einem konstanten Quantizer zu machen wie es z.B. auch Xvid macht wird eine durchschnittliche Datenrate angestrebt, was wenn es gut gemacht ist eine bessere Basis für den 2nd pass geben sollte. :P
    (hängt natürlich von der Ratecontrol ab, die ja auch angepasst wurde :) )

    Cu Selur

    Ps.: siehe auch:
    http://forum.doom9.org/showthread.php?s=&threadid=94356

  • Zitat von LigH

    Allerdings ist das immer noch nur x264 - nicht x265! ;)

    (Beitragstitel korrigiert)



    Nö, stimmt nicht. Ist 265 die ich meine. Bitte wieder zurückändern - danke :)

    @ Selur

    also so für den ersten pass:
    x264 --bitrate 1100 --ratetol 1.0 ..... -o nul.......

    anstatt
    x264 --qp 24................................. -o nul.......

    warum eigentlich nicht gleich:
    x264 --bitrate 1100 ........................ -o nul.......

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • Zitat von JoeB

    Nö, stimmt nicht. Ist 265 die ich meine. Bitte wieder zurückändern - danke :)

    @ Selur

    also so für den ersten pass:
    x264 --bitrate 1100 --ratetol 1.0 ..... -o nul.......



    Korrekt, wobei --ratetol 1.0 die Standarteinstellung ist und sehr zu empfehlen. ABR dürfte auf jeden Fall exacter sein als die Methode mit quantizer.

    Zitat von JoeB


    anstatt
    x264 --qp 24................................. -o nul.......


    ABR dürfte auf jeden Fall exacter sein als die Methode mit quantizer. Wird der quantizer nicht passend zur bitrate gewählt, gibt es murcks.

    Zitat von JoeB


    warum eigentlich nicht gleich:
    x264 --bitrate 1100 ........................ -o nul.......



    Weil der Encoder da noch garnicht weis war er wo hinverteilen soll. Dafür braucht er den ersten pass.

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • JoeB: Sicher, dass Du jetzt nicht den 1st pass und ein single pass encodign verwechselst?

    So wie ich es verstanden hatte:

    x264 --bitrate 1100 --ratetol 1.0 ..... -o nul.......
    macht das gleiche wie:
    x264 --pass 1 --bitrate 1100 ..... -o nul.......

    mit:
    x264 --qp 24................................. -o nul.......
    sollte immer noch ein single pass encoding mit festen quantizer durchgeführt werden

    und bei:
    x264 --bitrate 1100 ........................ -o nul.......
    wird nicht mehr CBR sondern ABR+VBV encoded, es wird aber wohl eine andere Ratecontrol verwendet

    Cu Selur

    Ps.: vielleicht postet bond ja was dazu, da der das Ganze wohl mal genauer angetestet hat :)

  • Ich bin ein Depp, habe vergessen zu erwähnen, dass natürlich immer --pass 1 in die commandline gehört. Ansonsten weis der encoder ja garnicht was er machen soll. Aber mit --pass 1 müsste es so stimmen meine ich.

    Habe bond mal danch gefragt:
    http://forum.doom9.org/showthread.php…3087#post653087

    @ Selur

    Die vfw version hat sich, wie ich gelesen habe, nun doch verändert. Es gibt jetzt Single Pass statt cq etc. schau mal nach für Dein "Wissenswertes". ABR wurde eingebaut und hat das Aussehen wohl verändert. Nutze nur die cli Version und habe es selber nicht nachgeprüft.

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • Zitat von JoeB

    Die vfw version hat sich, wie ich gelesen habe, nun doch verändert. Es gibt jetzt Single Pass statt cq etc.

    Hä? Was hat sich da verändert?

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Zitat von Selur

    gerade gecheckt, GUI hat sich nicht verändert. :)

    Zitat von Sharktooth

    [font=verdana, arial, helvetica]My build has "Single Pass - Bitrate" and below i can clearly read "Average Bitrate (kbps)".[/font]

    Wie gesagt, habe s selber nicht getetet. Aber das vfw build benutzt jetzt auch abr für den ersten pass :)

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • Zitat von LigH

    Allerdings ist das immer noch nur x264 - nicht x265! ;)

    (Beitragstitel korrigiert)

    Lese ich erst jetzt richtig und muss mich offensichtlch bei Ligh entschuldigen :) Bin mit den Nummern der releases und des codecs wohl etwas durcheinander gekommen - grosses sorry ;)

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • Zitat von Selur

    JoeB: Sicher, dass Du jetzt nicht den 1st pass und ein single pass encodign verwechselst?

    So wie ich es verstanden hatte:

    x264 --bitrate 1100 --ratetol 1.0 ..... -o nul.......
    macht das gleiche wie:
    x264 --pass 1 --bitrate 1100 ..... -o nul.......

    Das ist richtig, nur das Setting für ratetol steht wohl noch nicht ganz fest:

    Zitat von akupenguin

    Yes. In VfW, I set ratetol=4 for 1st pass (since distribution matters more than exact rate) and ratetol=1 for 2nd and 1pass. Of course, the exact numbers are pulled out of thin air; the 4 was not optimized for anything in particular, and anything I picked to be the internal default would have been defined to be "1".

    Meint der damit, dass bei "One Pass ABR" ratetol=4 sein sollte? Oder meint er, dass bei "Two-Pass_Encoding" ratetol=1 sein sollte im ersten pass. Bin jetzt doch etwas verwirrt :(

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • Also so wie ich das verstehe ist Rateol 1 der ABR, den man aber beim first pass nicht nehmen soll, weil der andere genauer ist, wenn es eh noch einen zweiten Pass gibt, der die Bits nochmal durch die gegend schiebt.

    Es gibt eine Theorie, die besagt, dass das Universum sofort verschwinden und etwas noch Unerklärlicheres und Bizarres an seine Stelle treten wird, sobald jemand herausfindet, wofür es gut ist und warum es existiert.

    Es gibt eine andere Theorie, die besagt, dass das bereits geschehen ist.

  • Zitat von Kopernikus

    Also so wie ich das verstehe ist Rateol 1 der ABR, den man aber beim first pass nicht nehmen soll, weil der andere genauer ist, wenn es eh noch einen zweiten Pass gibt, der die Bits nochmal durch die gegend schiebt.

    Nach dieser Diskussion habe ich meine commandline für 2 pass mit erstem pass abr mal angepasst. Hier ein Beispiel für wenige bitrate und Abenteuerfilm, Verbesserungsvorschläge erwünscht ;) :
    @echo off
    title x264 Encoding
    # First Pass - edit bitrate
    "C:\Programme\DVD Tools\mpeg4\x264\x264.exe" --bframe 3 --b-pyramid --ref 3 --filter [0:0] --bitrate 700 --ratetol 1.0 --pass 1 --stats "x264.log" --analyse none --direct temporal --weightb --subme 3 --output nul --progress Film.avs
    # Second Pass - edit bitrate
    "C:\Programme\DVD Tools\mpeg4\x264\x264.exe" --bframe 3 --b-pyramid --ref 5 --filter [0:0] --bitrate 700 --pass 2 --stats "x264.log" --analyse all --direct temporal --weightb --subme 5 --output Film.mp4 --progress Film.avs

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • Zitat von JoeB

    Meint der damit, dass bei "One Pass ABR" ratetol=4 sein sollte? Oder meint er, dass bei "Two-Pass_Encoding" ratetol=1 sein sollte im ersten pass. Bin jetzt doch etwas verwirrt :(


    hm --ratetol definiert wie sehr die bitrate schwanken kann

    meine tests haben ergeben, dass je höher die ratetol ist desto mehr ähnelt die bitratenverteilung derjenigen des 2nd pass, was ja auch das ziel ist

    die nachteile von hohen bitraten sind jedoch:
    - encodieren wird langsamer
    - die bitrate des 1st pass weicht immer mehr von der gewünschten ab, was vielleicht auch die qualität wieder negativ beeinflußen kann

    Ich weiß, daß ich nichts weiß (Sokrates)

  • "meine tests haben ergeben, dass je höher die ratetol ist desto mehr ähnelt die bitratenverteilung derjenigen des 2nd pass, was ja auch das ziel ist"
    Hmm,... eine starke/restriktive Ratekontrolle führt zwar zu einer immer konstanten Datenrate, aber eigentlich ist das ja nicht immer wünschenswert.
    => höhrt sich irgendwie nicht so dolle an, dass beieiner strengen Ratecontrol die Verteilung des ersten Passes sehr der des 2ten ähnelt. (Es sei den sie wird im 1st pass schon sehr gut gemacht und es gibt im 2ten pass nicht mehr viel zu tun,...)


    Zitat

    die nachteile von hohen bitraten sind jedoch:
    - encodieren wird langsamer
    - die bitrate des 1st pass weicht immer mehr von der gewünschten ab, was vielleicht auch die qualität wieder negativ beeinflußen kann


    Wieso dauert das Encoden hoher Bitraten den länger? (Du beziehst Dich doch nicht darauf, dass mehr Datengespeichert werden müssen und deshalb die Platte länger arbeiten muss, oder ?)

    Ein Schwanken der Datenrate halte ich eigentlich für erstrebenswert, wenn man davon ausgeht, dass das Material unterschiedliche Szenen beinhaltet.

    Cu Selur

    Ps.: Sorry, falls ich momentan auf dem Schlauch stehe, aber irgendwie erscheint mir das alles merkwürdig.

  • Zitat von Selur

    Ein Schwanken der Datenrate halte ich eigentlich für erstrebenswert, wenn man davon ausgeht, dass das Material unterschiedliche Szenen beinhaltet.


    genau das meine ich, wenn ich von einer hohen ratetol rede :)

    je höher der wert den man bei ratetol eingibt desto weniger restriktiv ist wird die bitrateschwankung eingeschränkt, desto mehr schwankt die bitrate: zb mehr bits in highmo usw...

    natürlich verwendet auch der 2pass in highmo mehr bitrate und deshalb ist es besser wenn der 1st pass auch mehr bitrate für diese szenen verwendet, da ja auch das ziel ist, dass die beiden passe eine so ähnlich wie mögliche bitrate verwenden für die einzelnen szenen

    bleh, sicher kein gutes deutsch der ganze thread, aber es ist einfach zu heiß um mich zu konzentrieren :D

    Ich weiß, daß ich nichts weiß (Sokrates)

Jetzt mitmachen!

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