DVD in TS-Datei umwandeln

Aus TuxBoxWIKI
Version vom 25. August 2011, 09:14 Uhr von WikiBot (Diskussion | Beiträge) (Bot: Fixing redirects)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


Allgemeines

Eine DVD als TS-Datei hat den Vorteil, dass man diese Inhalte in seiner Medienbibliothek per Fernbedienung im Zugriff hat, ohne die DVD einzulegen. Weiterhin kann man dann im Film vor und zurückspringen, was über den VLC-Stream nicht geht.

Wie man eine DVD zu einer TS-Datei transformiert fand ich unter:


Hier nun mein Vorgehen, welches Kommandozeilen-Werkzeuge und GUI-versehene Werkzeuge kombiniert. Ich arbeite unter Linux wie folgt:


DVD per dvdrip einlesen

Mit dem Programm DVD:RIP kann man die gewünschten Inhalte der DVD selektieren und als VOB-Dateien in ein Verzeichnis einlesen.


VOB-Dateien vereinen

VOB-Dateien enthalten Bild und Ton gemeinsam! Leider entstehen oft mehrere davon. Wir erzeugen deshalb wie folgt eine Film-Datei daraus:

cat *.vob > movie.vob


Bild und Ton trennen

Aus der Filmdatei werden nun Bild und Ton getrennt extrahiert, um sie getrennt voneinander gewissen Transformationen unterwerfen zu können. Hierzu geben wir folgende Kommandos ein:

tcextract -i movie.vob -t vob -x mpeg2 > movie.m2v
tcextract -i movie.vob -a 0 -x ac3 -t vob > movie.ac3

Die Zahl nach dem Parameter -a legt die Nummer der Audiospur fest, die extrahiert werden soll. Falls also Spur 0 nicht die gewünschte Sprache ist, einfach was anderes eingeben. DVD-RIP zeigt den Country-Code zur Sprachspur an!


Bild eindampfen

Die Datenrate einer guten DVD geht über die Fähigkeiten unserer DBOX2. Deshalb muss die Datenrate der Bilddatei reduziert werden. Das Verfahren heißt Requantifizierung und bedeutet, dass die Vollbilder bestehen bleiben und die Differenzbilder in ihrer Zahl reduziert werden.

Wir starten den Prozess mit dem folgenden Kommando:

tcrequant -i movie.m2v -o shrinked.m2v -f 1.5

Die 1.5 am Ende gibt den Faktor an, um den die Datenrate eingedampft werden soll.


Man kann aber die gewünschte Endgröße hernehmen und daraus den Faktor genau ausrechnen:

requant_factor = (akt.Videogröße / (gew.Endgröße - AudioGröße)) * 1.04

Ich bin der Meinung, dass für einen Film von 90 Minuten 2,5 bis 3,3 GB ausreichen.


MP2-Ton erzeugen

Da die DBOX2 mit AC3-Ton immer noch kämpft, mache ich es mir einfach und rechne ihn in Mpeg2 um. Dies geht wie folgt:

a52dec -o wav movie.ac3  > movie.wav
normalize -a 0dB movie.wav
cat movie.wav | mp2enc -b 192 -r 44100 -s -o movie.mp2

Der Normalisierungsschritt führt dazu, dass der AC3-Ton nicht so leise als mp2-Ton entsteht, sondern 'geschickt' angehoben wird.


Bild und Ton wieder vereinen

Die beiden Informationsquellen wieder synchron zueinanderfügen:

mplex -f 9 -o movie.mpg shrinked.m2v movie.mp2

Manchmal sind Bild und Ton um einen festen Faktor different. Diesen kann man auf die Millisekunde genau mit dem folgenden Aufruf rausfinden:

tcprobe -i movie.mpg 

Sollte also eine Differenz bestehen, dann müssen wir beim Muxen einen weiteren Parameter vorsehen (z.B. 66ms):

mplex -f 9 -O 66ms -o movie.mpg shrinked.m2v movie.mp2


MPEG nach TS wandeln

Dann noch den MPEG-Film in ein TS-Format umbasteln lassen. Hierzu auf der Kommandozeile folgenden Aufruf tätigen:

java -jar /usr/lib/jar/pX.jar -c /usr/lib/jar/pX_ts.ini -o . movie.mpg

(pX.jar und pX_ts.ini sind in der udrec_suite zu finden [1]).


Aufräumen

Alle Dateien, bis auf das TS-File, sind nun entfernbar!!!



Review-KandidatDieser Artikel befindet sich derzeit im Reviewprozess. Hilf mit, ihn zu verbessern! Falls du bei weiteren Artikeln helfen willst, findest du hier eine Auswahl offener Artikel.