Dvdrip

Aus Mikiwiki
Wechseln zu: Navigation, Suche

Der DVD-Ripper Dvdrip (auch: dvd::rip) ist eine in Perl programmierte grafische Oberfläche zum Rippen von DVDs mit Transcode.

Verwendung

Programmaufruf.

$ dvdrip

Unter "Edit > Preferences" wird der Voreinstellungen-Dialog angezeigt.Hier wird der Pfad zum DVD-Gerät (device) angegeben (also nicht der zum Einhängepunkt), häufig ist dies "/dev/dvd", was ein symbolischer Link zum tatsächlichen Laufwerk sein kann, z. B. "/dev/hdc".

Unter "File > New Project" wird ein neues Projekt eröffnet. Es beginnt mit der Speicher-Tabelle. Auch müssen die die korrekten Pfade eingegeben werden.

Wechsel zur Rip Title tab und anklicken des DVD-Inhaltsverzeichnisses (Schaltfläche "Read DVD Table of Contents"). Nach ein oder zwei Sekunden wird die Liste darunter mit den Titeln angezeigt, die auf der DVD gespeichert sind. Hier werden die zu rippenden Titel angewählt und sowohl Sprache wie Angle anusgewählt. "Specify Chapter Mode" sollte auf "Nein" belassen werden. Zum Schluss muss "Rip selected Title(s)/Chapter(s)" angeklickt werden.

Erstellen einer AVI-Datei

Nach dem Programmstart werden die zu wandelnden Titel auf die Festplatte gerippt.

Schneiden und Zoomen

In der "Clip & Zoom"-Tabelle können alle Parameter bezüglich Bildgrösse und Ausschnitt eingestellt werden. Für ein zu bearbeitendes Bildkann einfach eine Frame-Zahl (z. B. 200) in die "Grab Preview Frame"-Eingabezeile eingegeben und auf "Grab Frame from ripped VOB" geklickt werden. Nach wenigen Sekunden zeigen die drei Anzeigen darunter den angeforderten Frame.

transcode verwendet drei Schritte um das Bild zu seiner endgültigen Grösse zu bringen:

  1. Das nichtskalierte Bild wird geschnitten
  2. Die Grösse wird geändert
  3. Das Bild wird nochmals geschnitten

Jeder dieser Schritte kann ausgelassen werden; durch Auswahl von 0 für Clipping und durch die Original-Breite und Höhe für das Ändern der Grösse. Jedes Fenster zeigt das Ergebnis eines dieser drei Schritte. Um zu sehen, wie gross die Bilder tatsächlich sind, kann auf eines von ihnen geklickt werden und ein Fenster mit dem Ergebnis öffnet sich.

Unter den Vorschaufenstern gibt es eine "drop-down-listbox". Dvdrip bietet eine grosse Zahl an Voreinstellungen zum Arbeiten an. Die einfache Auswahl einer dieser Voreinstellungen gibt eine gute Ausgangslage. Alle Voreinstellungen die "autoadjust..." heissen, versuchen die korrekte Schnitt-Region automatisch zu ermitteln. Nach Auswahl einer Voreinstellung kann die Schaltfläche "Apply Preset Values" gedrückt werden. Nun können die Werte bis zu einem zufriedenstellenden Ergebnis verstellt werden.

Die Teile "big frame", "medium frame" und "small frame" beziehen sich auf die endgültige zu erreichende Bildgrösse:

  • "big frame" erhält fast die volle DVD-Auflösung
  • "medium frame" liegt irgendwo zwischen 500 und 600 für die Breite
  • "small frame" liegt irgendwo um 350

Die Einstellung "Use fast resizing" (benutze schnelle Grössenänderung) hat grossen Einfuss auf die Bildverarbeitung, erfordert aber, dass die Zielbreite und -höhe durch 32 teilbar ist. Dvdrip macht sich allerdings bemerkbar, wenn kein "Fast resizing" benutzt werden kann. Obwohl die Bilder tatsächlich vergrössert werden könne, ist stark davon abzuraten! Einerseits verbraucht der Encoder viel mehr Bit um die gleiche Qualität zu erreichen, die auch erreicht wird, wenn ein kleineres Bild kodiert und dann beim Abspielen vergrössert wird. Andererseits kann es zu Bildverzerrungen kommen. Es sollte deshalb immer nach unten skaliert werden.

Wahl der Kodierungs-Parameter

Nun wird die "Transcode"-Tabelle geöffnet und ein Video-Codec ausgewählt. Zu empfehlen ist XviD - wenn die CVS-Version heruntergeladen wurde heisst die Option dazu "xvidcvs". Sollte transcode später mit einigen obskuren Fehlermeldungen abbrechen, kann XviD oder (das schlechtere) DivX 5 ausprobiert werden.

Falls das Video nicht interlaced ist können die Einstellungen "deinterlacing" und "antialias" auf "off" belassen werden. Andernfalls muss "3 - Zoom To Full Frame" ausgewählt werden. Das ist der langsamste aber am besten aussehende Deinterlacer. Ein weiterer De-Interlacing-Filter steht durch ein externes (mit transcode installiertes) plugin zur Verfügung. Unten rechts findet sichdas Eingabefeld "transcode options" - alle hier eingegebenen Optionen werden einfach an transcode weitergegeben. Um einen anderen Deinterlacer zu verwenden, muss "deinterlace" auf "off" gesetzt und "-J dilyuvmmx" in die Eingabezeile eingegeben werden.

Dvdrip versucht die Bildrate automatisch zu ermitteln. Falls dies fehlschlägt, kann es hier korrigiert werden. "Use YUV internal" sollte immer auf "yes" stehen, ausser der Ausgabe-Codec unterstützt keine YUV-Modes. XviD unterstützt aber YUV. Es angeschaltet zu lassen gibt einen grossen Geschwindigkeitsschub. "DivX multipass" sollte ebenfalls auf "yes" stehen, es sei denn, man möchte lediglich eine Vorschau. Für die endgültige AVI-Datei sollte immer 2-Pass-Kodierung verwendet werden. Obwohl diese Option "DivX multipass" heisst, arbeitet sie auch problemlos mit XviD.

Die Audio-Optionen sind selbsterkärend. Entweder wird die Tonspur (unter Verwendung der angegebenen Bitrate) in MP3 umkodiert oder die Original AC3-Tonspur ohne Veränderung beibehalten. AC3-Audio stellt Surround-Sound zur Verfügung, benötigt aber mehr Platz als MP3-Sound.Bei Wahl von MP3 muss sichergestellt sein, dass die "MP3 Quality" auf "2" steht. Gemäss "lame"-Dokumentation sind höhere Qualitätseinstellungen wie "1" oder "0 - beste aber langsamste" bedeutend langsamer, erzeugen aberkeine wesentlich bessere Qualität. "Volume rescale" erlaubt die Normalisierung des Tons, die kein separates (externes) Programm benötigt. Dvdrip durchsucht dabei automatisch die Tonspur und stellt einen rescale-Wert zur Verfügung.

Oben rechts befindet sich die Bitraten-Option. Hier wird die Rip-Grösse durch Wahl der Anzahl und Grösse der CDs eingestellt. Verändern der "Target Size" (Zielgrösse) oder der "Video Bitrate" funktioniert auch. Dvdrip aktualisiert automatisch die errechneten Werte darunter, sodass es einfach ist, die optimale Bitrate zu ermitteln.

Erstellen einer schnellen Vorschau

Meistens sollte man Dvdrip durch Angabe einer "Frame Range" zur Erstellung einer kleinen Vorschau bewegen. Beispielsweise kann ein 30 Sekunden-Sample erstellt (entspricht 750 Bildern bei 25 fps) und bei 200 oder 300 frames im Film gestartet werden. Gute Werte könnten z. B. "200 - 950" sein. Ausserdem sollte "transcode" einen hohen nice-Wert (was einer niedrigen Prozess-Priorität entspricht) erhalten, damit es nur freie CPU-Zeit verwendet. Wenn die Vorschau möglichst schnell zur Verfügung stehen soll, kann vorübergehend "DivX Multipass" abgeschaltet werden.

Zum Schluss wird auf "Transcode" geklickt. Nach einigen Minuten ist das AVI/MPEG fertig und kann mit MPlayer angesehen werden. Es empfiehlt sich, zu diesem Zeitpunkt zu überprüfen, ob das deinterlacing wie erwartet arbeitet und ob Audio und Video synchron laufen.

Verhindern von Audio/Video Desynchronization

Wenn die Audio- und Videospur bei der Vorschau nicht synchron zueinander abgespielt werden (oder auch beim Abspielen der DVD selbst), kann "transcode" ein Frame-Offset für die A/V-Synchronisation mitgegeben werden. Das geschieht durch Angabe des Parameters "-D nr" in der "transcode options"-Eingabezeile der "Transcode"-Tabelle. "nr" ist dabei die Anzahl der Frames die die Audiospur verzögert ist. Diese Zahl kann auch negativ sein. Bei 25 fps ist ein Frame 40ms lang. Im Allgemeinen ist die Frame-Länge (1000 / fps) ms lang. Danach kann erneut eine Vorschau erstellt und die Tonspur erneut geprüft werden.

Das Ganze ausführen

Sobald die Vorschau gut ist, kann mit der Wandlung begonnen werden. "DivX Multipass" muss nun wieder eingeschaltet sein. Danach wird auf "Transcode" oder auf "Transcode + Split" geklickt, falls die Dateien automatisch nach den Angaben unter "Video Bitrate Calculation" geteilt werden sollen.

Transcode-Befehlszeilen-Argumente

Hier werden die Transcode-Befehlszeilen-Optionen erklärt, die auch von Dvdrip genutzt werden. In Dvdrip kann CTRL+T gedrückt werden, um die Befehle zu sehen, die ausgeführt werden. Es folgend zwei Beispiele.

$ transcode -i /space/tng-biggoodbye/vob/004 -w 4357,250,100 -a 1 -b 128,0,0 -s 3.311 -V  -f 25 -B 12,10,8 -R 1 \
    -x vob,null -o /dev/null -y xvidcvs,null
  • -i /space/tng-biggoodbye/vob/004 teilt Transcode mit, wo es die Dateien findet. Das kann eine Datei, ein Gerät oder ein Verzeichnis mit Dateien sein.
  • -w 4357,250,100 setzt die Video-Kodierungs-Parameter: Bitrate, maximales Keyframe-Interval und Crispness.
  • -a 1 wählt Audio-Track Nummer 1 (beginnend mit 0).
  • -b 128,0,0 setzt die Audio-Kodierungs-Parameter für lame: bit rate, VBR und Qualität. Siehe auch die zugehörige manpage für eine Erklärung der Parameter "-V" und "-q".
  • -s 3.311 veranlasst lame die Tonspur zu verstärken und damit "on the fly" zu normalisieren.
  • -V veranlasst Transcode die Bildverarbeitung im YUV-Farbraum vorzunehmen. Ohne diese Option würden die Bilder in den RGB-Farbraum konvertiert werden. Es ist zu beachten, dass einige externe Filter einen der beiden Farbräume voraussetzen. "YUV processing" erhöht die Geschwindigkeit stark.
  • -f 25 setzt die Bildrate.
  • -B 12,10,8 setzt die "fast scaling" (schnelle Skalierung) Optionen: das Bild wird herunterskaliert auf "Höhe - 12 * 8" Zeilen und auf "Breite - 10 * 8" Spalten.
  • -R 1 ist der Marker für den ersten (von zwei) Kodierungs-Durchgängen.
  • -x vob,null sagt aus, dass die Videoeingabe aus VOB-Dateien kommt und die Audio-Eingabe übersprungen wird (sie ist im ersten Durchgang unnötig).
  • -o /dev/null sagt aus, dass die Ausgabe des ersten Durchgangs nicht benötigt wird.
  • -y xvidcvs,null bezeichnet das Ausgabevideo unter Verwendung von Xvid und ohne Audio.

Folgende Befehlszeile weicht nicht sehr von der ersten ab. Sie überspringt alle Optionen die die Ausgabe abschalten würden (wie "-o real-file-name" und "-y xvidcvs").

$ transcode -i /space/tng-biggoodbye/vob/004 -w 4357,250,100 -a 1 -b 128,0,0 -s 3.311 -V  -f 25 -B 12,10,8 -R 2 \
    -x vob -o /space/tng-biggoodbye/avi/004/tng-biggoodbye-004.avi -y xvidcvs

Eine vollständige Befehlsreferenz findet sich in den manpages von Transcode und lame.

Weblinks