Maßgeblich für die Kommandozeilen ist x264 Revision 614, und zwar das Build von Sharktooth. Die unten benutzte Syntax ist zwar sehr stabil, trotzdem können sich in anderen – vor allem neueren und uralten – Versionen einzelne Abweichungen ergeben. Außerdem benötigen wir für unsere Zwecke ein Build, das mindestens AviSynth und evtl. auch MP4 unterstützt. Beides muss beim Kompilieren ausdrücklich eingebaut werden. Bei Sharktooths Builds können wir darauf vertrauen, dass das alles der Fall ist.
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.
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üssen, 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.
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 meistens 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.
Um ein wenig mehr Gefühl für x264 zu bekommen, betrachten wir ein Beispiel, das die Konfiguration aus den Screenshots des x264-VfW-Kapitels nachbildet. Dazu stellen wir uns die gleiche fiktive 16:9-PAL-DVD wie im Xvid-Kapitel vor, die 100 Minuten Spielzeit aufweist und mit voller anamorpher Auflösung incl. zwei AC3-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 p8x8,b8x8 --subme 2 --ref 2 --bframes 2 --direct auto --trellis 1 --deblock -2:-2 --pass 1 --bitrate 2362 --progress --no-ssim --no-psnr --stats "D:\x264.stats" --output NUL "D:\Quelle.avs"
x264.exe --8x8dct --partitions all --subme 6 --ref 5 --mixed-refs --bframes 2 --direct auto --b-rdo --trellis 1 --deblock -2:-2 --sar 16:11 --pass 2 --bitrate 2362 --progress --no-ssim --no-psnr --stats "D:\x264.stats" --output "D:\Zielvideo.mkv" "D:\Quelle.avs"
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 eine Einstellung für einen 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.
Meine Version des Fast 1st Pass ist weniger aggressiv als MeGUIs Ansatz und dürfte eher mit dem Vorgehen des VfW-Interfaces vergleichbar sein. Folgende Regeln gelten:
--ref
halbieren und wenn nötig abrunden.--partitions p8x8,b8x8
, falls mehr erlaubt war.--8x8dct
deaktiviert.--me hex
, falls sie höher war.--subme 2
, falls sie höher war.--b-pyramid
deaktiviert.--weightb
deaktiviert.--b-rdo
deaktiviert.--mixed-refs
deaktiviert.--bime
deaktiviert.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.
Für ein typisches Backup v.a. mit höheren Zielgrößen würde ich zum schnellen 1st Pass raten. Nur wer sich überhaupt nicht für die Geschwindigkeit interessiert und wirklich absolut kompromisslos das allerletzte bisschen Qualität herauskitzeln will, sollte beim vollen 1st Pass bleiben.
Der Turbo-Modus ist außerdem nur im 1st Pass sinnvoll. Alle weiteren Durchgänge sollten immer mit allen Optionen in ihrer endgültigen Konfiguration durchgeführt werden.
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
). Wegen der Übersichtlichkeit habe ich darauf verzichtet, die Kurzformen aufzulisten.
Standardwert: 250
Beispiel: --keyint 300
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.
Standardwert: 25
Beispiel: --min-keyint 30
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.
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.
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.
Deaktiviert den Inloop-Deblocking-Filter.
Werte für alpha
und beta
: Ganze Zahlen zwischen -6
und 6
. Standardwert für beide: 0
Beispiel: --deblock -2:-2
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 (etwa -2:-2
), niedrige vertragen etwas mehr (etwa 2:2
).
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. Sehr niedrige Zielgrößen vertragen eine große Anzahl an B-Frames (etwa 5
), für den mittleren 2-CD-Bereich bieten sich eher 3
an und für hohe Zielgrößen dürften meistens auch 2
genügen.
Deaktiviert die »intelligente« Verteilung von B-Frames. Siehe auch das allgemeine x264-Kapitel. Dieser Schalter sollte nicht gesetzt werden.
Werte: Ganze Zahlen von -100
bis 100
. Standardwert: 0
Beispiel: --b-bias 10
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.
Erlaubt es, B-Frames als Referenzframes zu verwenden. Siehe auch das allgemeine x264-Kapitel. Kann relativ problemlos deaktiviert bleiben, um die Geschwindigkeit zu erhöhen.
Werte: spatial
(Standard), temporal
, auto
Beispiel: --direct auto
Gibt an, ob zeitliche oder räumliche Informationen zur Komprimierung von B-Frames herangezogen werden. Siehe auch das allgemeine x264-Kapitel. Die Entscheidung können wir mit auto
x264 überlassen.
Aktiviert die gewichtete Bewegungssuche für B-Frames. Siehe auch das allgemeine x264-Kapitel. Kann relativ problemlos deaktiviert bleiben, um die Geschwindigkeit zu erhöhen.
Aktiviert Rate Distortion Optimization für B-Frames. Siehe auch das allgemeine x264-Kapitel. Trotz deutlicher Geschwindigkeitseinbußen sollte die Funktion aktiviert werden. Benötigt zusätzlich mindestens --subme 6
.
Erweitert für B-Frames die Suche nach Referenzen. Siehe auch das allgemeine x264-Kapitel. Kann relativ problemlos deaktiviert bleiben, um die Geschwindigkeit zu erhöhen.
Werte: Ganze Zahlen zwischen 0
und 51
. Standardwert: 26
Beispiel: --qp 18
Führt ein 1-Pass-Encoding mit konstantem Quantizer durch. Quant 18
entspricht in etwa dem von Xvid und DivX bekannten Quant 2. Dieser Modus ist eine Alternative zum 2-Pass-Encoding, wenn wir auf hohe Qualität setzen und keine exakte Zielgröße anstreben.
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. Bei diesem Modus handelt es sich um ein bessere Alternative zu --qp
. Er ist interessant, wenn wir auf hohe Qualität setzen und keine exakte Zielgröße anstreben.
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 Nth-Pass-Encodings haben wir uns weiter oben schon ausführlicher befasst.
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 Nth-Pass-Encoding definiert --bitrate
die gewünschte Zielgröße.
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:
Die dazu passende Kommandozeile sieht folgendermaßen aus:
--zones 0,9999,q=22/20000,25000,b=2.0
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.
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 sinnvoll.
Werte: Ganze Zahlen zwischen 4
und 1024
. Standardwert: 16
Beispiel: --merange 12
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.
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
. Ansonsten ist der Standardwert 5
sinnvoll.
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.
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.
Aktiviert die 8×8-DCT-Tranformation aus dem AVC High Profile. Ist nötig, um bei --partitions
den Wert i8x8
zu verwenden und sollte auch nur in Verbindung mit dieser Partitionierung gesetzt werden.
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. Für ein 1-Pass-Encoding ist Trellis nicht geeignet.
Deaktiviert die beschleunigte Verarbeitung von P-Frames. Wird normalerweise nicht benötigt.
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.
Werte: 0.0
(deaktiviert, Standard) bis 1.1
Beispiel: --aq-strength 0.4
Wählt die Stärke der Adaptive Quantization. In sehr hellen und sehr dunklen Bereichen des Bilds nimmt das menschliche Auge weniger Details wahr. Das macht sich Adaptive Quantization zu nutze und komprimiert solche Bereiche stärker, um die eingesparte Datenrate an Stellen zu verwenden, die es nötiger haben. Bei geringen Bitraten macht sich das positiv bemerkbar, und dann empfiehlt es sich, AQ mit einem Wert um 0.4
zu aktivieren.
Diese Funktion ist nicht Bestandteil des offiziellen x264-SVN. Deshalb kann sie in manchen Builds nicht verfügbar sein.
Werte: 5.0
bis 22.0
. Standardwert: 15.0
Beispiel: --aq-sensitivity 13.0
Legt den Schwellenwert fest, wie wenig Details ein Makroblock enthalten muss, damit AQ auf ihn angewendet wird. 5.0
aktiviert AQ für nahezu alle Blocks, 22.0
berücksichtigt nur vollständig einfarbige Blocks. Wenn wir keinen wirklich guten Grund haben, den Schwellenwert anzupassen, sollten wir den Standard beibehalten.
Werte: jvt
, flat
(Standard)
Beispiel: --cqm jvt
Wählt eine der beiden Standard-Quantisierungsmatrizen. Siehe auch das allgemeine x264-Kapitel.
Beispiel: --cqmfile "D:\Matrizen\eqm_avc_hr.cfg"
Verwendet die benutzerdefinierte Quantisierungsmatrix aus der angegebenen Datei. Siehe auch das allgemeine x264-Kapitel.
Beispiel: --output "D:\Zielvideo.mp4" "D:\Quelle.avs"
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.
Meistens steht die Option ganz am Ende der Kommandozeile direkt gefolgt (mit trennendem Leerzeichen) vom Namen der Quelldatei. So ist es auch im Beispiel zu sehen.
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.
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.
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.
Beispiel: --seek 1000
Legt die Framenummer des ersten zu encodierenden Bildes fest. Das erste Frame des Videos hat die Nummer 0.
Beispiel: --frames 150000
Legt die Anzahl der zu encodierenden Frames fest. In Verbindung mit --seek
könnten wir so nur einen Abschnitt irgendwo aus der Mitte des Videos encodieren. Damit entsprechen die beiden Optionen AviSynths trim()
.
Gibt Statusinformationen zu jedem einzelnen Frame am Bildschirm aus.
Aktiviert die allgemeine Fortschrittsanzeige.
Deaktiviert die Berechnung des PSNR-Wertes, der für ein normales Backup nicht nützlich ist.
Deaktiviert die Berechnung des SSIM-Wertes, der für ein normales Backup nicht nützlich ist.
Werte: Ganze Zahlen von 1
bis 16
, auto
Beispiel: --threads 2
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.
Verwendet für die Verarbeitung des AviSynth-Skripts einen eigenen Thread. Wie schon --threads
ist das hauptsächlich für SMP-Systeme interessant.