Avidemux kann VobSub-Untertitel verarbeiten. Doch diese muss man erst von der DVD extrahieren. Mit
mencoder geht das sowohl direkt während des Umkodierens, z.B. mit dem
hier beschriebenen Kommando:
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 -vobsubout subtitles -vobsuboutindex 1 -sid 5
Zum anderen kann man die Untertitel auch extrahieren, ohne Bild- oder Tonmaterial umzukodieren...
Welche Untertitel überhaupt existieren lässt sich mit einem
lsdvd -s
oder
lsdvd -s .
im Verzeichnis VIDEO_TS, wenn dieses schon kopiert wurde, ermitteln:
Title: 01, Length: 02:03:10.200 Chapters: 20, Cells: 32, Audio streams: 03, Subpictures: 06
Subtitle: 01, Language: en - English, Content: Undefined, Stream id: 0x20,
Subtitle: 02, Language: de - Deutsch, Content: Undefined, Stream id: 0x21,
Subtitle: 03, Language: en - English, Content: Undefined, Stream id: 0x22,
Subtitle: 04, Language: de - Deutsch, Content: Undefined, Stream id: 0x23,
Subtitle: 05, Language: en - English, Content: Undefined, Stream id: 0x24,
Subtitle: 06, Language: de - Deutsch, Content: Undefined, Stream id: 0x25,
Bei zwei Untertitel-"Spuren" handelt es sich hier um die vollständigen Untertitel des Films, bei zweien um den Untertitel des Audiokommentars, weitere zwei sind die "Zwangsuntertitel", die
nur dann eingeblendet werden, wenn z.B. plötzlich japanisch gesprochen wird, der Regisseur aber wollte, dass das Publikum das versteht. Sinnvollerweise gibt es in diesem Beispiel für jede Synchronsprache auch einen solchen Untertitel. Man kann also auch den englischen Film auf Deutsch gucken und sich die Übersetzung des Japanischen ins Englische einblenden lassen, oder den Film auf Deutsch gucken, dabei aber den englischen Audiokommentar als Untertitel einblenden lassen - zumindest, wenn der Player das erlaubt.
Mit
xine kann man leicht zwischen Sprachen und Untertitel-Spuren wechseln und so prüfen, welche welchen Index hat.
Die Numerierung beginnt beim mencoder bei 0, bei lsdvd bei 01.
Um Untertitel Nummer 05 aus dem ersten VOB-File zu extrahieren, ruft man
mencoder VTS_01_1.VOB -ifo VTS_01_0.IFO -vobsubout subtitles_de1 -vobsuboutindex 0 -vobsuboutid de -sid 4 -nosound -ovc copy -o /dev/null
auf. Das erzeugt die Dateien
subtitles_de1.idx und
subtitles_de1.sub, doch müsste man den VobSub-Filter mehrfach einrichten und die Verschiebung selbst einstellen, wenn man die Untertitel dateiweise extrahiert. Aber der
mencoder hat die nützliche Option
-dvd-device
und kann damit auch in einem kopierten VIDEO_TS-Verzeichnis auf den Gesamttitel angewendet werden:
mencoder dvd://1 -dvd-device ./ -ifo VIDEO_TS.IFO -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid en -sid 4 -nosound -ovc copy -o /dev/null
So extrahiert man die Untertitel mit dem Index 4 von Titel 1 der DVD (das ist der Hauptfilm), deren Dateien im aktuellen Arbeitsverzeichnis (
./
) liegen, in die Dateien
subtitles.idx und
subtitles.sub. Dort bekommen sie den neuen Index 0 und werden als "en" identifiziert.
Das angehängte
-o /dev/null
gibt dem
mencoder die Ausgabedatei, nach der er verlangt, und schreibt die kopierten Videodaten einfach ins Nichts.
Der
mencoder kann weitere Untertitel in die selben Dateien extrahieren. Die Daten werden einfach angehängt, ein anderer Index und Bezeichner sind notwendig:
mencoder dvd://1 -dvd-device ./ -ifo VIDEO_TS.IFO -vobsubout subtitles -vobsuboutindex 1 -vobsuboutid de -sid 5 -nosound -ovc copy -o /dev/null
Nun kann der VobSub-Filter die Untertitel an der richtigen Stelle im Video-Stream einblenden. Dazu öffnet man das erste VOB-File und lässt dieses indexieren und die nachfolgenden VOB-Files anhängen. Man wählt und Konfiguriert das Ausgabe-Codec und öffnet dann den Filter-Dialog (1). Im Abschnitt "Untertitel" (2) gibt es den besagten VobSub-Filter (3), dessen Dialogfeld einen auffordert, das mit
mencoder erzeugte IDX-File und die Sprache auszuwählen (4).