Qualitätseinstellung mit x264?

Zhalom

Lt. Commander
Registriert
Okt. 2011
Beiträge
1.283
Hallo,

ich frage mal nach eurer Meinung. Wenn ich zum codieren "CRF" (konstante Qualität) benutze, warum werde ich überall belehrt das ein Wert von 22 generell sehr gut ist, und ab 16 abwärts bereits overkill ist (zb hier http://www.avidemux.org/admWiki/doku.php?id=tutorial:h.264 oder https://app.zencoder.com/docs/api/encoding/h264/crf), wenn ich eine andere Erfahrung gemacht habe? Mache ich denn was falsch?

So sieht CRF20 aus: (Ausschnitt ,aber ohne zoom oder sowas)
teil1crf20.jpg

Mit CRF18 sieht man die Artefakte auch noch.

und das ist CRF16 wo man nix mehr sieht:
teil1crf16.jpg


Ich will nur sichergehen das ich nichts falsch mache.
 
Moin!

Da tauchen bei mir, auch als Laien 2 Fragen auf:

- wie nutzt du x264 ? Über cmd-line, oder über ne Oberfläche/extra Programm (z.B. MeGUI) ?
- wie sehen denn die anderen Einstellungen für x264 bei dir aus ? CRF ist ja nur eine von vielen Qualitäts beeinflussenden Parametern

Als ich einige Videos mit MeGUI umgerechnet habe sind mir jedenfalls keine solche Artefakte unter gekommen. Hatte so von CRF 13-20 getestet, mit verschiedenen Einstellungen (Presets: Medium, Slow, Slower, Very Slow, Placebo :evillol:; Tuning: Film, Animation).

Nungut mir fehlt auch das Hintergrundwissen um überhaupt sagen zu können ob meine Videos Material enthielten das solche Probleme, wie bei dir, provozieren könnte. Evtl. hatte ich ja einfach nur Glück...

Also falls du mit einer Oberfläche/Programm x264 steuerst, schauen was dieses evtl. noch an Optionen bietet oder im Zweifel mal ein anderes Tool testen. Das schon erwähnte MeGUI ist sicherlich umständlicher/aufweniger als die meisten anderen Tools, bietet bei Bedarf aber vollen Zugriff auf die x264 Parameter.
 
Also ich persönlich habe auch immer alles mit CRF 16 gemacht. Was halt schon ein großer Unterschied zu 22 ist da diese Skala ja soweit ich weiß logarithmisch ist. Lass dich nicht von anderen kirre machen. Du musst dir die Videos anschauen, also entscheidest du über die Qualität. Solange du genügend Festplatten hast ist der Rest doch egal...

Edit:
Viel wichtiger sind meines Erachtens die anderen Einstellungen des x264 Codec. Habe mir da ein komplett eigenes Preset geschaffen. Man kann mit dem Codec soviel mehr erreichen wenn man "unendlich" Zeit hat, da der Codec doch einige intelligente/adaptive Einstellungen hat welche den benötigten Platz kleiner, die Qualität aber besser machen.
 
Zuletzt bearbeitet:
die anderen parameter wären noch interessant.
handelt es sich um eine aktuelle version von x264?

welche auflösung hat dein material? tendenziell werden für niedrigere auflösungen etwas niedrigere crf-werte empfohlen als für hohe, da die makro-artefakte bei höheren auflösungen kleiner sind (weil 16 x 16 pixel einfach weniger fläche einnehmen).

crf22 halte ich übrigens aber auch für etwas hoch, ich nehme meist 18 in der 8-bit-version und 19 in der 10-bit-version.
 
heiroh schrieb:
- wie sehen denn die anderen Einstellungen für x264 bei dir aus ? CRF ist ja nur eine von vielen Qualitäts beeinflussenden Parametern

Nein. Sonst wäre der Sinn von CRF auch verfehlt.

Die anderen Encodiereinstellungen beeinflussen lediglich die Dateigröße bei einem qualitätsbasiertem Encodingverfahren.

Tuning würde ich nicht benutzen.

Solche Artefakte hab ich allerdings sogar mit CRF 23 nicht..

Find ich schon bissl hart.

Ist das bei jedem Video so bei dir?

Ich encodiere mit MeGUI @ development update server und CRF 19.
Aber bereits CRF 21 macht bei mir excellente Qualität und nicht so einen Matsch o.o
 
Zuletzt bearbeitet:
die anderen einstellungen können schon die qualität selbst bei gegebenem CRF verändern.

beispielsweise kontrollieren die presets (placebo, veryslow, ...) das verhältnis von qualität zu dateigröße. wechselt man von fast zu slow, ist garantiert, dass dieses verhältnis besser wird.
es kann also folgendes passieren:
- die datei wird viel kleiner, die qualität etwas schlechter
- die datei wird kleiner, die qualität bleibt gleich
- die datei wird etwas kleiner, die qualität etwas besser
- die datei bleibt gleich groß, die qualität wird besser
- die datei wird größer, die qualität viel besser

man sollte also erst alle anderen einstellungen (im wesentlichen nur preset und tuning) setzen und dann den für diese einstellungen benötigten crf-wert ermitteln.

kannst du vielleicht ein sample hochladen, bei dem x264 bei dir diese artefakte erzeugt?

De-M-oN: warum kein tuning? die x264-entwickler empfehlen --tune film, falls es sich um real-world-content handelt.
 
Bei CRF bleibt die Qualität einheitlich, egal welches Preset. Nur Tuning ändert.

Nimmst du schnelleres Preset, muss halt mehr Dateigröße, bei kleinerem Preset geht weniger Dateigröße.

Die Qualität dabei ändert sich nicht.

Das ist ja quasi der Sinn an CRF.
 
o.O

Also das ist mir jetzt echt neu ...

Das heißt ein CRF 21 @ übertriebenes Placebo würde hübscher aussehen, als zb Ultra-fast?
Aber ich vermute mal die Differenz Medium vs Slow wäre nicht so krass ^^

Fänd ich aber ziemlich blöd. Weil eig. sollte CRF doch die Qualität definieren.
Außerdem wird die Datei ja auch entsprechend größer bei kleinerem Preset um die zb CRF 21 einzuhalten. Das es dennoch nicht gleich sein soll, wundert mich jetzt aber schon arg.
 
Zuletzt bearbeitet:
crf liefert eben nur eine "ungefähr gleiche" qualität.
De-M-oN schrieb:
Das heißt ein CRF 21 @ übertriebenes Placebo würde hübscher aussehen, als zb Ultra-fast?
nicht unbedingt, es wäre aber möglich. wie gesagt, ultrafast -> placebo verbessert das qualität/bitrate-verhältnis. die anderen möglichen ausgänge habe ich ja oben schon aufgezählt. extreme sprünge sind natürlich eher die ausnahme.
man kann sich aber nicht darauf verlassen, dass derselbe crf-wert bei verschiedenen anderen parametern zum gleichen visuellen ergebnis führt.
 
Zuletzt bearbeitet:
Vielen Dank für die vielen Antworten. Ich erläutere etwas mehr.

Das Video hat eine Auflösung von 1296x720@50 fps. Ich benutze Xmedia Recode die neueste Version. Da gibt es so viele Einstellungen, ich mach Bilder. Ich habe versucht die besten Qualitätseinstellungen zu wählen.
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset1.jpg
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset2.jpg
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset3.jpg
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset4.jpg
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset5.jpg
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset6.jpg
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset7.jpg
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset8.jpg
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset9.jpg
http://i62.photobucket.com/albums/h81/Hanob/misc/xmediaset10.jpg

Das ist mir nur bei diesem Video aufgefallen weil es so extrem ist, aber jetzt wo ihr es sagt finde ich es auch in anderen Videos nur ganz leicht AAArgh. zB das Video hier auch mit CRF20 gemacht:
teil2crf20.jpg


Die Artefakte verstärken sich übrigens mit der Zeit, und plötzlich sind sie wieder weg. Aber es passiert auf wundersame weise nicht abrupt sichtbar, sondern irgendwie geht es heimlich weg ,und kommt dann langsam wieder. Auf dem Standbild kann man nicht erkennen wie das bewegt aussieht, aber es sind viele verwaschene Flächen die ineinander verlaufen und rumwabern ,für mehrere sekunden nur dort passiert es so stark. Also an detailierten Objekten finde ich es nicht auf den ersten Blick, im Gegenteil es sieht super aus.

Die Bitrate ist aber eigentlich ziemlich niedrig. Mit CRF20 bei ca 2700kbs, und mit CRF16 bei ca 5000kbs. Ich kann nicht glauben das überall zu lesen ist das CRF16 overkill fast lossless bedeutet, bei grade mal 5000kbs mmmh. Deswegen hoffe ich das ich keine falsche Einstellung habe.
 
falls nur einfarbige flächen (/mit wenig details) die probleme machen, kann das tatsächlich an schlechten parametern liegen. ich schau mir mal das programm an, für meine encodes benutze ich immer direkt das command line interface.

edit: die eigenen presets stimmen leider nicht mit den aktuellen x264-presets überein. dennoch würde ich dir mal empfehlen, auf dem ersten tab das preset "slower" auszuwählen (+ evtl tune film), den crf-wert anzugeben und den rest auf dem standardwert dieses presets zu lassen.

könntest du noch ein sample hochladen, das bei dir zu den beschriebenen problemen führt? dann kann ich einfach mal schauen, wie es bei mir ausschaut. ich kann mir einfach nicht vorstellen, dass du bei crf 18 und ordentlichen einstellungen noch die oben beschriebenen artefakte kriegst.

falls du kein sample hast oder erstellt bekommst, versuche mal, nen encode mit MeGUI zu machen mit folgenden einstellungen:
- beliebiges x264-profil öffnen
- "load defaults"
- "targeting quality" und crf-wert einstellen
- preset im regler einstellen (am besten veryslow, slower oder slow)
- tune film auswählen
- sonst nichts anfassen
 
Zuletzt bearbeitet:
Zhalom schrieb:
Die Artefakte verstärken sich übrigens mit der Zeit, und plötzlich sind sie wieder weg. Aber es passiert auf wundersame weise nicht abrupt sichtbar, sondern irgendwie geht es heimlich weg ,und kommt dann langsam wieder. Auf dem Standbild kann man nicht erkennen wie das bewegt aussieht, aber es sind viele verwaschene Flächen die ineinander verlaufen und rumwabern ,für mehrere sekunden nur dort passiert es so stark. Also an detailierten Objekten finde ich es nicht auf den ersten Blick, im Gegenteil es sieht super aus.
Das klingt eher nach einem DEcodierungsproblem und KEINEM ENcodierungsproblem ;) . Der Decoder kommt mit irgendwas nicht klar => Bildfehler sind die Folge, die sich weiter verschlimmern und erst mit dem nächsten IDR-Frame - mit einem Schlag - wieder weg sind (denn ein IDR-Frame enthält den kompletten Bildinhalt und nicht nur Unterschiede zum vorherigen/nachfolgenden Frame).

Hast du denn mal einen anderen Decoder ausprobiert? Bzw.: hast du mal die Hardwarebeschleunigung im verwendeten Decoder (falls aktiv) abgeschaltet? Wenn dann dieses Problem nicht mehr auftritt, ist definitiv der Decoder dran schuld!
 
Tom Keller schrieb:
Das klingt eher nach einem DEcodierungsproblem und KEINEM ENcodierungsproblem ;) . Der Decoder kommt mit irgendwas nicht klar => Bildfehler sind die Folge, die sich weiter verschlimmern und erst mit dem nächsten IDR-Frame - mit einem Schlag - wieder weg sind (denn ein IDR-Frame enthält den kompletten Bildinhalt und nicht nur Unterschiede zum vorherigen/nachfolgenden Frame).

Hast du denn mal einen anderen Decoder ausprobiert? Bzw.: hast du mal die Hardwarebeschleunigung im verwendeten Decoder (falls aktiv) abgeschaltet? Wenn dann dieses Problem nicht mehr auftritt, ist definitiv der Decoder dran schuld!

100 punkte, das wars.

Media Player geht, VLC artefakte (aber bei 16 auch keine mehr)

Edit: finde keine Einstellung um VLC hinzubiegen
 
Zuletzt bearbeitet:
input & codecs - nutze die gpu-unterstützte dekodierung ist nicht aktiv?
aktuelle version?
 
MPC-HC + Haali Splitter ist sowieso zu bevorzugen -> bessere Performance, besseres Bild.

Naja VLC .... Hätt ich mir eig. denken können, das der mal wieder rumspinnt^^

Hätt ich also mal doch vorschlagen sollen MPC-HC zu nehmen ;D
 
Ahhh danke da wars versteckt. Eigentlich hab ich jetzt "nutze gpu-beschleunigte dekodierung" aktiviert, und schon gehts. Das scheint ja ein seltsames Video zu sein! Ich hab VLC version 2.0.0 also ziemlich neu.

Ich bin grad dabei, den CRF zu erhöhen. Bin bei CRF26 und es sieht noch gut aus!
 
Ich würde dir dennoch MPC-HC + Haali Splitter für bessere Performance und bessere Bildqualität empfehlen.
 
Zhalom schrieb:
Eigentlich hab ich jetzt "nutze gpu-beschleunigte dekodierung" aktiviert, und schon gehts.
Meistens ist es aber tatsächlich umgekehrt: mit der GPU-unterstützten Decodierung gibt's Fehler und mit der reinen CPU-Decodierung keine. Aber wenn's bei dir so rum klappt...

Zhalom schrieb:
Das scheint ja ein seltsames Video zu sein!
Wie gesagt: nicht das Video ist dann das Problem, sondern der Decoder hat sehr wahrscheinlich einen Bug.
 
Ich werde mir mal den Media Player Classic anschauen. Echt dumm, jetzt hab ich Videos mit unabsichtlich hoher Bitrate.
Jetzt wo ich's weiss, finde ich bei Google einige solcher Probleme mit VLC, ffmpeg und ffdshow oder wie es alles heisst. Von 2008 und so.
............
Das lässt doch bei mir die Schlussfolgerung, fast jeder schaut Videos in geringerer Qualität als möglich. Mir ist es jetzt erst bei diesem einen Video aufgefallen, bei allen anderen sieht man es eigentlich nur wenn man umschaltet und weiss wo man hinschaut... mehr oder weniger nunja. Der Gesamteindruck zählt ja, und er sollte sich von älteren Codec's einfach abheben.
 
Zurück
Oben