Im Wesentlichen existieren heute zwei Möglichkeiten, um einen Encoder zu konfigurieren: das grafische VfW und die textbasierte Kommandozeile (CLI). Welches Interface wir verwenden, hängt hauptsächlich vom Encoding-Frontend ab. Das stellt normalerweise auch eine grafische Oberfläche für CLI-Encoder bereit. Niemand ist also gezwungen, kryptische Befehlszeilen zu tippen. Die ausführlichen Erklärungen, die in den nächsten Kapiteln zu den Optionen der CLI-Encoder folgen, brauchen wir deshalb auch nur intensiv zu lesen, wenn wir tatsächlich ohne Encoding-Frontend direkt an der Konsole arbeiten wollen.
VfW steht für Video for Windows, ein Videoframework von Microsoft, das seit Windows 3.1 existiert und die AVI-Datei eingeführt hat. Wegen einiger Beschränkungen der Technologie – z.B. ist VfW nicht darauf ausgelegt, B-Frames zu speichern – mussten für moderne Codecs Hacks entwickelt werden. Besonders nachteilig ist das für MPEG-4-Codecs, da dadurch die MPEG-4-Spezifikation verletzt wird. Es ist also nicht möglich, Xvid mit B-Frames in AVI zu speichern, ohne mit den Regeln des Standards zu brechen. Andere neuere Technologien – wie MP4 – arbeiten mit VfW überhaupt nicht zusammen.
Um es ganz unverblümt zu sagen: VfW/AVI ist veraltet. Es ist höchste Zeit, diesen Klotz vom Bein der digitalen Videowelt zu entfernen und auf aktuelle Technologien zu setzen, die nicht den Einschränkungen eines inzwischen über 13 Jahre alten Frameworks unterliegen.
Alle drei Encodingwissen-Codecs (Xvid, DivX, x264) sind in einer VfW-Version zu haben. Bei x264 war das von Anfang an eine Lösung, die eher der Abwärtskompatibilität dient, denn der Fokus ist eindeutig der x264.exe-Kommandozeilenencoder, der nicht den VfW-Einschränkungen unterliegt. Auch für Xvid existiert inzwischen mit Xvid_Encraw ein Encoder für die Kommandozeile. Nur DivX ist weiterhin ausschließlich für VfW verfügbar.
Die Verknüpfung, die im Windows-Startmenü zur Kommandozeile führt, nennt sich auch unter Windows XP noch immer MS-DOS-Eingabeaufforderung, obwohl es sich längst nicht mehr um ein DOS handelt. Lediglich das Prinzip ist geblieben. Auf der Kommandozeile werden Befehle in Textform eingetippt und ausgeführt. Es ist das Gegenmodell zur grafischen Mausoberfläche. Die grundsätzliche Bedienung der Kommandozeile zu erklären, gehört nicht ins Encodingwissen, deshalb setze ich das voraus.
Die Abkürzung CLI steht für Commandline Interface. Das ist der englische Ausdruck für Kommandozeilen-Schnittstelle.
Kommandozeilenencoder sind unabhängig von VfW und seinen Einschränkungen. Sie bringen keine grafische Oberfläche mit, sondern müssen an der Eingabeaufforderung mit den passenden Optionen aufgerufen werden. Normalerweise kümmert sich ein grafisches Encoding-Frontend darum, die nötige Kommandozeile zu erstellen. Da die Dialoge je nach Programm etwas unterschiedlich ausfallen, sehen wir uns die in den entsprechenden Frontend-Kapiteln näher an. In den folgenden CLI-Kapiteln geht es immer darum, die Befehle von Hand zusammenzustellen.
Als Übersicht und zur allgemeinen Darstellung werden Kommandozeilen meist in Syntaxschreibweise angegeben. Dadurch sehen wir auf einen Blick, welche Optionen wir in welcher Kombination verwenden dürfen. Das könnte beispielsweise so aussehen:
foo.exe -in "<Quelle>" -out "<Ziel>" [-blubb] {-foo|-bar} [-klick|-klack]
Die Syntaxschreibweise arbeitet mit diesen Grundregeln:
-in
oder -out
wegzulassen.<
und >
) enthalten die Beschreibung eines Parameterwerts. Die Beschreibung muss einschließlich der Klammern durch den tatsächlichen Wert ersetzt werden. In unserem Beispiel würden wir <Quelle>
durch etwas wie D:\Video\Quelle.avs
ersetzen und hätten als Ergebnis -in "D:\Video\Quelle.avs"
.[
und ]
) bezeichnen optionale Parameter. Wir können ganz nach Wunsch -blubb
angeben oder weglassen.{
und }
) bezeichnen eine zwingende Entweder-oder-Auswahl. Die wählbaren Optionen sind durch einen senkrechten Strich (|
) getrennt. Im Beispiel müssen wir zwingend entweder -foo
oder -bar
angeben. Beide Optionen gleichzeitig sind verboten, genauso wie beide wegzulassen. Es könnten auch mehr als zwei Optionen in der Klammer stehen, was nichts ändert. Wir entscheiden uns trotzdem für genau eine davon.-klick
oder -klack
angeben oder beide weglassen. Beide gemeinsam anzugeben ist nicht erlaubt.Prinzipiell können alle diese Elemente beliebig verschachtelt und aneinander gehängt werden. Die Konstruktionen, mit denen wir in den folgenden Kapiteln in Berührung kommen, bleiben aber recht übersichtlich.