Brother Johns gesammeltes Encodingwissen
x264 ist neu und ich habe noch wenig Erfahrung damit. Es kann deshalb nicht schaden, mit etwas Bastlermentalität an den Codec heranzugehen und viel querzulesen. Selurs Wissenswertes rund um x264 eignet sich gut als erste Anlaufstelle.
Wie bei den anderen Codecs auch, interessieren uns die 1-Pass-Einstellungen nicht. Wir klicken also Multipass an und wählen First pass. Auch den Fast first pass können wir ohne Bedenken einschalten. Diese Funktion beschleunigt ähnlich wie bei XviD den ersten Durchgang, ohne spürbar negativ auf die Qualität zu wirken. Den Statsfile name setzt Gordian Knot automatisch ein, deshalb können wir uns gleich um die Details im Advanced-Dialog kümmern.
AVC kennt viele Encoding-Features, die wir schon von XviD und DivX kennen. Ein paar wie GMC sind hier nicht verfügbar, dafür hat AVC einige Neuheiten. Kümmern wir uns zuerst um den oberen Teil der Advanced Settings.
Eine AVC-Neuheit heißt CABAC (Context-Adaptive Binary Arithmetic Coding). Das ist eine Kompressionsmethode, die gerade bei hohen Datenraten die nötige Bitrate deutlich senken kann. Da CABAC verlustfrei arbeitet, leidet die Qualität nicht darunter. Allerdings sinkt die Geschwindigkeit. Wenn wir nicht gerade mit einem uralten Rechner ausgerüstet sind, sollte die Funktion aktiviert bleiben.
Deblocking filter kennen wir bis jetzt nur von Decodern, die damit Blockartefakte im Bild zu übertünchen versuchen. x264 setzt einen solchen Filter schon beim Encodieren ein, und zwar nachdem ein Bild codiert wurde, aber bevor es als Referenz für das nächste Bild dient. Dadurch kann Bild 2 mit einer Referenz arbeiten, die weniger Artefakte enthält. Das tut der Qualität gut. Der Nachteil ist die sinkende Geschwindigkeit, um zwar sowohl beim Encoding als auch beim Decoding. Denn damit Bild 2 korrekt decodiert werden kann, muss das vorangehende Bild in gefilterter Form vorliegen. Das ähnelt einem XviD-Encoding bei dem wir gezwungen sind, beim Anschauen den Deblocking-Filter zu aktivieren.
Strength (A) und Strength (B) steuern die Stärke des Filters, wobei 0 die Normaleinstellung ist. Negative Werte führen zu schwächerem Deblocking, positive zu stärkerem. Für hohe Datenraten bietet es sich an, das Deblocking etwas zu verringern, während für die niedrigen Raten von 1-CD-Encodings etwas höhere Werte angebracht sind.
Kommen wir zu Max reference Frames. In XviD und DivX sind P-Frames auf genau ein Referenzbild beschränkt, und zwar auf das vorangehende Bild. x264 erlaubt auch mehrere Referenzframes. Wie viele, stellen wir mit Max reference Frames ein. Die Einstellung wirkt sich übrigens auch auf B-Frames aus.
Apropos B-Frames: Max B-Frames legt die maximale Anzahl aufeinander folgender B-Frames fest. Eine 3 heißt, dass nicht mehr als drei B-Frames direkt hintereinander vorkommen dürfen. Ob diese Zahl auch erreicht wird, bestimmt x264 automatisch. Da der Multi-B-Frame-Modus noch nicht ausgereift ist, sollten wir der Qualität einen Gefallen tun und nicht höher als 1 gehen. 0 schaltet die B-Frames ganz ab.
Mit dem B-frames prediction mode stellen wir ein, welches Verfahren für B-Frames angewendet werden soll. Temporal verwendet zur Komprimierung die zeitlichen Änderungen, Spatial die räumlichen innerhalb des Frames. In der Regel sollten wir Temporal wählen.
Im mittleren Teil des Fensters können wir die More encoder settings auf der linken Seite unverändert lassen. Interessanter ist rechts der Ratecontrol-Abschnitt.
Keyframe boost definiert, wie viel Prozent mehr ein I-Frame an relativer Bitrate zugeteilt bekommt. Die 40 sind sinnvoll und sollten so bleiben.
B-frames reduction steuert die Qualität der B-Frames. Der Wert gibt an, wie viel Prozent relative Bitrate ein B-Frame weniger bekommt als das vorangehende P-Frame. Je höher also der Wert, desto stärker werden B-Frames komprimiert. Mit dieser Einstellung zu spielen könnte sich möglicherweise lohnen.
Bitrate variability schließlich gibt an, wie stark die Bitrate über den ganzen Film hinweg schwanken darf. 0 würde zu einem CBR-Encoding führen, 100 steht für den Constant-Quality-Modus. Vorsicht bei Änderungen, denn wie genau x264 die gewünschte Dateigröße treffen kann, hängt nicht zuletzt von dieser Einstellung ab.
Wenden wir uns dem unteren Bereich des Fensters zu.
x264 erlaubt es, einen 16×16 Pixel großen Macroblock in kleinere Einheiten (Partitionen) zu zerlegen, um so die Bewegungssuche zu verfeinern. Mit den vier Macroblock-Partitions-Schaltern können wir einstellen, welche Zerlegungen für I-, P- und B-Frames erlaubt sind. Die Partitionierung senkt zwar die Encoding-Geschwindigkeit deutlich, steigert aber gleichzeitig die Kompression genauso deutlich. Deshalb sollten wir dem Codec nur mit gutem Grund nicht alle Partitionsmöglichkeiten erlauben.
Subpixel refinement precision steuert die die Genauigkeit der Bewegungssuche innerhalb der Partitionen. Interessant zu wissen ist, dass unabhängig von der Einstellung der letzte Suchdurchlauf immer mit einem Viertel Pixel Genauigkeit geschieht. D. h. in altgewohnter ASP-Terminologie, QPel ist immer aktiv. Da uns ja die Qualität am Herzen liegt, sollten wir 5 (Max Quality) unverändert lassen oder höchstens auf 4 senken.
Die Einstellungen für den 1st Pass sind damit abgeschlossen. Bleibt noch kurz der zweite Durchgang zu konfigurieren.
Wir stellen im Hauptfenster um auf Multipass Nth pass und aktivieren Update stats file. x264 unterstützt genau wie DivX mehr als zwei Durchgänge. Ob das tatsächlich eine Qualitätssteigerung ergibt, die den Mehraufwand rechtfertigt, müssen wir ausprobieren. Ähnlich wie bei DivX dürften mehr als drei Passes kaum Sinn haben. Ich selbst bin von XviD verwöhnt und einfach zu faul für mehr als zwei Durchgänge. :-)
Um die Einstellung der Bitrate kümmert sich Gordian Knot automatisch. Deshalb überprüfen wir noch, ob die Advanced-Einstellungen mit dem 1st Pass übereinstimmen und sind auch schon fertig. Noch existiert für x264 keine Möglichkeit, Credits extra zu encodieren, weshalb wir uns darum keine Gedanken zu machen brauchen.