Dumme Idee: CRF simulieren mit Xvid. Meinungen?

  • Mir spukt gerade die dumme Idee im Kopf herum, ob man nicht auch mit Xvid so etwas wie CRF-Encoding hinkriegen könnte.

    x264s CRF basiert ja im Prinzip darauf, von der angegebenen »Zielqualität« aus je nach Komplexität einer Szene den Quantizer zu variieren. Wenn man jetzt als Restriktion für Xvid 2-Pass nicht mehr eine feste Zielgröße, sondern einen Komptest-Prozentsatz (als Zielqualität) wählt, hat man dann nicht etwas ähnliches wie CRF? Der Prozentsatz ist die Qualitätsstufe, und der Encoder optimiert um die herum je nach Komplexität.

    Warum ich überhaupt auf sowas komme: Ich habe eine 500-GB-Platte (naja, eigtl. 465 GB) für die Filme angeschafft und festgestellt, dass 500 Gig für eine umfangreiche Sammlung gar nicht sooo viel Platz sind. Deswegen widerstrebt es mir irgendwie, mit CQ2 doch einigen Platz zu verschwenden. Klar könnte ich auf x264 umsteigen und echtes CRF haben, aber das wäre ja viel zu langweilig. ;) Außerdem spricht die höhere Decoding-Last dagegen. Soll hier aber auch kein Thema sein.

    Was meint ihr zu »Xvid CRF«? Theoretisch ok? Praktisch Blödsinn? Eine besonders schnelle Methode ist das jedenfalls nicht, immerhin hat man jedesmal den Overhead von Komptest und 1st Pass.

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

  • Bin zwar gegen Komptest aber crf für Xvid wäre sicher nicht verkehrt, also die Möglichkeit einen durchschnittlichen Quantizer anzugeben, wobei je nach Szene dieser Quantizer nicht fest ist sondern leicht schwankt.

    -----

    Was Du vorschlägst erinnert mich eher an ein neues 2pass Kriterium, anstatt an eine durchschnittliche Datenrate wird an einen alternativen 'hypothetischen' Wert angenähert.
    Wenn Du den von Dir vorgeschlagenen Prozenzsatz im Verhältnis zum Quant2 Encode und dessen Größe nimmt sollte es an sich nichts anders sein, als das Verhältnis zwischen Quant2-Encode-Größe und Angestrebe-Größe-Im-2pass-Encode, nur das mit einem Faktor quantisiert wird.

    Cu Selur

  • Mir spukt gerade die dumme Idee im Kopf herum, ob man nicht auch mit Xvid so etwas wie CRF-Encoding hinkriegen könnte.

    ELDER macht das schon seit einem Jahr. Hat aber keinen interessiert.
    Zur Zeit ist das Projekt tot weil ich keine Zeit mehr reinstecke.

    bis besser,
    Tobias

    Diese Signatur steht zum Verkauf

  • Zitat von Selur

    Wenn Du den von Dir vorgeschlagenen Prozenzsatz...


    Den Absatz hab ich irgendwie nicht so wirklich kapiert.
    Schon klar, dass ich im Endeffekt wieder eine Zielgröße wähle. Aber das tue ich bei echtem CRF doch auch. Einziger Unterschied mit der Xvid-Methode: ich kann die Größe schon vorher sehen.

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

  • Ich vermute Du hast http://forum.doom9.org/showthread.php?t=116773 nie gelesen, oder? ;)
    Wenn Du die Größe durch einen 'AnalysePass' + Rechnung vorher kennst, ist dann Dein Wunsch nicht eigentlich ein normaler 2pass mit verkürztem 1st pass und einer RateControl die auf durchschnittlichen Quantizer anstatt auf durchschnittliche Datenrate reagiert?

  • Männers, was diskutiert ihr hier eigentlich von "Zielgröße", "Comp-Test" und "1st-pass", wenn das Thema "CRF" ist?

    CRF ist, und ihr wisst das ganz genau, Encoding mit einem beliebigen vorgegeben Quantisierungsfaktor, wobei der Codec die Quantizer gemäß lokaler Komplexität moduliert.
    Die Zielgröße bei CRF ist "unvorhersehbar".

    Wenn eine Zielgröße erreicht werden soll, dann geht's über 2-pass, und ...
    ... mit 'curve compression' = 0/0 erhält man (annähernd) CQ
    ... mit 'curve compression' = x/y erhält man CRF. Der CRF-Nominalwert ergibt sich aus Endgröße, und x/y bestimmt wie stark die Quantizer moduliert werden.

    Für CRF braucht man keinen Comp-Test, und keinen 1st-pass, macht nämlich beides keinen Sinn. Die Problemstellungen, für die man Comptest und 1stPass braucht, die sind mit dem guten alten 2-pass-Verfahren bereits erschlagen.
    Für CRF gibt man einen Nominalwert an, und vielleicht noch ein,zwei Parameter für die Stärke der Modulierung. Sonst nichts, Feierabend.

    Also ... hilft einer einem alten Mann auf die Sprünge, worüber ihr beiden hier eigentlich diskutiert? :)

  • Zitat

    Encoding mit einem beliebigen vorgegeben Quantisierungsfaktor, wobei der Codec die Quantizer gemäß lokaler Komplexität moduliert.


    Und genau das versuche ich hier mit Xvid hinzutricksen.

    Ok, mein eigtl. Problem: CQ2 ist ziemlich groß und streckenweise ineffizient, weil teilweise auch höhere Quantizer ausreichen würden, um die nötige Qualität zu erreichen. CQ3 ist aber schon wieder teilweise zu schlecht, weil manche Szenen einfach ihren Q2 brauchen.

    CRF würde da helfen, nur hat Xvid eben keinen CRF-Modus. Deswegen die Idee, mit Xvid etwas hinzutricksen, das vom Effekt her einem CRF-Encoding entspricht. Vorher die Dateigröße zu wissen, ist absolut unwichtig. Mir geht’s darum, dass um eine vorgegebene Zielqualität herum je nach Szenen-Komplexität der Quantizer variiert wird, um so eine vage Vorgabe von »möglichst kleine Datei« oder vielleicht besser »konstante visuelle Quali« zu erreichen.

    Die dumme Idee war dann, einen Komptest-Prozentsatz als Zielquali zu nehmen (als Ersatz für --crf x) und die 2-Pass-Ratecontrol zum Quants variieren zu missbrauchen. Mal davon abgesehen, dass das Ganze sicherlich nicht besonders schnell ist. Bin ich von den technischen Abläufen wirklich dermaßen auf dem falschen Dampfer?

    Vielleicht ist die einfachere Lösung CQ4 mit der 6of9. Muss ich mal antesten. Aber die CRF-Frage interessiert mich trotzdem.

    Selur
    Den Thread kenne ich, aber da geht’s ja gerade darum, vorher die Zielgröße zu schätzen. Und das will ich ja gar nicht.

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

  • CQ2 ist ziemlich groß und streckenweise ineffizient, weil teilweise auch höhere Quantizer ausreichen würden, um die nötige Qualität zu erreichen. CQ3 ist aber schon wieder teilweise zu schlecht, weil manche Szenen einfach ihren Q2 brauchen.


    Amen! :)

    Zitat

    Die dumme Idee war dann, einen Komptest-Prozentsatz als Zielquali zu nehmen (als Ersatz für --crf x) und die 2-Pass-Ratecontrol zum Quants variieren zu missbrauchen. Mal davon abgesehen, dass das Ganze sicherlich nicht besonders schnell ist. Bin ich von den technischen Abläufen wirklich dermaßen auf dem falschen Dampfer?


    ... j-e-t-z-t hab ich Dich verstanden. Du nix falscher Dampfer. Ich von schwer Begriff! :D

    Das ist schon okay und absolut machbar. Andererseits ist's aber auch nichts Neues: nach althergebrachter Art einen Comp-Test machen, eine Zielgröße von ca. 85% der Comp.Test-Vorhersage anvisieren, 2-pass mit etwas Curve-Compreesion laufen lassen, und tadaa - fertig ist das (in etwa) CRF 2.5 -Encoding.

    Und eben weil das ganz alte Zöpfe sind, und viel zu lange dauert, deswegen wäre ein CRF-Modus sehr schön.


    CRF schon hier, jetzt und heute nutzen:

    - über ELDER, wie Tobias uns nochmal freundlich erinnert hat (wusste ich auch nicht. ELDER hat mich nie richtig interessiert weil a) ich keinen Mehrkern-Prozessor zur Verfügung habe, und b) mir die Benutzung etwas unumnumstähändigilich erschien, so beim schnellen 'drüberlesen...)

    - ganz einfach selber machen, mit Kopernikus' XviD-Modifikation


    Ja, ich bin auch faul, und deswegen wäre mir, ja, eine VfW-Variante auch viel lieber. Mit der Mod von Kopernikus bin ich auch noch nicht über den "irgendwann-muss-ich-das-mal-ausprobieren" - Status hinausgekommen ... :redface:

  • 708145: Hätte da ein paar Fragen: :)
    1. braucht Elder wirklich das ganze PXPerl oder reichen da ein paar kleinere .dlls ?
    2. Soweit ich es sehe benutzt Du ja eine modifizierte Xvid&Xvid_encraw Variante um Xvid crf zu erreichen, oder? (oder nutzt Du da ffmpeg?)
    Falls Ja, sind die Modifikationen auch im offiziellen CVN/SVN zu finden? -> Wie sind den die Commandline Parameter die Du nutzt, dann könnte man den crf Mode auch ohne ELDER nutzen,...

  • Gestern hab ich erstmal intensiver mit x264 rumgetestet. Interessanterweise bin ich zum Schluss wieder bei Sharktooths EQM AVC HR hängen geblieben, wo doch die Sharktooth-Matrizen schon mit Xvid im Dauereinsatz sind. Der Mann hat ein feines Händchen dafür, genau meinen visuellen Geschmack zu treffen! :) Das Endergebnis war allerdings ernüchternd: x264 kann ich zwar so konfigurieren, dass er ähnlich große Dateien erzeugt wie Xvid. Mit einem Bild von gleichem Detaillevel, das vom Gesamteindruck sogar ein Stückchen die Nase vorn hat – nur läuft das Encoding dann weniger als halb so schnell! Zusammen mit dem Lastnachteil beim Decoding ist’s das nicht wert.

    In ELDER werde ich sicher demnächst mal reinschauen. Kopernikus’ Mod ist erstmal zu hoch. Selbst solche Formeln entwickeln? Ich hätte nicht den blassesten Schimmer, wie ich da ansetzen sollte. Wenn’s mathematisch wird, bin ich halt Banause.

    Was auch noch mit reinspielt ist die Größe des Originals. Denn ganz am Ende zählt, was ich im Vergleich zur von allem Mist befreiten DVD einspare. Schon CQ2 macht da oft gar keine schlechte Figur.

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

  • 2. Soweit ich es sehe benutzt Du ja eine modifizierte Xvid&Xvid_encraw Variante um Xvid crf zu erreichen, oder? (oder nutzt Du da ffmpeg?)
    Falls Ja, sind die Modifikationen auch im offiziellen CVN/SVN zu finden? -> Wie sind den die Commandline Parameter die Du nutzt, dann könnte man den crf Mode auch ohne ELDER nutzen,...

    Bist Du Dir da sicher, das das ein MOD Xvid_encraw ist? Alles ist UPX gepackt und nach Commandline sieht alles normal aus.

    Naja wart ma mal auf 708145 :)

  • ELDER macht das schon seit einem Jahr. Hat aber keinen interessiert.
    Zur Zeit ist das Projekt tot weil ich keine Zeit mehr reinstecke.

    Wäre es nicht möglich diesen Modi in EncRaw zu überfüren? Könnte man das nicht mal im entsprechenden Threat ansprechen?

    Ja, ich bin auch faul, und deswegen wäre mir, ja, eine VfW-Variante auch viel lieber.

    Dada:http://forum.doom9.org/showpost.php?p=999248&postcount=109

Jetzt mitmachen!

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