Wie vermeide ich bei x264 "Rausch-Wolken" in dunklen Bereichen?

  • wenn ich grainy Material mit dunklen Szenen encode fallen mir alle 10 sec. sich aufbauende "Rausch-wolken"(weiß nicht wie es besser beschreiben soll)in schwarzen Bildbereichen auf.
    Vielleicht kann mir jemand einen Hinweis geben mit welchen Einstellungen ich diese schrecklichen Effekte vermeiden kann :(


    Hier ein 20sec. Beispiel(13MB): megaupload.com/?d=FLLKB1SX


    Das habe ich mit allen playern beobachtet, aber am deutlichsten kann man es mit dem vlc player sehen.

  • Willst Du denn den Filmgrain erhalten oder entfernen?
    -> sieht für mich so aus, als ob das was Du vermutlich als Rauschwolken wahrnimmst schon im Quellmaterial ist, weshalb vermutlich ein DeGrain oder dergleichen in Avisynth&Co sinnig wäre,...
    (x264 wird ja eher versuchen das Rauschen zu erhalten, weil es davon ausgehen muss, dass es sich um wichtige Informationen handelt)

  • Hi Selur :)
    möchte möglichst den Grain erhalten. Habe es auch schon mit verschiedenen Templates probiert(grain/film/none). Der Grain ist aber auch mit "None" gut sichtbar, die Templates sind also eher zweitrangig in diesem Fall. Der Effekt ist im Original natürlich nicht enthalten.


    Dieser 10 sec. Rhytmus deutet darauf hin, dass beim IDR-frame alles in Butter ist, der Rest der aber danach folgt sich immer mehr bis zur sichtbaren "Rausch-wolke" aufschaukelt um dann beim nächsten IDR-frame 10sec. später wieder zu verschwinden usw.


    Hast du dir das sample mal angesehen ?


    Kodierungseinstellungen:

    Code
    1. cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=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=2pass / mbtree=1 / bitrate=5733 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
  • habe ich das richtig verstanden, dass diese "openGOP"-Funktion nur bei dieser gepatchten x264 version vorhanden ist:


    http://www.mediafire.com/file/…ozh/x264_1171_opengop.zip


    der link steht in der ersten Seite deines erwähnten Threads. Leider ist der link ungültig/kann man nix runterladen...


    Zitat

    adaptive quantization und andere psy Werte helfen vermutlich auch etwas


    nach wohin verändern(kleiner oder größer wählen?)


    PS...


    kann es vllt auch/und ein decoding-problem sein ?
    Wenn ich das file mit dem Zoom player abspiele, sehe ich von diesem "pumpen" merkwürdigerweise gar nichts...

  • Bei korrektem Abspielen sehe ich kein Problem mit dem Sample. Getestet: Zoomplayer (ffdshow/ffmpeg-mt), und WMP (Microsoft DTV-Videodekoder). Wäre ja auch seltsam - H.264 ist schließlich so standardisiert, dass alle (konformen) Dekoder ein identisches Ergebnis liefern müssen.


    Was mir aufgefallen ist: Wenn in ffdshow der "Levels"-Filter mit der Option "Automatik" aktiviert wird, dann entsteht im elf-Sekunden-Takt ein kurzer Flash in der Helligkeit. Vermutung: ein kodierter IDR-Frame enthält dunklere "Ausreißer-Pixel", die den AutoLevels-Filter kurzfristig zu einer veränderten Anpassung zwingen.

  • So schön x264 auch ist - dunkle Bereiche sind problematisch.


    Ich verwende dagegen "--no-fast-pskip --no-dct-decimate" und hoffe, daß es etwas hilft.


    "--no-fast-pskip" kostet zwar etwas Zeit, und "--no-dct-decimate" macht das File etwa 1-3% größer, aber das ist es mir wert.


    lil barny, wenn Du das mal testen würdest wäre ich an Deiner Meinung (ob es etwas bringt) sehr interessiert.


    Gruß


    akapuma

  • Pumpen aller Art nervt mich schon seit mpeg2 Zeiten. Schön, dass es noch andere Menschen gibt die so etwas stört. Vielleicht setzt sich auch irgendwann ein Entwickler dran und schafft Abhilfe.
    Nur am Rande: GOP Pumpen bekommt man bei XviD übrigens ganz gut in den Griff, wenn man (bei standard Matritzen) keine Quantizer kleiner 2 bei den P-Frames erlaubt. Vielleicht gibt es ja ein x264 Adäquat.

  • "--no-fast-pskip" kostet zwar etwas Zeit, und "--no-dct-decimate" macht das File etwa 1-3% größer, aber das ist es mir wert.


    lil barny, wenn Du das mal testen würdest wäre ich an Deiner Meinung (ob es etwas bringt) sehr interessiert.


    Muss dich leider enttäuschen, hat(fast) nichts gebracht :nein:



    zu OpenGop: Das ist schon seit einiger Zeit in den Standardbuilds von x264 enthalten. :)
    zum Effekt: Liegt z.T. auch am Videorenderer


    Cu Selur


    Habe es nun mit dem neuesten MeGUI 0.3.5.0 (core 98 r1649)probiert und alles incl. profile erstmal updaten lassen. Dann profile "Bluray" genommen(grain, film, etc. gibts komischerweise nicht mehr...) und die sich aufbauenden "Rausch-Wolken" sind WEG !!! :ja:


    aber leider ist das Bild meiner Meinung nach bei diesen niedrigen bitraten irgendwie "schlechter"(weniger "knackig"??) als mit meinem älteren Build(core 75 r1259M) ohne dieses "openGOP".


    tja, shit irgendwie... :hm:
    die Verbesserung wird jetzt mit einem ungewohnten Nachteil erkauft...

  • 0.3.5.0 ist nicht die "neueste MeGUI" - nur die letzte "stabile". In den Settings auf den Development-Updater umstellen, und man bekommt mittlerweile Version 0.3.5.15 - mit entsprechenden Tools-Updates. Das Risiko, eine überraschend fehlerhafte Version zu bekommen, ist relativ gering, die Entwickler sind im englischen doom9-Forum immer schnell mit Feedback versorgt.

  • Aus der Dokumentation (x264.exe --fullhelp):


    Code
    1. ...
    2. --open-gop <string> Use recovery points to close GOPs [none]
    3. - none: closed GOPs only
    4. - normal: standard open GOPs
    5. (not Blu-ray compatible)
    6. - bluray: Blu-ray-compatible open GOPs
    7. Only available with b-frames
    8. ...


    Also: 1. mit Bindestrich, 2. mit Option

  • Nur um's nochmal gesagt zu haben - ich seh' in dem Sample kein POP!-Problem, das man verbessern müsste ...


    Klar, der dunkle Hintergrund ist nicht völlig einwandfrei. Aber bei (fast-) Full-HD, mit dieser eher niedrigen Bitrate, und bei diesem recht starken Rauschen des Eingangsmaterials, da wird sich das nicht völlig vermeiden lassen. +/-1 an der Schwarzgrenze ist und bleibt halt ein grundsätzliches Problem, insbesondere bei nur 8bit-Farbtiefe.


    (Wer vergessen hat, wie es aussieht wenn da wirklich ein Problem ist ... einfach mal mit derselben Bitrate mit Xvid encoden. Nach diesem Ausflug wird das x264-Ergebnis gleich wieder vieeel besser aussehen.) :D


    Außerdem sollte man bei korrekt eingestelltem Setup an der Schwarzgrenze sowieso nicht allzuviel sehen können ... verschiedentlich ist das Lamentieren über Artefakte an der Schwarzgrenze auf ein zu hell eingestelltes Display zurückzuführen ... oder auf ein schlechtes Display, bei dem "schwarz" sowieso nur "mittelgrau" ist...

  • @ LigH
    auch mit Bindestrich gibts error...


    @ Didee
    Mit der doppelten Datenrate ist das Aufschaukeln der grauen Wolken etwas schwächer, aber auch sichtbar. Neben dem VLC zeigen das der MPC-HC und KMplayer auch deutlich.


    Habe es nun mit noch zwei weiteren probiert... WMPlayer und Splash player(glaube dieser nutzt seinen eigenen H264 decoder) spielen es trotz der niedrigen bitrate ohne Auffälligkeiten ab.
    Das deutet eher darauf hin dass es kein Datenraten-Problem sein sollte ?