Frameserver
Bei der Verarbeitung von Videos entstehen sehr große Dateien.
Im günstigsten Fall belegen sie nur jede Menge Plattenplatz,
was bei den heutigen Plattengrößen und -preisen keine
so große Rolle mehr spielt. Bei langen Videos kann es jedoch
auch vorkommen, daß diese aufgrund diverser Beschränkungen
(z.B. maximale AVI-File Größe) gar nicht mehr in einer
Datei gespeichert werden können.
Die Lösung für dieses Problem ist die Verwendung von
Frameservern. Diese Technik erlaubt es, Videodaten von einem Programm
(dem Frameserver) an ein anderes Programm (den Client) direkt zu
übergeben, ohne irgendwelche Zwischendateien anzulegen. Ein
weiterer Vorteil von Frameservern ist, daß sie auch verkettet
werden können. So ist es z.B. möglich, Videodaten per
Avisynth-Frameserver von Adobe Premiere an VirtualDub zu übergeben,
wo sie weiterverarbeitet und dann per VirtualDub-Frameserver z.B.
an einen MPEG-Encoder (TMPGEnc) weitergegeben werden.
Die bekanntesten Frameserver sind Avisynth und VirtualDub. In den
folgenden Abschnitten wird die Installation und Verwendung dieser
Frameserver erläutert.
top
Avisynth
Das Programm Avisynth wurde bis zur Version 0.3b von Ben Rudiak-Gould
entwickelt. Seit dieser sich auf dem Selbstfindungstrip befindet,
hat man allerdings nichts mehr von ihm gehört. Mittlerweile
haben sich einige andere Leute (z.B. Donald Graft) mit der Weiterentwicklung
beschäftigt. Diese Entwicklung erfolgt jedoch leider unkoordiniert,
was verschiedene neue Versionen von Avisynth oder Ableger zur Folge
hat. Aus diesem Grund empfehle ich, zunächst die ursprüngliche
Version zu verwenden. Unter Sourceforge gibt es eine Opensource
Weiterentwicklung von Avisynth, die mittlerweile bei Version 2.5
angelangt ist. Leider unterstützt diese Version nicht das Frameserving
aus Premiere oder anderen Programmen mittels IPC.
Für den Einsatz mit Premiere werden folgende Programmteile
benötigt:
Installation des Grundprogramms
Entpacken Sie die Datei avisynth-0.3.zip in ein temporäres
Verzeichnis. Kopieren Sie die Datei avisynth.dll in ihr Windows-Systemverzeichnis
(z.B. C:\WINDOWS\SYSTEM). Führen Sie danach die Datei install.reg
per Doppelklick aus oder markieren Sie die Datei im Explorer und
wählen Sie mit der rechten Maustaste den Befehl "Zusammenführen"
aus. Dadurch werden die notwendigen Registry-Einträge vorgenommen.
Installation der Adobe Premiere Plugins
Entpacken Sie die Datei avisynth-premiere-0.25.zip in ein temporäres
Verzeichnis. Kopieren Sie die beiden Dateien CM-Avisynth.prm und
IM-Avisynth.prm in das Premiere Plugin Verzeichnis.
Verwendung von Avisynth standalone
Avisynth basiert auf Script-Dateien, in denen zunächst eine
Video-Quelldatei festgelegt wird. Diese Videodaten können dann
mit diversen Befehlen und Filtern bearbeitet werden. Die Script-Dateien
haben die Endung .AVS und können von anderen Programmen wie
AVI-Files geöffnet werden. Die in einem Script angegebene Quelldatei
wird erst dann gelesen und verarbeitet, wenn ein Client-Programm
auf die Script-Datei zugreift. Hier ein Beispiel für eine einfache
Script-Datei, die ein AVI-File öffnet und die Größe
auf SVCD-Format ändert:
AVISource ("C:\DATA\TEST.AVI")
BicubicResize (480,576)
Wenn Sie diese Datei z.B. mit VirtualDub öffnen, erhalten
Sie die Daten aus TEST.AVI in der Auflösung 480x576.
Verwendung von Avisynth mit Premiere
Wir können nun Avisynth auch zur Übertragung von Videodaten
von Adobe Premiere zu einem anderen Programm (z.B. VirtualDub) ohne
den Umweg über eine Exportdatei verwenden. Dazu wird ein Avisynth-Script
mit dem Namen PREMIERE.AVS mit folgendem Inhalt angelegt:
IPCSource ("avisynth.tmp")
Diese Datei muß nur einmal angelegt werden und kann immer
wieder für den Export von Videos aus Premiere heraus verwendet
werden. Daher sollte man sie an zentraler Stelle (z.B. im Premiere
Verzeichnis) speichern.
In Premiere wechseln wir zur Timeline und wählen im Menü
den Befehl "Datei/Exportieren/Film" aus. Es erscheint
ein Dialogfenster, in dem Sie den Namen der Exportdatei angeben
können. Vorher müssen Sie aber noch über den Button
"Einstellungen" die Exportparameter festlegen.
Zunächst
werden die allgemeinen Einstellungen angezeigt. Hier wird als Dateiformat
"Link to Avisynth" ausgewählt. Der zu exportierende
Bereich kann nach Belieben auf den Arbeitsbereich oder das gesamte
Video beschränkt werden. Wichtig sind noch die beiden Häkchen
zum Exportieren von Video und Audio.
Als
nächstes wenden wir uns den Videoeinstellungen zu. Hier muß
lediglich darauf geachtet werden, daß der Film in seiner ursprünglichen
Auflösung exportiert wird. Eine Änderung der Auflösung
sollte man externen Programmen überlassen. Die Framerate entspricht
dem PAL Standard und wird ebenfalls nicht geändert. Alle anderen
Optionen in diesem Fenster sind deaktiviert.
Natürlich
dürfen auch die Audioeinstellungen nicht fehlen. Hier werden
die voreingestellten Werte des Films, in unserem Beispiel 44 KHz
16 Bit Stereo, beibehalten.
Bei den Keyframe- und Renderoptionen muß darauf geachtet
werden, daß die Halbbildeinstellung der des Films entspricht.
Alle anderen Optionen in diesem Dialogfenster bleiben deaktiviert.
Wir bestätigen die Einstellungen mit OK und kehren zurück
zum Exportdialog. Hier wird jetzt der Name der Exportdatei angegeben.
Dieser muß der Angabe im Avisynth-Script entsprechen, also
avisynth.tmp.

Im unteren Bereich des Fensters werden noch einmal die eingestellten
Parameter angezeigt. Wir starten nun den Frameservermodus mit dem
Button "Speichern".
Es
wird ein Statusfenster angezeigt, das noch einmal eine kurze Beschreibung
des Befehls enthält, der in einem Avisynth-Script stehen muß,
über das die exportierten Videodaten eingelesen werden sollen.
Genau diese Zeile haben wir in unserer zuvor schon angelegten Datei
PREMIERE.AVS stehen. Wir können diese Datei jetzt mit einem
Client-Programm (z.B. VirtualDub) öffnen und die Videodaten
weiterverarbeiten. Sobald in dem Client-Programm Videodaten gelesen
werden, wird der Exportprozeß in Premiere gestartet und liefert
die Daten. Bei VirtualDub erfolgt der Lesezugriff bzw. das Verarbeiten
erst beim Abspeichern der Daten oder beim Starten des eigenen Frameservers.
VirtualDub
VirtualDub von Avery Lee bietet vielfältige Funktionen zum
Capturn und Verarbeiten von Video-Material. Unter anderem kann es
wie Avisynth als Frameserver für andere Programme agieren und
somit helfen, überflüssige temporäre Dateien bei
der Videoverarbeitung zu vermeiden.
Die aktuelle Version kann von der Webseite www.virtualdub.org
heruntergeladen werden. Dort findet man auch einiges an Dokumentation
und weiterführenden Links.
Installation
Die Installation ist sehr einfach. Entpacken Sie die heruntergeladene
Datei in ein beliebiges Verzeichnis und erstellen Sie im Startmenü
oder auf dem Desktop eine Verknüpfung zu der Datei virtualdub.exe.
Abschließend sollten Sie noch das Programm auxsetup.exe ausführen,
das für einige Frameserver-Anwendungen benötigt wird.
Verwenden des Frameservers
Öffnen Sie zunächst das ein AVI-File, das Sie bearbeiten
wollen. Dabei kann es sich natürlich auch um ein Avisynth-Script
handeln. Wenn Sie z.B. die im vorherigen Abschnitt erzeugte PREMIERE.AVS
Datei öffnen, erreichen Sie eine Verkettung der Frameserver.
Die Daten werden dann aus Premiere exportiert, per Avisynth an VirtualDub
übertragen und von dessen Frameserver z.B. an TMPGEnc zur Umwandlung
in MPEG geliefert.
Nach dem Öffnen einer Quelldatei können Sie nun wie gewohnt
die Verarbeitungsparameter in VirtualDub anpassen oder Filter hinzufügen.
Um nun den Frameserver zu starten, wählen Sie aus dem Menü
den Befehl File/Start Frameserver aus. Es erscheint das folgende
Fenster, in dem Sie dem Frameserver einen Namen geben müssen.

Die Angabe hier spielt keine Rolle sodaß der vorgegebene
Wert übernommen werden kann. Das Eingabefeld darf nur nicht
leer bleiben. Nach der Bestätigung mit dem Button "Start"
erscheint ein weiteres Dialogfenster, in dem die Schnittstellendatei
(analog zu einem Avisynth-Script) angegeben werden muß.

Die Datei, die Sie hier angeben, kann von einem Client-Programm
geöffnet werden, um auf die von VirtualDub gelieferten Videodaten
zuzugreifen. Nach dem Bestätigen der Eingabe mit dem Button
"Speichern" wird der Frameserver gestartet:

Wie schon beim Avisynth-Frameserver liefert VirtualDub
die Daten, sobald ein Client-Programm sie anfordert, d.h. lesend
darauf zugreift. Sie können nun die Datei virtualdub.vdr aus
unserem Beispiel mit TMPGEnc öffnen und z.B. in MPEG-2 umwandeln.
Nachdem das Client-Programm seine Verarbeitung abgeschlossen
hat, können der/die Frameserver mit dem Button "Stop serving"
beendet werden.
top
|