Zum Inhalt springen

Brother Johns Encodingwissen

Wechseln zu: Inhalt, Abkürzungen

StaxRip für neue Quellformate fit machen

Dieses Kapitel ist auf Anregung von Deinorius aus dem Gleitz-Forum entstanden. Da es nicht direkt mit dem DVD-Backup zu tun hat, steht es hier bei den Spezialitäten. StaxRip ist sehr flexibel, was die Quellformate angeht, die man ihm füttern kann. Das liegt daran, dass wir selbst definieren können, welches Quellformat wie vorbereitet werden muss, um dann weiterverarbeitet werden zu können. Hauptsächlich geht es dabei ums Indexieren der Videospur.

Vorbereitung

Wir kennen diese Automatik schon, denn genau sie tritt in Aktion, wenn wir VOB-Dateien als Quelle angeben. Anhand der Quell-Dateiendung erkennt StaxRip, welche Aktionen durchgeführt werden müssen. Als Beispiel werden wir eine Aktionsliste definieren, um eine H.264-Videospur aus einer Matroska-Datei zu demuxen und diese anschließend mit DGAVCIndex zu indexieren. Außerdem sehen wir uns kurz die Aktionslisten für MP4- und TS-Quellen an.

Folgende Software benötigen wir.

Erstellen von Aktionslisten

Quellformat-Aktionen sind an ein Projekt gebunden; es handelt sich nicht um globale Einstellungen. Das ist auch sinnvoll, denn wenn wir z.B. aus Matroska nicht nur H.264 sondern auch Xvid demuxen wollen, müssen wir dafür unterschiedliche Projekte erstellen. Da StaxRip Quelldateien anhand ihrer Dateiendung erkennt, ist pro Endung auch nur eine Aktionsliste möglich. Wie wir allgemein Projekte definieren und als Vorlagen speichern, haben wir schon im Kapitel zur StaxRip-Konfiguration besprochen.

In den Projektoptionen unter View / Options (oder über F8) sehen wir im Abschnitt Preparation die Aktionslisten für einige übliche Quellformate.

Über den Button Add fügen wir eine neue Liste hinzu. Als Vorlage wählen wir den Command Line Preparer, was uns in folgendes Dialogfenster bringt.

Bei Input tragen wir die Dateiendung (ohne Punkt) des gewünschten Quellformats ein: mkv in unserem Fall. Mehrere Endungen trennen wir durch ein Komma. Hinter Output Video steht die Dateiendung der erzeugten Videodatei. DGAVCIndex erzeugt Dateien mit der Endung dga, die den D2V-Dateien von DGIndex entsprechen. Output Audio enthält analog die Dateiendungen der erzeugten Audiospuren. Leider gibt es in MKVExtract keine Option, um alle vorhandenen Audiospuren zu extrahieren. Das müssen wir also doch noch manuell erledigen. Entsprechend bleibt das Feld leer.

Die eigentlichen Programmaufrufe tragen wir in einem zusätzlichen Fenster ein, das sich mit einem Klick auf den a-Button hinter dem Feld Command Line öffnet. Dort tragen wir im großen Feld des Registers Edit folgende zwei Zeilen ein.

"%application_dir:MKVtoolnix%mkvextract.exe" tracks "%source_file%" 1:"%source_dir%\%source_name%.h264"
"%application_dir:DGIndex%DGAVCIndex.exe" "%source_dir%\%source_name%.h264"

Damit weiß StaxRip: Aus Quelldateien mit der Endung MKV soll zuerst mit dem MKVExtract-Aufruf das Video als rohe AVC-Videospur extrahiert werden. Die wird dann an DGAVCIndex verfüttert, um eine DGA-Indexdatei zu erstellen. Der erste Schritt ist nötig, da sich DGAVCDec in einem frühen Entwicklungsstadium befindet und noch keine Container unterstützt; die Quelle muss zwingend ein Rohdatenstrom sein. Um neue Entwicklungen und aktuelle Einschränkungen nicht zu verpassen, sollten wir unbedingt den DGAVCDec-Entwicklungsthread verfolgen. Interlacing ist z.B. noch nicht möglich.

Wir bestätigen alle Dialoge, bis wir uns wieder im Fenster Project Options befinden. Hier können wir über Rename unserer neuen Aktionsliste einen sinnvollen Namen geben. Außerdem müssen wir über Edit aus allen anderen Listen die Endung MKV entfernen.

Ein weiterer Klick auf OK bringt uns dann zurück ins StaxRip-Hauptfenster, wo wir über File / Save Project as Template unser Projekt inklusive neuer Aktionsliste abspeichern. Wenn wir später eine Matroska-Datei mit H.264-Video verarbeiten wollen, wählen wir zuerst unter File / Template Projects die gerade gespeicherte Vorlage und öffnen erst dann die Quelldatei.

Auf die gleiche Weise können wir Aktionslisten für beliebige Formate anlegen. Neben Matroska sind besonders noch MP4 und TS (MPEG-Transport-Stream) interessant.

Fürs Demuxing aus MP4 mit dem MPEG4Creator und anschließendes Indexing mit DGAVCIndex benötigen wir diese Zeilen:

"%application_dir:MP4Box%mp4creator.exe" -extract=1 "%source_file%" "%source_dir%\%source_name%.h264"
"%application_dir:DGIndex%DGAVCIndex.exe" "%source_dir%\%source_name%.h264"

Für den TS-Container übernimmt das Demuxing mencoder:

"%application_dir:MP4Box%mencoder.exe "%source_file%" -of rawvideo -ovc copy -oac copy -noskip -o "%source_dir%\%source_name%.h264"
"%application_dir:DGIndex%DGAVCIndex.exe" "%source_dir%\%source_name%.h264"

Der Trick an Aktionslisten ist der, die nötigen Programme und Kommandozeilen zu kennen. Die geben wir dann ähnlich ein, wie wir sie auch an der Konsole eintippen und ausführen würden. Nur Dateinamen und Programmpfade werden durch in Prozentzeichen (%) eingeschlossene StaxRip-Makros ersetzt. Eine Liste dafür erhalten wir im Editorfenster mit der F1-Taste.