Die XvidEncraw-Konfiguration im Detail

Xvids Kommandozeilen-Oberfläche heißt XvidEncraw. Es handelt sich nicht um einen selbständigen Encoder, sondern um eine Schnittstelle zur xvidcore.dll, die die eigentliche Arbeit erledigt. Damit Encraw funktioniert, muss das übliche VfW-Paket von Xvid installiert sein, das die xvidcore.dll mitbringt.

Grundsätzliche Syntax

Je nachdem, ob wir ein 2-Pass- oder 1-Pass-Encoding durchführen, müssen wir mit XvidEncraw 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 XvidEncraw erfordert auch zwei Befehle. Zuerst wird Encraw 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.

Die erste Option übergibt an Encraw den Dateinamen der Quelldatei, die zweite definiert, dass es sich um ein AviSynth-Skript handelt. Das anschließende -pass1 aktiviert den ersten Encodingdurchgang und legt den Namen der Statistikdatei fest, in der die Informationen aus dem 1st Pass abgelegt werden. Dann definieren wir das Intervall in Frames, nach dem Xvid seine Statusmeldung am Bildschirm aktualisieren soll. Der Wert ist natürlich Geschmackssache. Jedenfalls sind die 50 großzügig genug, um den Encodingprozess nicht zu bremsen.

Diese Grundstruktur bleibt für den 1st Pass immer gleich. Anschließend folgen alle weiteren Encoder-Einstellungen, die wir uns weiter unten genauer ansehen. Ist der 1st Pass beendet, starten wir den 2nd Pass, der die Zieldatei erzeugt.

Die Grundstruktur für den 2nd Pass ähnelt dem 1st Pass. Die Angaben zu Quell- und Statistikdatei müssen identisch zum 1st Pass sein.

Mit -pass2 definieren wir den zweiten Encodingdurchgang. Anschließend steht eine der Optionen -o, -avi oder -mkv gefolgt vom Dateinamen des Zielvideos. Damit erzeugen wir einen rohen MPEG-4-Datenstrom, eine AVI- oder Matroska-Datei. Wenn der fertige Film im MP4-Container liegen soll, müssen wir hier -o angeben. Genauso weichen wir bei Matroska als endgültiges Ziel auf -avi aus, da unsere XvidEncraw-Version von xvidvideo.ru leider keine Matroska-Unterstützung enthält. Anschließend folgt mit -size die Zielgröße in KByte. Gemeint ist die Größe der reinen Videospur, nicht die Zielgröße des kompletten Films – 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 und verlassen uns auf das Encoding-Frontend. Danach schalten wir mit -overhead Xvids automatische Berücksichtigung des Containeroverheads ab, da die sowieso nur für manche AVI-Dateien stimmt. Mit -par legen wir schließlich das Pixel Aspect Ratio des Zielvideos fest. Für ein klassisches Encoding mit quadratischen Pixeln gilt immer -par 1, oder wir lassen die Option ganz weg.

Wie im 1st Pass folgen nach der Grundstruktur alle weiteren Encoder-Einstellungen. In der Regel sollten die identisch zum 1st Pass sein.

Auch das Single-Pass-Verfahren benötigt eine ähnliche Kommandozeile. Hauptunterschied ist der, dass wir XvidEncraw nur einmal aufrufen, denn der Encoder erstellt ja sofort die Zieldatei. Da der Bitraten-Modus für ein DVD-Backup qualitativ zu schlecht ist, sehen wir uns nur den Quantizer-Modus (CQ) an.

xvid_encraw.exe -i "<Quell-AVS-Datei>" -type 2 {-o|-avi|-mkv} "<Zieldatei>" -cq <Quantizer> -par <PAR> -progress 50 [weitere Optionen]

Die Angaben zu Größe (-size), Overhead (-overhead) und Nummer des Durchgangs (-pass) fallen weg, da sie im 1-Pass-Verfahren keine Bedeutung haben. Stattdessen verwenden wir die Option -cq, mit der wir den gewünschten Quantizer – d.h. das Qualitätsniveau – angeben.

Beispiel einer Konfiguration

Um ein wenig mehr Gefühl für Encraw zu bekommen, betrachten wir eine Beispielkonfiguration für ein qualitativ hochwertiges DVD-Backup auf einem schnellen Computer. D.h. wir müssen keine zu großen Kompromisse zu Lasten der Qualität/Größe eingehen, um die Encoding-Geschwindigkeit in einem sinnvollen Rahmen zu halten.

Beim Erstellen der Kommandozeilen würden wir normalerweise soweit möglich die vordefinierten Standardwerte ausnutzen, d.h. wir tippen eine Option nur dann, wenn wir einen anderen als den Standardwert verwenden wollen. Damit die Konfiguration insgesamt klarer wird, habe ich bei den Beispielen auf diese Abkürzung verzichtet und immer sämtliche Optionen angegeben.

Wer aus der VfW-Welt kommt, sollte im Hinterkopf behalten, dass Xvid VfW und XvidEncraw nicht überall die gleichen Standardwerte verwenden.

Zunächst sehen wir uns die Kommandozeilen fürs 2-Pass-Encoding an. Die gezeigte Bitrate ist natürlich nur ein Platzhalter und muss für jeden Film einzeln angepasst werden, um die gewünschte Zielgröße zu erreichen. Sämtliche Parameter sind mit ihrer Beschreibung in der Kommandozeilen-Referenz (nächstes Kapitel) verlinkt.

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 Quantizer 2, um die beste Qualität ohne irrsinnig große Datei herauszuholen. Genaueres zum Einsatz des Quantizers gibt es im Xvid-Technikkapitel.

Und so sieht XvidEncraw bei der Arbeit aus:

Kommentare