Ergebnisse mit x264 und CRF zu groß

  • Hallo zusammen,

    ich schlage mich gerade mit dem Archivieren meiner Serien von DVD herum.
    Ich habe mit Staxrip und dessen Standardeinstellungen losgelegt: x264 film und damit Quality low(crf=23), tune=film, device=disabled, preset=slower (weiter runter kann ich nicht, sonst spielt mein raspberry das file nicht mehr ab).
    Eine Season beschert mir Dateigrössen von 400-550MB, die Folge wie üblich max. 50 min, abzüglich 2x40MB mp3 Ton. Die Qualität ist einigermassen, könnte ich mit leben.

    Wenn ich mich aber woanders umschaue und andere Serien finde, liegen die so bei 280-350 MB (mit gleicher Tongrösse) Qualität mindestens so gut wie meine encodings, eher besser. crf ist dort mit 18 angegeben. Wähle ich im Staxrip crf=20, meine ich, ähnliche Qualität zu erreichen, meine Dateigrösse ist dann aber gleich mal ca. 700MB pro Folge! Mediainfo zeigt auch deutlich andere Parameter bei den anderen encodings. Bevor ich jetzt meine Parameter so lange ändere, bis ich ähnliche Größen erreicht habe (oder eben auch nicht, wer weiss) frag ich hier lieber zuerst mal nach...

    Lieben Dank für alle erhellenden Hinweise
    Frank

    Mein Encoding (720MB):
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : High@L3.0
    Format settings, CABAC : Yes
    Format settings, ReFrames : 4 frames
    Codec ID : V_MPEG4/ISO/AVC
    Duration : 48mn 20s
    Bit rate : 1 887 Kbps
    Width : 704 pixels
    Height : 400 pixels
    Display aspect ratio : 16:9
    Frame rate mode : Constant
    Frame rate : 25.000 fps
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Bits/(Pixel*Frame) : 0.268
    Stream size : 652 MiB (95%)
    Writing library : x264 core 133 r2334 a3ac64b
    Encoding settings : cabac=1 / ref=3 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=3 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    Default : Yes
    Forced : No


    Fremdencoding (290MB):
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : High@L3.1
    Format settings, CABAC : Yes
    Format settings, ReFrames : 15 frames
    Codec ID : V_MPEG4/ISO/AVC
    Duration : 41mn 54s
    Width : 720 pixels
    Height : 404 pixels
    Display aspect ratio : 16:9
    Frame rate mode : Constant
    Frame rate : 25.000 fps
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Writing library : x264 core 142 r2389kMod 956c8d8
    Encoding settings : cabac=1 / ref=15 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / fade_compensate=0.00 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=36 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / fgo=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=18.0000 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    Default : Yes
    Forced : No
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709

  • CRF begrenzt nur den Qualitätsverlust zum Original, aber die Zielgröße ist sehr abhängig von der Komprimierbarkeit des Materials. War das Original schon arm an Details und Bewegung, wird es sich besser komprimieren lassen als Material mit vielen Details und Bewegung.

    Das Vergleichsvideo verwendet auch wesentlich komplexere Einstellungen (z.B. bis 8 B-Frames und 15 Referenzen), dürfte also auf manchen kleinen Geräten nicht vernünftig abspielen.

  • So langsam glaube ich, dass ich gefälschten CRF's aufsitze. Ich habe jetzt zwei identische Inhalte miteinander verglichen, die eine Folge von woanders mit 310MB, die andere per DVB-T mitgeschnitten.
    Fremdencoding: 310MB
    DVB-T mit exakt den Fremdencoding Parametern encodiert: 880MB
    DVB-T mit den Fremdencoding Parametern und CRF=20 encodiert: 690MB
    DVB-T mit den Fremdencoding Parametern und CRF=23 encodiert: 300MB
    DVB-T ohne jede Parameterangabe (Default ist CRF=23) encodiert: 340MB

    Ich habe auch sehr viel mit den Parametern herumgespielt, insbesondere mit den Referenzen. Bei festem CRF kann man mit einer Variation der anderen Parameter bestenfalls etwa 15% kleinere Dateien bekommen - also kein Vergleich mit dem Einfluß, den CRF auf die Dateigröße hat.

    Wenn ich also dies voraussetze:
    Es gibt keine weiteren Parameter, die nicht von MediaInfo angezeigt werden, aber signifikant die Dateigrösse beeinflussen könnten
    Es gibt keinen Quantensprung in der x264 library zwischen core 133 und core 142
    Eigentlich kann ich bei dem hier betrachteten Material keinen wirklichen Unterschied zwischen CRF18 und CRF23 erkennen

    Dann kann doch eigentlich nur noch ein Hexeditor am Werk gewesen sein, oder mache ich irgendwo einen Denkfehler?

  • Zitat

    Eigentlich kann ich bei dem hier betrachteten Material keinen wirklichen Unterschied zwischen CRF18 und CRF23 erkennen

    Einen Unterschied gibts sicher,selber müsste ich jetzt hier um den zu sehen,beide Streams in einen Intermediate codieren,auf 2 Spuren legen und dann explizit da den Unterschied auswählen/anzeigen lassen.
    Du würdest staunen.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Du recodierst also ein schon mal ursprünglich mit x264 encodiertes Video noch mal neu mit x264 und vergleichst die Größen je nach CRF?

    Dann hast du hier vielleicht den "Beweis" für die Encoding-Artefakt-Kaskadierung. Kurz gesagt: Jede verlustbehaftete Encodierung macht im Vergleich zum Original gewisse Fehler, und diese Fehler "exakt nachzuahmen", kostet den Encoder u.U. sehr viel Bitrate, weil diese Fehler auch fremde und schwer komprimierbare Strukturen erzeugen können (siehe Gibbssches Phänomen).

  • So langsam glaube ich, dass ich gefälschten CRF's aufsitze. Ich habe jetzt zwei identische Inhalte miteinander verglichen, die eine Folge von woanders mit 310MB, die andere per DVB-T mitgeschnitten.


    Vergleiche machen nur Sinn, wenn sie von der gleichen Quelle gemacht werden. Ist denn die 310MB Fassung auch vom gleichen DVB-T Mitschnitt?

    Wenn du z.B. ne Simpsons Folge einmal von DVD und einmal von einem TV Mitschnitt mit gleichen x264 Settings kodieren würdest, wäre die von der DVD optisch deutlich besser und vermutlich noch kleiner.
    Wie Ligh schon erklärt hat, muss man beim jedem Recodieren immer mehr Bitrate zugeben, um die Qualität des Film zu bewahren.

    TV-Mitschnitte sind meist schon ziemlich häufig recodiert worden und lassen sich nur sehr schwer nochmal komprimieren.

  • Verzeiht mir, ich habe mich da unklar ausgedrückt, also jetzt ganz deutlich:
    Ich habe mit meiner DVB-T Tunerkarte eine Folge Leverage von VOX aufgenommen. Diese MPEG2 Datei habe ich mit den verschiedenen Parametern nach x264 encodiert. Ich habe bei meinen Versuchen mal den Ton ganz rausgenommen und auch vor dem Encodieren das MPG von 720:576 auf 720:404 zugeschnitten. Dieses mpg ist mein Ausgangsmaterial.
    Dann habe ich die gleiche Folge x264 encodiert aus dem Internet heruntergeladen. Naturgemäss weiss ich nicht, aus welcher Quelle diese 310MB Version stammt - diese spezielle Folge ist jedenfalls noch nicht auf DVD erschienen.

    Wir reden ja nun auch nicht über feine Details, bei angeblichem CRF=18 geht es um 310MB gegen 880MB. Somit sind meine Encodings fast drei mal so groß, da frage ich mich schon, ob bei mir nicht irgendwas grundfalsch eingestellt ist.
    Obendrein hatte ich anfangs dieses Thema begonnen, weil beim Encodieren von 4 DVDs aus meinem Besitz ähnlich große Dateien herauskamen, deutet das nicht doch auf einen grundsätzlichen Fehler hin?
    Ich werde mir die Leverage Folge noch einmal genau anschauen, evtl sehe ich ja doch einen Unterschied zwischen den CRFs und glaube nicht nur, ihn zu sehen...

  • Dann habe ich die gleiche Folge x264 encodiert aus dem Internet heruntergeladen.

    Dann können wir eigentlich dieses Thema schließen (siehe Forenregel 4.5).

    Bleibt das Fazit: Du weißt nichts über die "andere Quelle", also sind Vergleiche mit Encoding-Ergebnissen aus deiner Quelle sinnlos, weil sie von vorn herein anders sein könnte, also auch eventuell erheblich schlechter encodierbar (schlechtestmögliche Ausgangslage wäre, dass das deutsche PAL-"Original" eine Normkonvertierung aus amerikanischem NTSC-Original ist, vielleicht mit Interlacing, vielleicht mit Blending, aber bei MPEG2 aus DVB-T sicher mit stärkeren Kompressionsartefakten als manch andere Quelle, und die treiben die Bitrate hoch).

Jetzt mitmachen!

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