MONSTER-TUT AVI²DVDR by CCS
PART 2: Der Ferrari unter den Codern...CinemaCraftEncoder...der CCE
Die Ausgangsbasis für das Umwandeln des MPEG4-Streams in einen Standard-konformen MPEG2-Stream ist in Teil 1 geschaffen worden. Der nunmehr vorliegende AVI-Stream dient uns als Input für das weitere Vorgehen...Re-Coden mit dem CCE unter Zuhilfenahme eines Frameserver (AVISYNTH).
Schritt 1: Vorbereiten zum Coden - Schreiben des AVISYNTH-Skriptes...
Nich zucken...ein Avisynth-Skript ist lediglich ein kleines, textbasiertes Skript, welches die zu vollziehenden Schritte pro Frame definiert. Dies können z.B. Größenänderungen am Bild oder auch die Frame-Anzahl selber sein (wir haben es hier meist mit NTSC-Quellmaterial zu tun, welches mit 23.976 frames per second gecodet wurde). Ein Frameserver macht im Grunde nichts anderes, als jeden Frame einer Filmspur entsprechend den Vorgaben zu manipulieren. Diese manipulierten Frames werden dann vom CCE zu MPEG2 codiert.
Nehmen wir unser Beispiel...NTSC-Quellmaterial, welches im Format 2.35:1 codiert wurde und nun zu PAL (25 fps) auf 720*576 Bildpunkte zu bringen ist. Um dieses umzusetzen, benötigen wir den Frameserver Avisynth, ein entsprechendes Skript und anschließend den CCE.
-> Start EDITOR (der von XP....) -> folgende Zeilen eingeben...
LoadPlugin(LW:..\mpeg2dec2.dll) #lädt die erforderliche MPEG-DLL [DEC, DEC2 oder DEC3]
AVISource(LW:..\TEST.avi) #gibt die Quelle des AVI-Streams an
AssumeFPS(25) #macht aus den 23.976 fps 25 fps (die Laufzeit des Films wird kürzer!!!)
BicubicResize(720,336,0.6) #Verfahren, mit welchen re-codiert wird sowie die Bildpunkte für den eigentlichen Film
AddBorders(0,120,0,120) #fügt ober- und unterhalb des eigentlichen Streams schwarze Balken hinzu...zu den Größen, s.u.
Dieses Textfile nun als -> *.AVS -> SPEICHERN...es wird als Eingabe für den CCE benötigt.
EXKURS: Aspect Ratio...
Die Aspect Ratio (= Darstellungs-Verhältnis von Höhe zu Breite) eines Filmes ist eine Wissenschaft für sich ;-) . Dennoch werde ich - ganz kurz - versuchen, die für unsere hier benötigten Zwecke eine Erläuterung darzureichen. Filme auf DVD gibt es in verschiedenen Formaten: 1.33:1, 1.66:1, 1.85:1, 2.35:1 und 2.40:1 sind wohl die gängigsten. Das berühmte 4:3 (1.33:1) kennt wohl jeder...gerade ältere Disney-Filme nutzen dieses Format. Ab 1.66:1 geht das eigentliche 16:9-Format los (hier 16:10), wobei 1.85:1 und 2.35:1 die am meisten genutzten Darstellungs-Formate sind. Soll heißen, die Höhe eines Bildausschnittes verhält sich zu Breite dieses Ausschnittes wie eben 1:2.35 (d.h. das Bild ist 2.35-fach breiter als seine Höhe).
Nun ist in unserem konkreten Fall - wie aus der NFO zu sehen - der Bildausschnitt 640*272, was einem Verhältnis von 1:2.3529...also 1:2.35 entspricht. Diese Widescreen-Verhältnis wollen wir natürlich weitestgehend auch für unsere DVDR nutzen; also müssen wir innerhalb des Avisynth-Skriptes dafür sorgen, daß dieses Ansichtsverhältnis - projeziert auf die DVD-Standardbildgröße von 720*576 Bildpunkte - auch so umgesetzt wird. Würde man einfach das Bild zu 720*576 umwandeln lassen, würde der Effekt ein wahres Fuerwerk an "Eierköpfen" und langezogenen Gesichtern sein - das Ansichtsverhältnis wäre verhunzt! Also muß nun herausgefunden werden, welches Verhältnis - bezugnehmen auf 720*576 - zu wählen ist. Dazu teilt man einfach die 720 durch 2.35 und erhält einen Wert um 306. Der resultiernde Wert sollte durch 8 teilbar sein und für ein optimales Bild sorgen. Natürlich wird man am Anfang etwas friemeln, um den richtigen Wert hinzubekommen...mein Ausgangwert ist für alle 2.35:1-Streifen -> 336. Man kann das fertige Avisynth-Skript z.B. auch in VirtualDubMod laden und dann durch vor- und zurückspulen erkennen, ob das gewählte Ansichtsverhältnis so OK ist.
Wir wissen jetzt, daß 336 Bildpunkte in der Höhe den Bildbereich markieren; das Bild hat aber eine Gesamthöhe von 576 Bildpunkten, weshalb der Rest mit schwarzen Balken aufzufüllen ist: 576-336 = 240, diese geteilt durch zwei (oben/unten) macht -> 120 Bildpunkte gehen für die schwarezn Balken drauf!
Konstatieren wir: 720 Bildpunkte breit, 336 Bildpunkte für den Film, jeweils 120 Bildpunkte für die schwarezn Balken....diese Werte sind im Avisynth-Skript einzutragen.
Schritt 2: Parametrisieren des CCE...
Der CinemaCraftEncoder gilt nicht umsonst als der Codierer schlechthin. Gerade im MPEG2-Umfeld gibt es zZ nichts besseres! Der CCE kommt in verschiedenen Ausführungen daher:
Es empfiehlt sich, einzelne Profile (oder TEMPLATES) anzulegen, um die Einstellungen für das Re-Coden nicht jedes Mal wieder von Hand machen zu müssen. Es hat sich bei mir bewährt, zumindest für die Rekodierung von AVIs ein Template vorzuhalten, in dem die wichtigsten Parameter bereits gesetzt sind (so u.a. Anzahl Durchläufe, GOPs, etc.). Nachdem das AVS-File erfolgreich gespeichert wurde, kann dieses per Drag'n'Drop in den CCE gezogen werden (ich verwende hier die Version 2.50.01...es gibt inzwischen weitaus neuere...mit den einen oder anderen Feinheiten).
Die oben zu sehenden Werte sind natürlich individuell einstellbar und man sollte schon dazu übergehen, diese den eigenen Bedürfnissen entsprechend anzupassen. Die hier aufgezeigten Werte sind lediglich Vorschlagswerte und werden vielleicht nicht allen Konvertierungen gerecht. Diese Zusammesnstellung habe ich als Template ("16:9 - 3pass VBR") abgespeichert , so daß sie mir immer wieder zur Verfügung steht (ist im übrigen selbstverständlich auch für DVDRips zu verwenden).
Schritt 3: Einfügen des Skriptes und Starten des Re-Codens...
Per Drag'n'Drop nun das AVS-File in den CCE ziehen -> rechte Maustaste -> EDIT: Bitrate AVG...muß angepaßt werden...und zwar wird diese folgendermaßen berechnet: ...oder man nimmt einen BitrateCalculator...der tut es auch...noch nen Hinweis: Bitte nicht zu knapp berechnen und jedes Byte aus dem DVD-Rohling rausquetschen...ein paar MB sollten immer als Overhead zur Verfügung stehen....dann alles -A> SPEICHERN und einen Namen -> JOB.ECL vergeben...-> rechte Maustaste -> ENCODE...nun öffnet sich ein zweites Fenster, welches den Fortschritt des Kodierens zeigt (zuerst wird ein Info-File erzeugt - JOB.VAF - erst anschließnd wird der eigentliche Streifen re-codiert)...dies kann - je nach Rechnerleistung und Anzahl bzw. Art der Paramter des Avisynth-Skriptes - mehrere Stunden dauern...ansprechende Werte (= Speed) für einen AMD Athlon XP 1.600+ sind im Bereich zwischen 0.85 und höher zu finden ;-) (soll heißen, daß der Film bei 1.0 in Echtzeit - also 25 fps - re-codiert wird; die anderen Werte entsprechend)....bei 4 Durchläufen (VAF + 3pass) sollte also mit ca. 4-facher Filmlänge als Kodierzeit gerechnet werden.
Nach dem Kodieren schließt sich der Kontrollmonitor des CCE - sofern kein Fehler aufgetreten ist! Nachdem die Bildquelle nunmehr auf 25 fps im richtigen Format (720*576) gebracht wurde, wenden wir uns im nächsten Schritten den anzupassenden Audio-Spuren zu.
...Weiter zu PART 3 - Die Audio-Spuren....
...Zurück zu PART 1 - VirtualDubMod...
Version 1.0 vom 30.11.2003
[ ©2003 CCS ]