| Inhaltsverzeichnis --> nächstes Kapitel <-- vorheriges Kapitel | letzte Änderung am 23. August 2002 |
avisync-utility beheben.Hier eine Liste der üblichen Szenarien:
Nach dem Start von dvd::rip ripst Du die Titel, die Du wandeln
möchtest auf Deine Festplatte. Siehe Kapitel 3 für eine
detaillierte Beschreibung.
4.2.1. Schneiden und Zoomen
Nun wirf einen Blick auf die Clip & Zoom Tabelle. Hier kannst Du alle Parameter
bezüglich Bildgröße und Ausschnitt einstellen. Zunächst
hole ein Bild zum damit Arbeiten: Gib einfach eine Frame-Zahl (wie z.B. 200) in
die Grab Preview Frame Eingabezeile und drücke auf
Grab Frame from ripped VOB. Nach wenigen Sekunden zeigen die 3
Anzeigen darunter den angeforderten Frame.
transcode verwendet drei Schritte um das Bild zu seiner endgültigen Größe zu bringen: Erst schneidet es das nichtskalierte Bild, dann ändert es die Größe und schliessliche schneidet es nochmals. 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öße. Jedes Fenster zeigt das Ergebnis eines dieser drei Schritte. Wenn Du sehen willst, wie groß die Bilder tatsächlich sind, klicke einfach auf eines von ihnen und ein PopUp-Fenster öffnet sich mit dem Ergebnis.
Möglicherweise hast Du die drop-down-listbox unter den drei
Vorschau-Fenstern bemerkt. dvd::rip biete eine große Zahl an
Voreinstellungen zum Arbeiten an. Die einfache Auswahl eine dieser
Voreinstellungen gibt Dir eine gute Startposition. Alle Voreinstellungen die
'autoadjust...' heißen, versuchen die korrekte Schnitt-Region automatisch
zu ermitteln. Nach der Auswahl einer Voreinstellung drücke den Apply
Preset Values Knopf. Nun verstelle die Werte bis du mit dem Ergebnis
zufrieden bist.
Die big frame, medium frame und small
frame Teile beziehen sich auf die endgültige Bildgröße,
die erreicht werden soll. big erhält fast die volle
DVD-Auflösung, medium liegt irgendwo zwischen 500 und 600
für die Breite und small liegt irgendwo um 350.
Use fast
resizing (benutze schnelle Größenänderung) hat
großen Einfuß auf die Bildverarbeitung aber erfordert, dass die
Ziel- Breite und Höhe durch 32 teilbar ist. Keine Sorge dvd::rip
wird Dir sagen, wenn Du kein "Fast Resizing" nutzen kannst. Beachte: Wenngleich
es möglich ist, tatsächlich die Bilder zu vergrößern,
rater ich stark davon ab. Es gibt mehrere Nachteile: Zum einen braucht der
Encoder viel mehr Bits um die gleiche Qualität zu erreichen, die Du auch
erreichst, wenn Du ein kleineres Bild kodierst und dieses dann beim Abspielen
vergrößerst, und zudem kann es auch zu Bildverzerrungen kommen
(Peter Schuller berichtete mir von einem solchen Fall). Skaliere immer nach
unten (=kleiner).
xvidcvs (offensichtlich) zu wählen. Sollte
transcode später mit einigen obskuren Fehlermeldungen abbrechen,
kannst Du xvid ausprobieren.
Erinnerst Du Dich, dass ich Dich bat, zu prüfen, ob das Video interlaced
ist? Jetzt brauchen wir diese Information. Falls Dein Video nicht interlaced
ist, lasse einfach deinterlacing und antialias auf
off. Andernfalls wähle 3 - Zoom To Full Frame. Dies ist der
langsamste aber am besten aussehende Deinterlacer. Hier ist nochmal das Interlaced Bild-Beispiel
aus Ally McBeal. Du kannst das Ergebnis aus 3 - Zoom To Full
Frame unter first deinterlaced picture betrachten.
Ein weiterer De-Interlacing-Filter steht durch ein externes Plugin zur
Verfügung (keine Sorge, Du hast es bereits beim Installieren von
transcode selbst mitinstalliert). Schau nach unten recht. Dort ist ein
Eingabefeld mit der Bezeichnung transcode options. Alle hier
eingegebenen Optionen werden einfach an transcode weitergegeben. Das
können wir für das De-Interlacing nutzen. Hier ist das gleiche Bild
wie oben
deinterlaced mit einem anderen Deinterlacer. Dieser Deinterlacer ist
schneller als die 3 - Zoom To Full Frame-Option. Wenn Du diesen
Deinterlacer verwenden willst, dann setze deinterlace auf
off und gebe -J dilyuvmmx in die Eingabezeile ein.
dvd::rip versucht die Bildrate automatisch zu ermitteln. Falls dies
fehlschlägt kannst Du es hier korrigieren. Use YUV internal
sollte immer auf yes stehen, es sei denn der Ausgabe-Codec
unterstützt keine YUV-Modes. XviD unterstützt aber YUV. Es
angeschaltet zu lassen gibt einen großen Geschwindigkeitsschub.
DivX multipass sollte auch auf yes stehen, es sei
denn, Du möchtest lediglich eine Vorschau. Für das endgültige
AVI-File solltest Du immer 2-Pass-Kodierung verwenden. Auch wenn diese Option
DivX multipass bezeichnet ist, arbeitet sie auch prima mit
XviD
Die Audio-Optionen sollten selbsterkärend sein. Du wählst entweder
die Tonspur in MP3 umzukodieren (unter Verwendung der angegebenen Bitrate) oder
die Original AC3-Tonspur ohne Veränderung beizubehalten. AC3-Audio stellt
Surround-Sound zur Vefügung und all diese Vorteile, aber benötigt
mehr Platz als MP3-Sound. Es ist wirklich Deine Wahl. Wenn Du MP3 wählst,
stelle sicher, dass die MP3 Quality auf 2 steht.
Gemäßt der lame-Dokumentation (lame wird zur
MP3-Kompression verwendet) höhere Qualitätseinstellungen wie
1 oder 0 - beste aber langsamste sind viel langsamer
aber erzeugen keine bezeichnend bessere Qualität. Volume
rescale erlaubt die Normalisierung des Tons, die kein separates
(externes) Programm benötigt.
Oben rechts befindet sich die Bitraten-Option. Du kannst einfach die
Rip-Größe durch Wahl der Anzahl und Größe der CDs, die Du
verwenden willst einstellen. Verändern der Wenn Du
fertig bist klicke auf
Jetzt ist eine gute Zeit für soziale Kontakte :-)
In dvd::rip drücke
Eine letzte Anmerkung: Du wirst sehen, dass transcode seit Version
0.6.0pre6-20020529 Unterstützung für das libavcodec
üver ein von mir geschriebenes noch expermentelles Export-Modul
enthält. Du kannst dies aktivieren durch Verwendung von
Rufe nun MEncoder auf, um die Tonspur für dich zu kodieren
Wir wollen nun die Kommandozeilen-Optionen zusammenstellen:
Hier die Kommandozeile:
Nun geh und hol Dir ein Bier und ein gutes Buch.
Target Size
(Zielgröße) oder der Video Bitrate funktioniert
auch. 4.2.3. Erstellen einer schnellen Vorschau
In den meisten Fällen solltest Du dvd::rip eine kleine
Vorabansicht erstellen lassen. Das tust Du duch Angabe eine Frame
Range. Ich verwende meist ein 30 Sekunden-Sample, das entspricht 750
Bildern bei 25 fps (<Anzahl der Sekunden> * <Bildrate> = <Anzahl
der zu kodierenden Frames>) und starte irgendwo im Film (so bei 200 oder
300 frames). Gute Werte könnten z.B. 200 - 950 sein. Du
solltest außerdem transcode einen hohen nice-Wert (was einer
niedrigen Prozess-Priorität entspricht) geben, sodass es nur freie
CPU-Zeit verwendet. Wenn Du wirklich dein Preview jetzt und sofort haben
möchtest, kannst Du auch vorübergehend DivX Multipass
abschalten. Vergiss nicht, es später wieder einzuschalten!Transcode. Nach einigen Minuten wird Dein
AVI/MPEG fertig sein. Nun schau es Dir an (z.B. mit mplayer
my-new-file.avi) Dies ist ein guter Moment um zu sehen, ob deinterlacing
wie erwartet arbeitet und um zu prüfen ob Audio und Video synchron laufen.
Wenn ja, bist Du bereit. Andernfalls lies weiter:
4.2.4. Verhindern von Audio/Video Desynchronization
Wenn Deine Audio- und Videospur bei der Vorschau nicht synchron zueinander
abgespielt werden (oder auch beim Abspielen der DVD selbst), kannst Du
transcode einen Frame-Offset für die A/V-Synchronisation geben.
Das tust Du durch Angabe des Parameters -D nr in der
transcode options Eingabezeile in der
TranscodeTabelle. nr ist die Anzahl der Frames die
die Audiospur verzögert ist. Diese Zahl kann auch negativ sein. Ein Frame
ist 40ms lang bei 25 fps. Im Allgemeinen ist die Frame-Länge (1000 / fps)
ms lang. Für meine Ally McBeal-DVD benötige ich eine Korrektur von
-2, was -80ms entspricht: -D -2. Nun erstelle erneut eine
Vorschau (die anderen Parameter sollten die gleichen bleiben) und prüfe
die Tonspur erneut. Falls nötig wiederhole diesen Schritt bis Du mit dem
Ergebnis zufrieden bist.
4.2.5. Das Ganze ausführen
Wenn die Vorschau gut ist, kannst Du mit der Wandlung beginnen. Stelle sicher,
dass DivX Multipass wieder eingeschaltet ist, falls Du es
für die Vorschau abgestellt hast. Klicke dann entweder auf
Transcode oder auf Transcode + Split falls Du Deine
Dateien automagisch nach den Angaben unter Video Bitrate
Calculation geteilt haben möchtest.4.2.6. Für fortgeschrittene Benutzer: transcode Kommandozeilen-Argumente
Dieses Kapitel erklärt die transcode Kommandozeilen-Optionen, die
von dvd::rip genutzt werden. Dies ist nicht entscheidend für den
Wandlungs-Prozess, Du kannst diesen Teil also auch überspringen. Ich
schreibe ihn für diejenigen, die einen tieferen Einblick haben
möchten, was dvd::rip und transcode tun.Strg-t, um die Kommandos, die
dvd::rip ausführt, zu sehen. Im Moment wollen wir uns auf die
letzten Kommandos konzentrieren, Transcode command. Hier ein
Beispiel für meine Star Trek: The Next Generation DVD ohne die
ganzen mkdir und cd Kommandos:
Ein Blick auf das erste Kommando und seine Parameter:
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,nulltranscode -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
Die zweite Kommandozeile weicht nicht so sehr davon ab. Sie überspringt
alle Optionen die die Ausgabe abschalten würden (wie -i /space/tng-biggoodbye/vob/004 teilt offensichtlich
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 lame's
man page für eine Erklärung der Parameter -V and
-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 -V würden die Bilder in den
RGB Farbraum konvertiert werden. Beachte, 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 herunterskalier auf Höhe - 12 * 8
Zeilen und auf Breite - 10 * 8 Spalten.-R 1 ist der Marker für den ersten (von zwei)
Kodierungs- Durchgang-x vob,null - Die Video Eingabe kommt aus VOB-Dateien und die
Audio-Eingabe wird übersprungen (sie ist im ersten Durchgang ohnehin
unnötig) -o /dev/null - Wir brauchen die Ausgabe des ersten Durchgangs
nicht.-y xvidcvs,null - Ausgabe Video unter Verwendung von
XviD und ohne audio.-o
real-file-name und -y xvidcvs). Für eine
vollständige Kommandoreferenz siehe die transcode und
lameman pages.-y
ffmpeg4 (zur Erinnerung: libavcodec ist Teil von
ffmpeg) anstelle des vorherigen Codecs. dvd::rip
unterstützt dies zur Zeit noch nicht (lies: der Codec ist nicht in der
Liste der auswählbaren Codecs).
4.3. Benutzung vonMEncoder
Wie zuvor erwähnt, gibt es im Moment noch keine GUI für den
MEncoder. Daher werde ich keine Screenshots zeigen und Du musst alles
von Hand machen. Es ist ein Prozess der "3-Pass-Kodierung" genannt wird.
4.3.1. Kodierung der Tonspur
Der erste Schritt ist die Kodierung der Tonspur. Stelle sicher, dass du weisst,
welche Sprache Du verwenden willst - Du benötigst entweder die Audio ID
(d.h. 128 für den ersten Stream, 129 für den zweiten, usw.) oder den
zwei-Buchstaben-Länder-Code (wie en für Englisch or
de für Deutsch). Du kannst diese Codes durch Ausführen
von MPlayer im Verbose-Mode ermitteln: mplayer -dvd 1
-v. Das Programm sollte eine Menge Zeilen ausgeben. Suche nach Zeilen
die diesen ähneln: [open] audio stream: 0 audio format: ac3
language: en aid: 128
[open] audio stream: 1 audio format: ac3 language: de
aid: 129
[open] audio stream: 2 audio format: ac3 language: es aid:
130
Hier habe ich drei Audio-Streams: Englisch, Deutsch, Spanisch
und ihre IDs
nice -+19 cat /space/*vob | nice-+19 mencoder -ovc frameno -o frameno.avi
-oac mp3lame -lameopts abr:br=128 -alang de -
Hier ist eine
Erklärung der verwendeten Kommandozeilen-Argumente:
Warte eine Weile und Du hast Deine Tonspur. MEncoder gibt auch einige
Vorschläge für die Video-Bitrate an:nice -+19 - Gibt MEncoder die niedrigste
Prozess-Priorität, sodass er die normale Arbeit nicht stört-ovc frameno - Ausgabe-Video-Codec ist frameno
was bedeutet, dass gar keine Video-Daten geschrieben oder verarbeitet werden.
-o frameno.avi - Schreibe die Ausgabe in eine Datei mit Namen
frameno.avi. Die Tonspur muss in eine Datei mit diesem
Namen geschrieben werden, da MEncoder die Tonspur genau aus dieser
Datei im nächsten Schritt lesen wird.-oac mp3lame - Ausgabe-Audio-Codec ist die lame
encoder library.-lameopts abr:br=128 - Optionen für -alang de-aid 129 verwendet werden.
Recommended video
bitrate for 650MB CD: 1845
Recommended video bitrate for 700MB CD: 1992
Recommended video bitrate for 800MB CD: 2287
Wie Du erkennst, sind
diese Werte ziemlich hoch - aber das ist darauf zurückzuführen, dass
eine Ally-McBeal-Folge nur 41 Minuten lang ist. Also würde ich zwei
Episoden pro CD erzeugen und dem Video eine Bitrate von etwa 1000 geben.
4.3.2. Erstellen einer Vorabansicht (Erster Durchgang)
Nun ist es Zeit sich zu entscheiden, welcher Video-Codec verwendet werden soll.
Ich nehme an, dass eine AVI-Datei mit einem der verschiedenen
DivX-Encoder erstellt werden soll. MEncoder unterstützt
DivX 4 oder DivX 5 (das gilt auch für Windows -
Du hast entweder v4 oder v5 installiert) genauso wie XviD oder
lavc. Obwohl die meisten von Euch nichts von libavcodec oder
dem ffmpeg-projekt zuvor gehört haben, sei Dir angeraten dass
lavc den Codecs DivX 4 or 5 weit überlegen ist und
mindestens so gut ist wie XviD. Daher will ich nur Beispiele für
lavc zur Verfügung stellen, zumal Du dafür keine speziellen
Codecs zum späteren Abspielen benötigst. MPlayer spielt sie
(natürlich) prima ab, und für Windows benötigst Du einfach
DivX 5 (die kostenlose Ausgabe ist absolut ausreichend). Auf
geht's.
Füge die gesamte Kommandozeile zusammen:-oac copy - MEncoder braucht die Informationen des
ersten Durchgangs, um Audio & Video synchron zu halten. Du darfst auf keinen
fall -nosound benutzen, auch wenn ich das in früheren
Versionen dieser Anleitung empfohlen habe. Wenn dich die technischen Details
dazu interessieren, dann schau bei der MPlayer-Mailliste nach.-o /dev/null - Wir brauchen auch die Ausgabe des ersten
Durchgangs nicht.-ovc lavc - wählt lavc als
Ausgabe-Video-Codec-lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vqmin=1:vqmax=31:vpass=1
- libavcodec unterstützt tatsächlic eine handvoll
verschiedener Video-Codecs. Mit vcodec=mpeg4 wählen wir den
MPEG4-kompatiblen Encoder. vbitrate=1000 ist die gewünschte
Bitrate. vhq (very high quality / sehr hohe Qualität)
veranlasst den Kodierer eine Menge Zeit mit der Optimierung des Ergebnisses
zu verbringen. Es ist den Aufwand wert. vpass=1 teilt
schliesslich dem Encoder mit, dass dies nur der erste Durchgang ist. Die
Benutzung von vqmin und vqmax teilt dem Codec mit,
wie stark das Video mindestens und maximal komprimiert werden soll. Diese
Werte auf ihren Voreinstellungen zu lassen (siehe (see man
mencoder) beschränkt die erreichbare Ausgabe-Bitrate sehr, daher
empfehle ich eine größere Reichweite. Beachte, dass ich kein
Quantisier-Experte bin - sollte ich hier falsch liegen, schreibe mir.-vop scale=640:480 - Skaliert das Bild herunter auf 640x480
Pixel. Ich habe in der Mailing-Liste gelesen dass es einen neuen Parameter
gibt, der automatisch die Höhe von der angegebenen Breite und umgekehrt
errechnet, sodass das Seitenverhältnis erhalten bleibt. Ich habe es
selbst nicht probiert, aber das sollte so aussehen: -vop scale -xy 640
. Beachte wenngleich es möglich ist, tatsächlich die Bilder
zu vergrößern, rater ich stark davon ab. Es gibt mehrere
Nachteile: Zum einen braucht der Encoder viel mehr Bits um die gleiche
Qualität zu erreichen, die Du auch erreichst, wenn Du ein kleineres
Bild kodierst und dieses dann beim Abspielen vergrößerst, und
zudem kann es auch zu Bildverzerrungen kommen (Peter Schuller berichtete mir
von einem solchen Fall). Skaliere immer nach unten (=kleiner).-npp lb de-interlaced ausgeben.-ss
0:20 bezeichnet 20 Sekunden nach Filmbeginn als Anfang, und
-endpos 0:30 sagt, dass wir 30 Sekunden bearbeiten wollen.
Dieser Parameter wurde ungünstig benannt, da es sich nicht um die
End-Position, sondern um die Länge des zu kodierenden Ausschnitts
handelt.
nice -+19 mencoder
-nosound -o /dev/null -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=1000:vhq:vpass=1 -vop scale=640:480 -npp lb -ss 0:20
-endpos 0:30 /space/first.vob
4.3.3. Erstellen einer Vorabansicht (zweiter Durchgang)
Für dieses Schritt können wir den größten Teil der
vorhergehenden Kommandozeile beibehalten. Natürlich ändern wir
vpass=1 in vpass=2 um dem Encoder mitzuteilen, dass
es diesmal der zweite Durchgang ist. Natürlich sollten wir diesmal die
endgültige Ausgabe speichern und ersetzen daher -o /dev/null
mit etwas Brauchbarem, z.B. -o ally-preview.avi.
nice -+19 mencoder -oac copy -o
ally-preview.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vpass=2
-vop scale=640:480 -npp lb -ss 0:20 -endpos 0:30 /space/first.vob
Nachdem MEncoder fertig ist, sehen wir uns die Vorabansicht an.
Berichtige, sofern nötig, die Einstellungen. Wiederhole die Erstellung der
Vorabansicht, bis Du zufrieden damit bist.
4.3.4. Erstellen der endgültigen AVI-Datei (beide Durchgänge)
Die Aufrufe der endgültigen Optionen lassen einfach die Optionen
-ss und -endpos weg. Unglücklicherweise kann
MEncoder nicht mehrere Eingabe-Dateien von der Kommandozeile lesen.
Daher verwenden wir das cat-Kommando. Gib einfach cat
/space/*vob | nice -+19 mencoder -oac copy -o /dev/null -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=1000:vhq:vpass=1:vqmin=1:vqmax=31 -vop scale=640:480 -npp
lb -
cat /space/*vob | nice -+19 mencoder -oac copy -o ally.avi -ovc lavc
-lavcopts vcodec=mpeg4:vbitrate=1000:vhq:vpass=2:vqmin=1:vqmax=31 -vop
scale=640:480 -npp lb -
ein.
Beachte, dass -ss
scheinbar nicht zusammen mit der cat *vob | mencoder...-Variante
funktioniert. Also muß für die Vorschau einfach die erste VOB-Datei
als letztes Argument angegeben werden (siehe oben)
| Inhaltsverzeichnis --> nächstes Kapitel <-- vorheriges Kapitel | Diese Anleitung wurde von Moritz Bunkus geschrieben. |