Zum Inhalt springen

Brother Johns Encodingwissen

Wechseln zu: Inhalt, Abkürzungen

x264 Kommandozeilen-Konfiguration

Kommandozeilen ist x264 in einer Version mit dem AQ-Algorithmus von Dark Shikari. Außerdem benötigen wir für unsere Zwecke mindestens AviSynth-Unterstützung und evtl. auch MP4. Beides muss beim Kompilieren ausdrücklich eingebaut werden. Es gibt mehrere Binaries, die diese Anforderungen erfüllen, z.B. die jeweils aktuelle Revision von x264.nl.

Wir sprechen hier v.a. die Funktionen von x264 an, die für ein DVD-Backup interessant sind. Eine ausführliche Erklärung zu sämtlichen Optionen bietet Selurs man x264.

Grundsätzliche Syntax

Je nachdem, ob wir ein 2-Pass- oder 1-Pass-Encoding durchführen, müssen wir mit x264 anders umgehen. Was die beiden Encodingmethoden tun und wann welche davon angebracht ist, haben wir uns schon im Kapitel Encodingmethoden angesehen.

Ein 2-Pass-Encoding mit x264 erfordert auch zwei Befehle. Zuerst wird x264.exe mit den Optionen für den 1st Pass aufgerufen, anschließend erneut mit den Optionen für den 2nd Pass. Den grundlegenden Aufbau der beiden Kommandozeilen sehen wir uns jetzt an, zuerst den 1st Pass.

x264.exe [Optionen] --pass 1 --bitrate <Zielbitrate in kbit/s> --progress --no-ssim --no-psnr --stats "<Statistikdatei>" --output NUL "<Quelldatei>"

Zuerst füttern wir x264 mit sämtlichen Encoderoptionen, die wir uns weiter unten genauer ansehen. Anschließend definieren wir mit --pass 1 den ersten Encodingdurchgang. Es folgt die Angabe der Videobitrate in kbit/s. Dabei handelt es sich um die Bitrate für die reine Videospur, also Gesamtgröße abzüglich Audiospuren und Untertitelspuren, abzüglich Containeroverhead. Da wir wegen des Overheads einen größeren Exkurs in die technischen Tiefen der einzelnen Container einlegen müssten, sparen wir uns die manuelle Berechnung.

Mit --progress aktivieren wir die Fortschrittsanzeige des Encoders und schalten dann mit --no-ssim und --no-psnr die Berechnung von SSIM und PSNR ab. Für Tests sind diese Werte oft gut brauchbar, bei einem normalen Backup bremsen sie aber nur das Encoding.

Die Option --stats legt den Namen der Statistikdatei fest, in der die Informationen aus dem 1st Pass gespeichert werden. Dann folgt mit --output die Angabe der Zieldatei. Da wir beim ersten Durchgang noch keine Videodatei erzeugen wollen, x264 es aber nicht erlaubt, die Option wegzulassen, schicken wir mit --output NUL das erzeugte Video ins Datennirvana. Abschließend geben wir die Quelldatei (das AviSynth-Skript) an, die ohne spezielle Option ganz am Ende der Kommandozeile steht.

Ist der 1st Pass beendet, starten wir den 2nd Pass, der die Zieldatei erzeugt.

x264.exe [Optionen] --pass {2|3} --bitrate <Zielbitrate in kbit/s> --sar <PAR> --progress --no-ssim --no-psnr --stats "<Statistikdatei>" --output "<Zieldatei>" "<Quelldatei>"

Die Grundstruktur für den 2nd Pass ähnelt dem 1st Pass. Die Angaben zur Quelldatei, Statistikdatei und Bitrate müssen identisch zum 1st Pass sein! Fett markierte Bestandteile der Kommandozeile stehen für zusätzliche oder geänderte Optionen.

x264 unterstützt beliebig viele Encodingdurchgänge. Meistens beschränken wir uns auf die gewohnten zwei, da die Qualitätssteigerung zusätzlicher Passes den enormen Zeitaufwand nicht wert ist. Für den allerletzten Encodingdurchgang geben wir die Option --pass 2 an. Für alle »mittleren« Durchgänge müssen wir --pass 3 setzen, damit die Statistikdatei aktualisiert wird. Das ist unbedingt nötig, da sonst keine Qualitätsverbesserung möglich ist. Falls wir uns die Türen offen halten möchten, können wir auch immer --pass 3 verwenden. Der Geschwindigkeitsverlust, der durch die Aktualisierung der Statistikdatei entsteht, ist nicht der Rede wert, der Zeitaufwand eines kompletten zusätzlichen Encoding-Durchgangs dagegen schon. Solange nicht wirklich gewichtige Gründe dafür sprechen, ist mehr als das übliche 2-Pass-Verfahren Unsinn.

Mit der Option --sar legen wir anschließend das Pixel Aspect Ratio des Zielvideos fest. Das entspricht dem Setzen des AR-Flags, von dem im Anamorph-Kapitel die Rede ist. Für ein klassisches Encoding mit quadratischen Pixeln gilt immer --sar 1:1, oder wie lassen die Option ganz weg.

Die Zieldatei ist diesmal ein echter Dateiname. Lediglich wenn wir wissen, dass wir noch weitere Passes durchführen, können wir auch jetzt --output NUL verwenden, denn genau genommen ist es nur im allerletzten Pass notwendig, das erzeugte Video tatsächlich zu speichern. Die Dateiendung der Zieldatei legt fest, welches Format verwendet wird. Je nach gewünschtem Container für den fertigen Film verwenden wir entweder .mp4 für MP4 oder .mkv für Matroska. Der AVI-Container ist nicht mit x264.exe kompatibel.

Die Encoderoptionen am Anfang der Kommandozeile sind für alle Passes identisch. Eine Ausnahme darf lediglich der 1st Pass bilden, und das auch nur in einem klar definierten Rahmen.

Auch das Single-Pass-Verfahren benötigt eine ähnliche Kommandozeile. Hauptunterschied ist der, dass wir x264 nur einmal aufrufen, denn der Encoder erstellt ja sofort die Zieldatei. Die beste Wahl fürs DVD-Backup ist der CRF-Modus, der so aussieht:

x264.exe [Optionen] --crf <nominaler Quant> --sar <PAR> --progress --no-ssim --no-psnr --output "<Zieldatei>" "<Quelldatei>"

Die Angaben zu Bitrate (--bitrate), Nummer des Durchgangs (--pass) und Statistikdatei (--stats) fallen weg, da sie beim CRF-Verfahren keine Bedeutung haben. Stattdessen verwenden wir die Option --crf, mit der wir den gewünschten nominalen Quantizer – d.h. das Qualitätsniveau – angeben.

Beispiel einer Konfiguration

Um ein wenig mehr Gefühl für x264 zu bekommen, betrachten wir eine Beispielkonfiguration. Dazu stellen wir uns die gleiche fiktive DVD wie im Xvid-Kapitel vor, die 100 Minuten Spielzeit aufweist und incl. zwei AC-3-Tonspuren (je 384 kbit/s) auf ½ DVD Zielgröße encodiert und in den Matroska-Container verpackt werden soll.

Beim Schreiben der Kommandozeilen nutzen wir sämtliche Standardwerte von x264.exe aus, d.h. wir tippen nur das, was auch tatsächlich ausdrücklich angegeben werden muss. Außerdem verwenden wir das Setup für den schnellen First Pass, das wir uns etwas weiter unten genauer ansehen.

x264.exe --partitions none --me dia --subme 1 --ref 1 --bframes 16 --direct auto --no-dct-decimate --deblock 0:-1 --pass 1 --bitrate 2362 --progress --no-ssim --no-psnr --stats "D:\x264.stats" --output NUL "D:\Quelle.avs"

x264.exe --partitions all --8x8dct --ref 5 --mixed-refs --bframes 16 --direct auto --bime --b-pyramid --trellis 1 --no-dct-decimate --deblock 0:-1 --sar 16:11 --pass 2 --bitrate 2362 --progress --no-ssim --no-psnr --stats "D:\x264.stats" --output "D:\Zielvideo.mkv" "D:\Quelle.avs"

Speichern wir nicht auf DVD, sondern auf Festplatte, ist die exakte Zielgröße nicht so wichtig. Das Beispiel als 1-Pass-Encoding könnte wie im Folgenden aussehen. Wir verwenden CRF 18, um die beste Qualität ohne irrsinnig große Datei herauszuholen.

x264.exe --partitions all --8x8dct --subme 5 --ref 5 --mixed-refs --bframes 16 --direct auto --bime --b-pyramid --no-dct-decimate --deblock 0:-1 --sar 16:11 --crf 18 --progress --no-ssim --no-psnr --output "D:\Zielvideo.mkv" "D:\Quelle.avs"

Genaueres zum Einsatz von CRF steht im allgemeinen x264-Kapitel.

Schneller 1st Pass

Dieser Abschnitt ist ausschließlich fürs 2-Pass-Encoding relevant. Wenn wir Xvid kennen, sind wir es gewohnt, dass der 1st Pass deutlich schneller abläuft als der 2nd Pass. Auch x264 VfW und MeGUI kennen einen Schalter für den schnellen 1st Pass. Erreicht wird diese hohe Geschwindigkeit dadurch, dass einige Optionen, die das Ergebnis des ersten Durchgangs nicht oder nur unwesentlich beeinflussen, abgeschaltet werden.

x264 CLI bietet keine Möglichkeit an, den »Turbo-Modus« mit einem einzelnen Schalter zu aktivieren. Wir müssen also selbst entscheiden, welche Optionen wir verändern wollen und welche nicht.

MeGUIs aggressives Herangehen an den Turbo-1st-Pass hat sich bewährt. Hier sind die nötigen Einstellungen:

Die Grundregel für einen schnellen 1st Pass lautet: Alle Einstellungen, die die Entscheidung des Encoders für einen bestimmten Frametyp (I, P, B) beeinflussen, sind tabu, denn wenn die Frames in den nachfolgenden Durchgängen anders verteilt werden, sinkt die Genauigkeit der 1st-Pass-Analyse schnell auf ein nicht mehr akzeptables Niveau. Das bedeutet deutliche Qualitätseinbußen. Natürlich ist ein beschleunigter 1st Pass so oder so nicht verlustlos zu haben, da die höhere Geschwindigkeit immer auf Kosten der Genauigkeit geht. Doch vorsichtig konfiguriert, bleiben die Einbußen so klein, dass sie die Qualität nicht sichtbar verschlechtern. Dafür dürfen wir uns über eine deutlich kürzere Encodingzeit freuen.

Ob für hohe oder niedrige Zielgrößen, der Turbo-Modus ist immer sinnvoll; allerdings nur im 1st Pass. Alle weiteren Durchgänge müssen mit allen Optionen in ihrer endgültigen Konfiguration durchgeführt werden.

Referenz der Optionen

Dieser Abschnitt listet mit einer kurzen Erklärung viele Optionen auf, die für x264.exe zur Verfügung stehen. Im Wesentlichen handelt es sich um eine etwas ausführlichere Übersetzung des Befehls x264.exe --longhelp. Wir beschränken uns aber auf die für ein normales DVD-Backup wirklich nützlichen Optionen. Eine komplette Referenz bietet Selurs man x264.

Optionen, die Standardwerte besitzen, müssen wir nur dann angeben, wenn wir einen abweichenden Wert verwenden wollen. Ansonsten arbeitet x264.exe automatisch mit dem Standard. Optionen ohne Standardwert sind nur dann aktiv, wenn wir sie ausdrücklich angeben.

Einige besonders häufig verwendete Option besitzen eine Kurzform, die im Gegensatz zur langen Option mit einem einfachen Strich beginnt (z.B. --bframes und -b). Zur Übersichtlichkeit habe ich darauf verzichtet, die Kurzformen aufzulisten.

Frametypen

--keyint

Standardwert: 250

Beispiel: --keyint 250

Maximales IDR-Frame-Intervall. Siehe auch das allgemeine x264-Kapitel. Als Daumenregel hat sich das Zehnfache der Bildrate eingebürgert. Deshalb können wir den Standardwert meistens problemlos übernehmen.

--min-keyint

Standardwert: 25

Beispiel: --min-keyint 25

Mindestabstand, der zwischen zwei IDR-Frames liegen muss. Siehe auch das allgemeine x264-Kapitel. Als Daumenregel hat sich die Bildrate eingebürgert. Deshalb können wir den Standardwert meistens problemlos übernehmen.

--no-cabac

CABAC (Context Adaptive Binary Arithmetic Coding) ist eine Neuheit des AVC-Standards. Es handelt sich um eine Kompressionsmethode in der verlustlosen Phase des Encodingprozesses, die gerade bei hohen Datenraten die nötige Bitrate deutlich senken kann. CABAC ist ein zentrales Element von AVC und sollte nicht deaktiviert werden.

--ref <Frames>

Werte: Ganze Zahlen zwischen 1 (Standard) und 16

Beispiel: --ref 5

Anzahl der erlaubten Referenzframes. In Xvid und DivX sind P-Frames auf genau ein Referenzbild beschränkt, und zwar auf das vorangehende Bild. x264 erlaubt auch mehrere Referenzframes. Sinnvoll sind etwa 5. Deutlich mehr steigert hauptsächlich die Codierzeit, nicht mehr die Qualität. Die Einstellung wirkt sich auch auf B-Frames aus.

--no-deblock

Deaktiviert den Inloop-Deblocking-Filter, was in der Regel nicht sinnvoll ist; auch nicht für ausgesprochene HQ-Backups.

--deblock <alpha:beta>

Werte für alpha und beta: Ganze Zahlen zwischen -6 und 6. Standardwert für beide: 0

Beispiel: --deblock -2:-1

Konfiguriert die Stärke des Inloop-Deblocking-Filter, mit dem wir uns schon ausführlicher im allgemeinen x264-Kapitel beschäftigt haben. Hohe Datenraten sollten vorsichtig gefiltert werden (z.B. mit 0:0 oder 0:-1), niedrige vertragen etwas mehr (etwa 1:2).

--bframes <Maximum>

Werte: Ganze Zahlen von 0 (Standard) bis 16

Beispiel: --bframes 3

Legt fest, wie viele B-Frames maximal direkt hintereinander stehen dürfen. Siehe auch das allgemeine x264-Kapitel. Ein Wert von 0 deaktiviert B-Frames vollständig, was nicht empfehlenswert ist. Normalerweise können wir --bframes 16 setzen, um x264 freie Hand zu lassen. Der verwendete Algorithmus ist gut genug, dass wir dadurch keine Nachteile zu befürchten haben.

--no-b-adapt

Deaktiviert die »intelligente« Verteilung von B-Frames. Siehe auch das allgemeine x264-Kapitel. Dieser Schalter sollte nicht gesetzt werden.

--b-bias <Empfindlichkeit>

Werte: Ganze Zahlen von -100 bis 100. Standardwert: 0

Beispiel: --b-bias 0

Steuert x264s Vorliebe für B-Frames. Negative Werte halten den Encoder vom B-Frame-Einsatz ab, positive ermuntern ihn, öfter B-Frames zu setzen. Siehe auch das allgemeine x264-Kapitel. Benötigt in der Regel keine Anpassung.

--b-pyramid

Erlaubt es, B-Frames als Referenzframes zu verwenden. Siehe auch das allgemeine x264-Kapitel. Sollte für beste Qualität aktiviert sein.

--direct <Modus>

Werte: spatial (Standard), temporal, auto

Beispiel: --direct auto

Gibt an, ob zeitliche oder räumliche Informationen zur Komprimierung von manchen B-Frames herangezogen werden. Siehe auch das allgemeine x264-Kapitel. Die Entscheidung können wir mit auto x264 überlassen.

--weightb

Aktiviert die gewichtete Bewegungssuche für B-Frames. Siehe auch das allgemeine x264-Kapitel. Sollte für beste Qualität aktiviert sein.

--bime

Erweitert für B-Frames die Suche nach Referenzen. Siehe auch das allgemeine x264-Kapitel. Sollte für beste Qualität aktiviert sein.

--b-rdo

Aktiviert Rate Distortion Optimization für B-Frames. Siehe auch das allgemeine x264-Kapitel. Da RDO dazu neigt feine Details zu entfernen, sollte die Funktion für stark komprimierte Encodings eher aktiviert, für hochqualitative Backups (meist mit höherer Zielgröße) dagegen eher deaktiviert sein. B-RDO benötigt zusätzlich mindestens --subme 6.

Encoding-Modus

--crf <nominaler Quantizer>

Werte: Zahlen (auch Kommawerte) zwischen 1.0 und 51.0

Beispiel: --crf 19.5

Führt ein 1-Pass-Encoding mit eine Zielquantizer durch (Constant Rate Factor). Kommawerte müssen zwingend mit dem Punkt als Dezimaltrenner angegeben werden. Dieser Modus ist interessant, wenn wir auf hohe Qualität setzen und keine exakte Zielgröße anstreben. CRF mit nominalem Quantizer 18 entspricht grob dem von Xvid und DivX bekannten Quant 2.

--pass <Modus>

Werte: 1, 2, 3

Beispiel: --pass 2

Steuert ein Multipass-Encoding. 1 führt einen 1st Pass durch, in dem die Statistikdatei angelegt wird. 2 führt einen Nth- bzw. 2nd-Pass durch, ohne die Statistikdatei zu aktualisieren. 3 führt ebenfalls einen Nth- bzw. 2nd-Pass durch und aktualisiert dabei die Statistikdatei. Mit der Durchführung eines 2-Pass-Encodings haben wir uns weiter oben schon ausführlicher befasst.

--bitrate <kbit/s>

Definiert die Bitrate in kbit/s. Für ein 1-Pass-Encoding (außer --qp und --crf) stellt der Wert die angestrebte durchschnittliche Datenrate dar. Im 2-Pass-Encoding definiert --bitrate die gewünschte Zielgröße.

--zones <Start>,<Ende>,<Modus>[/<Start>,<Ende>,<Modus>]...

Definiert Zonen, d.h. Abschnitte im Video, für die individuell das Qualitätsniveau angepasst werden kann. Die einzelnen Parameter einer Zone trennen wir mit Komma (,). Zwischen mehreren Zonen steht ein Schrägstrich (/) als Trennzeichen. Jede Zone besitzt drei Parameter, die alle zwingend angegeben werden müssen.

Start steht für die Nummer des ersten Frames der Zone. Das erste Frame des gesamten Videos hat die Nummer 0. Ende steht für die Nummer des letzten Frames der Zone.

Modus definiert den Encodingmodus der Zone. Mit q=<Quant> legen wir fest, dass die Zone mit einem konstanten Quantizer (zwischen 0 und 51) encodiert wird. Mit b=<Gewicht> definieren wir eine Zone, die mit einem relativen Gewicht zum restlichen Film behandelt wird. Werte liegen zwischen 0.01 und100.0 (Punkt als Dezimaltrenner!).

Machen wir uns diese Syntax an einem Beispiel klar. Nehmen wir an, wir möchten für einen Film zwei Zonen definieren:

  • Für die ersten 10.000 Frames des Videos ein konstanter Quantizer von 22.
  • Die Frames 20.000 bis 25.000 sollen bei der Bitratenverteilung als doppelt so wichtig wie der Rest des Films behandelt werden.

Die dazu passende Kommandozeile sieht folgendermaßen aus:

--zones 0,9999,q=22/20000,25000,b=2.0

Bewegungssuche und -kompensation

--partitions <Partitionen>

Werte: none, all, p8x8, p4x4, b8x8, i8x8, i4x4. Standardwert: p8x8,b8x8,i8x8,i4x4

Beispiele: --partitions p8x8,b8x8 oder --partitions all

Legt fest, welche Partitionsgrößen für Makroblocks verwendet werden dürfen. Siehe auch das allgemeine x264-Kapitel. Mehrere Werten werden mit einem Komma (,) getrennt. p4x4 benötigt auch p8x8. Für i8x8 muss zusätzlich der Schalter --8x8dct gesetzt werden.

Da Partitionen maßgeblich die Effizienz von x264 beeinflussen, sollten wir vorzugsweise mit --partitions all sämtliche Partitionen aktivieren.

--me <Modus>

Werte: dia, hex (Standard), umh, esa

Beispiel: --me umh

Bestimmt die allgemeine Genauigkeit der Bewegungssuche. In der oben angegebenen Reihenfolge werden die Modi genauer und langsamer. Beim Standard hex zu bleiben, ist oft sinnvoll.

--merange <Radius>

Werte: Ganze Zahlen zwischen 4 und 1024. Standardwert: 16

Beispiel: --merange 16

Legt die Größe des Bereichs fest, in dem nach Bewegung gesucht wird. Ist nur relevant für die Modi --me umh und --me esa. Höhere Werte als 32 sind in der Regel nicht sinnvoll.

--subme <Qualität>

Werte: Ganze Zahlen zwischen 1 und 7. Standardwert: 5

Definiert die Qualitätsstufe für die Subpixel-Bewegungssuche und die Partitionsentscheidung. 1 ist schnell und ungenau, 7 langsam mit den besten Ergebnissen. B-Frames mit --b-rdo benötigen mindestens --subme 6, was auch sonst eine gute Wahl darstellt.

--mixed-refs

Erlaubt es dem Encoder, Referenzbilder nicht nur für jeden Makroblock, sondern für jede Blockpartition einzeln auszuwählen. Sollte trotz geringerer Geschwindigkeit aktiviert werden.

--no-chroma-me

Standardmäßig verwendet x264 neben den Helligkeitsinformationen (Luminanz) auch die Farbinformationen (Chrominanz) zu Bewegungssuche. Mit --no-chroma-me können wir das auf die Luminanz beschränken. Da die zusätzliche Chroma-Suche die Geschwindigkeit nicht zu sehr beeinträchtigt, sollte der Schalter nicht gesetzt werden.

--8x8dct

Aktiviert die 8×8-DCT-Transformation aus dem AVC High Profile. Sollte i.d.R. aktiviert werden.

--trellis <Modus>

Werte: 0 (deaktiviert, Standard), 1 (nur für endgültigen Block), 2 (bei jeder Entscheidung)

Beispiel: --trellis 1

Trellis »überdenkt« die einmal getroffene Quantisierungsentscheidung und versucht sie zu verbessern. Heftige Gewinne bei der Qualität dürfen wir davon nicht erwarten, andererseits bremst Trellis auch nicht besonders und kann deshalb bedenkenlos mit --trellis 1 für den endgültigen Block eingeschaltet werden. Trellis bei jeder Entscheidung zu aktivieren, bringt keinen nennenswerten Vorteil.

--no-fast-pskip

Deaktiviert die beschleunigte Verarbeitung von P-Frames. Wird normalerweise nicht benötigt.

--no-dct-decimate

Verhindert, dass im Rahmen der DCT sehr kleine Koeffizienten auf null gerundet werden. Kann in Verbindung mit Trellis sinnvoll sein, wird aber normalerweise nicht benötigt.

--aq-mode <Modus>

Werte: 0, 1, 2 (Standard)

Beispiel: --aq-mode 2

Legt fest, auf welche Weise der Algorithmus zur adaptiven Quantisierung arbeitet, der die Quantisierung von Makroblocks anpasst, je nachdem, wie empfindlich der menschliche Sehapparat für den jeweiligen Bildbereich ist. 0 schaltet AQ ab, 1 nimmt eine Umverteilung von Bits nur innerhalb eines Frames vor, 2 erweitert die Umverteilung auf mehrere Frames. Der Standardwert ist 2 und sollte beibehalten werden.

--aq-strength <Stärke>

sinnvolle Werte: ca. 0.5 bis 1.5, Standardwert 1.0

Beispiel: --aq-strength 1.0

Wählt die Stärke der adaptiven Quantisierung. Auch hier sollte normalerweise der Standardwert 1.0 genutzt werden.

--cqm <Matrix>

Werte: jvt, flat (Standard)

Beispiel: --cqm jvt

Wählt eine der beiden Standard-Quantisierungsmatrizen. Siehe auch das allgemeine x264-Kapitel.

--cqmfile "<Matrixdatei>"

Beispiel: --cqmfile "D:\Matrizen\eqm_avc_hr.cfg"

Verwendet die benutzerdefinierte Quantisierungsmatrix aus der angegebenen Datei. Siehe auch das allgemeine x264-Kapitel.

Dateinamen und Videoeigenschaften

--output "<Zieldatei>"

Beispiel: --output "D:\Zielvideo.mp4"

Wählt Dateinamen und Format der Zieldatei. Mit der Dateiendung .264 wird ein roher AVC-Datenstrom erzeugt. Die Endungen .mkv und .mp4 verpacken das Video in den Matroska- bzw. MP4-Container. AVI ist nicht möglich.

--stats "<Statistikdatei>"

Beispiel: --stats "D:\Video\x264.stats"

Legt Pfad und Dateinamen der für ein Nth-Pass-Encoding nötigen Statistikdatei fest. Standardmäßig wird eine Datei x264_2pass.log im aktuellen Ordner erzeugt.

--sar <x:y>

Beispiel: --sar 16:11

Definiert das Pixel Aspect Ratio der Zieldatei. Das entspricht dem Setzen des AR-Flags, von dem im Anamorph-Kapitel die Rede ist. Für klassische Encodings mit quadratischen Pixeln geben wir immer --sar 1:1 an oder lassen die Option ganz weg.

Für PARs definiert MPEG-4 AVC zwei Felder (für x und y), die je einen vorzeichenlosen 16-Bit-Integer enthalten. D.h. der maximale Wert, der darin gespeichert werden kann, ist 65535. Auch wenn sich x264 nicht darüber beschwert, sollten wir deshalb größere Werte niemals eingeben, denn die können nicht in den Videostream geschrieben werden.

--fps <Framerate>

Typische Werte: 23.976, 25.0, 29.97

Beispiel: --fps 25.0

Definiert die Bildrate der Zieldatei in Bildern pro Sekunde (fps). Wird bei AviSynth als Quelle automatisch ermittelt.

Steuerung von x264.exe

--verbose

Gibt Statusinformationen zu jedem einzelnen Frame am Bildschirm aus.

--progress

Aktiviert die allgemeine Fortschrittsanzeige.

--no-psnr

Deaktiviert die Berechnung des PSNR-Wertes, der für ein normales Backup nicht notwendig ist.

--no-ssim

Deaktiviert die Berechnung des SSIM-Wertes, der für ein normales Backup nicht notwendig ist.

--threads <Anzahl>

Werte: Ganze Zahlen von 1 bis 16, auto

Beispiel: --threads 3

Hier stellen wir ein, wie viele Threads x264 zum Encodieren verwenden soll. Für Computer mit nur einer CPU sollten wir die Option weglassen. Wer Hyperthreading, Dual Core oder tatsächlich ein System mit mehreren Prozessoren sein eigen nennt, sollte mit --threads auto die Entscheidung x264 überlassen.

--thread-input

Verwendet für die Verarbeitung des AviSynth-Skripts einen eigenen Thread. Wie schon --threads ist das hauptsächlich für Multicore-Systeme interessant.

Weiterführende Links