Da hast Du nun also die schöne neue DVD gekauft. Du findest sie absolut
Klasse und möchtest sicher sein, dass, was immer auch passiert, Du auf
jeden Fall eine Kopie dieses Films besitzt. Aber, zum Kuckuck, wie
bekommst Du ihn von der großen DVD auf so eine kleine CD? Und
wohlgemerkt in guter Qualität? Lies einfach weiter.
WARNUNG! Diese Anleitung ist nichts für das mutlose Gemüt. Sie umfasst
Dinge wie das Kompilieren von Code, Installieren von Software und die
Benutzung der Kommandozeile. Wenn Du nicht weißt, wie configure; make;
make install auszuführen ist, dann lese zunächst andere Dokumentationen
und lerne es. Wenn Du das nicht willst, dann installiere Windows und
benutze eines jener guten DVD-Ripping-Programme, die es dafür gibt. Ich
möchte keinen Flame-Krieg Linux gegen Windows. Es ist einfach so, dass
dieser Vorgang unter Linux etwas schwieriger ist.
Du bist immer noch dabei? Wunderbar! Du bist dabei, eine Reise durch ein
wunderschönes Land anzutreten...
Copyright (c) 2002 Moritz Bunkus ( moritz@bunkus.org).
Es ist erlaubt, dieses Dokument unter Einhaltung der GNU Free
Documentation License, Version 1.2 oder neuer, wie sie von der Free
Software Foundation herausgegeben wird, zu verteilen und/oder zu
modifizieren.
Originaltext wurde von Moritz Bunkus in englischer Sprache verfasst. Die
vorliegende deutsche übersetzung stammt von Nicolai Lissner.
Für SelfLinux bearbeitet von Arnulf Pelzer ( webmaster@arnulfpelzer.de)
|
Zunächst möchte ich Dir einige Werkzeuge vorstellen, die Du benutzen
wirst:
-
MPlayer ist ein Movie-Player, der eine große Zahl von
Dateiformaten und Media-Codecs unterstützt: MPEG1, AVIs
(einschließlich aller Windows-Codecs und alle DivX-Codecs), DVDs,
VCDs, SVCDs usw. Ich benutze ihn zum Betrachten aller Arten von
Dateien.
-
MEncoder ist Teil des MPlayer-Pakets und wird zum Kodieren von
Video und Sound verwendet. MEncoder ist in der Lage, DVDs zu wandeln.
-
transcode ist ein Satz von Werkzeugen, die es erlauben, eine
lange Liste von Dateiformaten in eine lange Liste von anderen
Dateiformaten zu wandeln, einschließlich von DVD zu AVI oder (S)VCD.
-
Wie du weißt, sind die meisten DVDs verschlüsselt. libdvdcss ist
eine Library, die DVD-Inhalte entschlüsselt.
-
DVDs enthalten Informationen über Titel, Kapitel, Angles und
Sprachen, die in den Dateien enthalten sind. Diese Informationen
werden in .IFO-Dateien gespeichert. libdvdread wird häufig
verwendet, um diese Dateien zu analysieren und die nötigen
Informationen zu extrahieren.
-
lame (Lame Ain't an MP3 Encoder) kodiert MP2/WAV-Audio in das
MP3-Format.
-
vobcopy kann dazu benutzt werden, VOBs von der DVD zu kopieren.
Die Entschlüsselung geschieht dabei 'on the fly'.
-
dvd::rip ist die grafische Benutzeroberfläche für transcode.
Ich werde Dir zwei Methoden zur DVD-Wandlung zeigen - eine unter
Verwendung von MEncoder und eine unter Verwendung von transcode.
Nichtsdestotrotz benötigst du für beide Methoden einige Dateien.
|
In einer idealen Welt würde es nur ein Codec geben - das beste. Aber
diese Welt ist weit vom Ideal entfernt. Das Ergebnis ist, dass es eine
große Anzahl von Video- und Audio-Codecs zur Auswahl gibt. Zunächst
werde ich die verschiedenen Arten von Codecs erklären:
-
Native Codecs sind normale Linux-Binärdateien (meistens shared
objects, libCODECNAME.so). Ihre Unterstützung ist trivial.
-
Windows-Codecs sind die originalen oder leicht modifizierten
Windows dynamic libraries (DLLs, AX u.ä.) Diese Codecs
funktionieren nicht von Haus aus unter Linux - Du benötigst eine
spezielle Library, um diese Codecs verwenden zu können. Diese
Library nennt sich avifile. Noch vor einigen Monaten war dies
die einzige Möglichkeit, AVIs unter Linux anzusehen.
Heute erscheinen die meisten Codecs mit einer speziellen Linux-Version
(wie z.B. XviD, DivX 4/5/) und andere.
Hier ist eine Liste der unterstützten Video-Codecs
-
MPEG4 ist ein offizieller Video-Kompressions-Standard. Es gibt
keinen Codec, dessen Name einfach MPEG4 ist. Wenn Du über MPEG4
sprichst, sprichst Du nicht über einen spezifischen Codec - Du
sprichst über einen Sammlung von Techniken, Videos zu
komprimieren. MPEG4-kompatibel meint, dass ein Codec Dateien
erzeugt, die mit anderen MPEG4-kompatiblen abgespielt werden können.
-
DivX ;-) ist der original gehackte Microsoft MPEG4-Codec, mit
dem all diese Ripperei anfing. Er unterstützt nicht alle
MPEG4-Features wie z.B. B-Frames oder global motion compensation
GMC). Einige benutzen diesen Codec noch immer unter Windows mit
dem exzellenten Werkzeug Nandub. Er wird unter Linux seltener
benutzt, da es Codecs gibt, die eine bessere Qualität zur
Verfügung stellen. Der Codec kommt als Windows dynamic library
daher (divx.dll und einige andere) und benötigt unter Linux
avifile.
-
DivX 4 und 5 sind die offiziellen Nachfolger. DivX 5 ersetzt DivX 4.
Das ist der Grund, warum Du nicht beide Codecs zur gleichen Zeit
installieren kannst (nun - technisch ist das möglich, aber Du
solltest das aus ersichtlichen Gründen nicht tun). Dies sind native
Linux shared objects - genannt libdivxdecore.so und libdivxencore.so.
Die Sourcen dazu liegen nicht offen. Für Windows gibt es andere
Versionen, und nur die kommerzuelle Version unterstützt sämtliche
Optionen wie B-Frames, GMC oder Quarter PEL. Die kostenlose
Version kann aber Dateien abspielen, auch solche, die mit der
kommerziellen Version erstellt wurden. Leider gibt es nur eine
kostenlose Version für Linux, die all diese netten Möglichkeiten
nicht zur Verfügung stellt. DivXNetworks denkt darüber nach, auch
für Linux eine kommerzielle Lösung zu Verfügung zu stellen. Aber
erwarte nicht, dass dieser Codec in Naher Zukunft erscheinen wird.
-
XviD (das ist DivX rückwärts gelesen) ist eine OpenSource
MPEG4 Implementierung, die im Hinblick auf Kompression und
Bildqualität wirklich gut ist. An der Unterstützung erweiterter
MPEG4-Funktionen (b-frames , GMC) wird gearbeitet oder sind bereits
implementiert.
-
libavcodec oder kurz lavc ist ein weiterer Open Source
MPEG4-kompatibler Video-Codec, der in Performance und Qualität
DivX 5 und auch XviD überlegen ist. Dieser Codec unterstützt
B-Frames. Er ist Teil des ffmpeg-Projekts.
-
Natürlich gibt es MPEG1-kompatible Codecs, die Du für VCDs
benötigst und MPEG2-kompatible Codecs für SVCDs oder DVDs. Im
Moment zielt diese Anleitung auf die Erzeugung von AVIs, daher
werde ich zu keinem dieser Codecs ins Detail gehen.
-
Die meisten anderen Codecs sind entweder veraltet (wie Intel Indeo 5)
oder andere gecrackte Version von Microsofts MPEG4-Codec
wie AngelPotion). Es gibt weitere Codecs (wie VP4), die aber
noch in der Entwicklungsphase sind und noch keine funktionierenden
Lösungen für uns hier bieten.
Die Anleitung richtet ihr Hauptaugenmerk auf zwei Codecs: XviD und
lavc. Die Gründe dafür sind, dass beide eine exzellente Qualität
bieten, beide schnell sind und Du nur einen MPEG4-kompatiblen Decoder
(wie DivX 5 oder XviD) auf einem Windowssystem zum Abspielen
brauchst. Die Wiedergabe unter Linux ist überhaupt kein Problem -
MPlayer oder Xine spielen fröhlich DivX 4/5, XviD und lavc-kodierte
Filme.
|
Wieder eine Liste, dieses mal für Audio-Codecs:
-
MP3 ist die Kurzform für MPEG1 layer 3 und ist ein offizieller
Kompressions-Standard. Wenn Du über MP3 sprichst, sprichst Du
ber eine Kompressions-Technik, nicht über einen speziellen Codec.
Es gibt mehr Codecs für MP3 als ich an einem Tag aufzählen könnte.
-
lame ist eine Abkürzung für Lame Ain't an MP3 Encoder (Lame
ist kein MP3-Encoder - auch wenn es einer ist ;-)) lame bietet
einen Encoder der der MP3-Dateien in sehr guter Qualität
produziert. Sowohl transcode als auch
MEncoder nutzen lame zur Audio-Kompression.
-
AC3 ist wieder ein offizieller Audio-Kompressions-Standard.
Nahezu alle DVDs enthalten AC3-kodierte Audiospuren. Es gibt
heute Dekoder sowohl für Windows als auch für Linux, die mit
AC3-Ton innerhalb von AVIs arbeiten. Der Vorteil ist, dass keine
erneute Komprimierung nötig ist (eine erneute Komprimierung ist
immer mit einem Verlust an Qualität verbunden) und das
Mehrkanal-Ton (Dolby Surround und ähnliches) erhalten bleibt. Der
Nachteil ist, dass AC3-Ton mehr Speicherplatz als MP3-kodierter Ton
benötigt.
-
Vorbis ist ein neuer Open Source Audio-Kompressions-Codec. Er
ist sowohl für Windows als auch Linux erhältlich. Die Vorteile
sind ein besseres Qualität-zu-Größe-Verhältnis verglichen mit
MP3 und Mehr-Kanal-Unterstützung. Leider kann man Vorbis-Audio
nicht vernünftig in AVIs einbetten - aber ich arbeite an einem
Programm, das Video und Vorbis-Audio zusammen in einer OGG-Datei
speichern kann. Sobald dieses fertig ist werde ich es in diese
Anleitung aufnehmen.
Ich hoffe, dies hat die Dinge ein bischen geklärt.
|
|
Ich werde in diesem Kapitel nicht all zu sehr ins Detail gehen. Es gibt
in jedem Paket weitere Dokumentation zur Installation. Siehe dort, falls
Du Probleme haben solltest. Beachte, dass MPlayer ziemlich
umfangreiche Anforderungen bezüglich der Versionen von gcc, binuntils
und anderen zentralen System-Komponenten hat. Siehe Die
MPlayer-Installations-Dokumentation.
Beachte: Prüfe vor dem Download der Software, ob Deine Distribution
bereits diese Software enthält. Ich verwende Debian Woody (testing) und
habe festgestellt, dass sehr viel Software bereits als fertiges Paket
vorhanden ist.
-
libdvdcss - Gehe zu the Ogle project page
und lade
libdvdcss-0.0.3.ogle3.tar.gz herunter (die Versionsnummer könnte
abweichen, da die Sofware sich in der Entwicklung befindet).
Un-tar-gz sie, compiliere sie, and installiere sie unter /usr/local.
Beachte das verschiedene Versionen dieser Library im Umlauf sind
(0.0.3, 1.0.1). MPlayer empfiehlt immer noch Version 0.0.3.
-
libdvdread - erhälst Du von der gleichen Website wie
libdvdcss. Beachte das Debian Woody libdvdread bereits
enthält. Ein einfaches apt-get install libdvdread2
libdvdread2-dev sollte genügen.
-
XviD-Codec - wird gebraucht, wenn Du transcode benutzen willst.
Eine kurze Anleitung aus der MPlayer-Dokumentation:
-
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login Wenn
Du nach einem Passwort gefragt wirst, drücke einfach Enter
-
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore
-
cd xvidcore/build/generic
-
Passe Makefile.linux Deinem System an.
-
make -f Makefile.linux
-
Kopiere die Datei xvidcore/src/divx4.h nach
/usr/local/include/decore.h und nach
/usr/local/include/encore2.h|. Erstelle ein Backup der
Dateien, die Du überschreibst
-
Kopiere libxvidcore.so und libcore.a nach
/usr/local/lib/
Zum Compilieren brauchst du möglicherweise eine spezielle Version
von nasm, die Du unter
http://homepage1.nifty.com/herumi/soft/petit/nasmsse2.tgz bekommst.
-
vobcopy - Erhälst Du von der Homepage
http://linux-programming-newbie.org/.
-
avifile - wie bereits erklärt wird es gebraucht, um
Windows-Codecs zu verwenden, für die es keine linuxeigenen
Binärdateien gibt. Gehe zur Homepage
http://avifile.sourceforge.net/. Bevor Du das tust, prüfe, ob
Deine Linux-Distribution nicht bereits avifile enthält (Debian
Woody enthält avifile). Außerdem benötigst Du die Windows-Codecs
von der avifile-Homepage oder direkt von der MPlayer's
Homepage
http://www2.mplayerhq.hu/MPlayer/releases/codecs/.
-
DivX 5 - obwohl diese Anleitung sich nicht mit DivX 5
beschäftigt, kannst Du das Codec bei
http://www.divx.com/ erhalten. Falls Du ein wenig Zeit übrig
hast, schlage ich vor, dass Du selbst einige Vergleiche zwischen
DivX 5 und XviD oder lavc vornimmst und selbst siehst, dass
es schlechter als die letzten beiden Codecs ist.
|
Du brauchst MPlayer. Es ist egal, ob Du später MEncoder oder
transcode verwenden willst - Du brauchst in jedem Fall MPlayer. Also
besorge MPlayer von
http://www.mplayerhq.hu/. Ich bevorzuge die CVS-Version, da sie
häufig Features besitzt, die dem offiziellen Release fehlen. Tatsächlich
basiert diese Anleitung auf Features seit wenigen Tagen in der
CVS-Version existieren (heute ist der 30. April 2002). Tu einfach das
Gleiche - sei tapfer und nimm die CVS-Version.
Wenn Du MEncoder zum Kodieren verwenden möchtest, empfehle ich
außerdem die Verwendung von libavcodec. Bei Verwendung der CVS-Version
von MPlayer musst Du libavcode herunterladen, die Release-Version von
MPlayer beinhaltet bereits libavcodec. Die Anweisungen sind aus der
MPlayer-Dokumentation entnommen:
-
Lade das ffmpeg-Project über CVS:
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg
login. Drücke einfach ENTER, wenn Du nach einem Login oder
Passwort gefragt wirst.
-
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co
ffmpeg
-
Verschiebe das libavcodec-Verzeichnis von den FFmpeg-Sourcen in
das Wurzelverzeichnis des MPlayer-CVS-Pfads. Symlink reicht nicht
aus, Du musst das Verzeichnis bewegen oder kopieren.
Eine Bemerkung zum Kompilieren: Stelle sicher, nicht XviD support
einzubinden. Stattdessen binde die Unterstützung für den libavcodec
ein. Installations-Anweisungen stehen in der MPlayer-Dokumentation zur
Verfügung. Ja, Du hast richtig gelesen: Kompiliere transcode mit
XviD und MPlayer ohne XviD aber mit libavcodec. Der Grund
dafür ist, dass MPlayer nicht für beide Codecs zur gleichen Zeit
Unterstützung enthalten kann, da beide Codecs Variablen mit dem gleichen
Namen verwenden.
|
Besorge transcode von der
Homepage.
Stelle sicher, dass es mit XviD-Unterstützung und Unterstützung für
MPlayer's post processing-Funnktionen compiliert wird. Nochmals: Ich
empfehle die Verwendung der CVS-Version.
Außerdem willst Du dvd::rip herunterladen, eine exzellente, Gtk+
basierte Benutzerobefläche für transcode. Du
bekommst sie hier.
Installations-Anweisungen sind enthalten.
|
Ich kenne zumindest zwei Adressen, an denen du einige RPMs für die oben
erwähnte Software erhälst.
|
|