AVISynth ist wohl die unbekannteste Killerapplikation für Videoanwendungen unter Windows. Weder auf dem Mac noch unter Linux (wo man so etwas wohl eher erwarten würde) steht unseres Wissens nach eine ähnliches Programm zur Verfügung. Technisch gesprochen handelt es sich hierbei um um einen Frameserver, der von einer extrem flexible Scriptsprache sowie einer einfachen Plugin-Schnitstelle unterstützt wird. Wir wollen in dieser Artikelserie einmal darstellen, was man mit AVISynth und Konsorten alles anstellen kann. Dafür bedarf es natürlich erst einmal einer kleinen Einführung...
In wenigen Worten - Was ist Frameserving?
Durch Frameserving lassen sich Video- und Audiodaten zwischen Programmen leichter austauschen. Das Besondere beim Frameserving: Der Austausch findet über eine virtuelle Datei statt. Ein Frameserver gaukelt einer Applikation (= Client) vor, dass sie es mit einer Videodatei zu tun, die in dieser Form auf der Festplatte gar nicht existiert. Über diesen Umweg ist es beispielsweise möglich, Videodateien zu öffnen, die das Videobearbeitungsprogramm nicht von selbst einlesen kann (z.B. weil ein Codec oder ein Container-Format nicht unterstützt wird). Zusätzlich können viele Frameserver Videodateien während des Durchschleusens durch Scripten verändern. So kann ein Clip z.b. skaliert oder farbkorrigiert werden, bevor er in einem Schnittprogramm landet.
Es gibt viele spezielle Anwendungsfälle für das Frameserving. Die folgenden Szenarien beschreiben beispielhaft drei häufig vorkommende Einsatzgebiete:
Speicherplatz sparen
Wenn man mit mehreren Applikationen arbeitet und z.B. das Ergebnis eines 3D-Programms in ein Schnittprogramm integrieren will, muss man eigentlich die gerenderte Datei erst einmal auf der Festplatte (möglichst verlustfrei) abspeichern und dann in das Videoprogramm exportieren. Beim Frameserving könnte ein 3D-Programm dem Videoschnittprogramm einfach vorspielen, dass es eine Videodatei ist. Scrubbt man dann durch das File, berechnet das 3D-Programm einfach das Frame „live“, welches gerade angezeigt werden soll.
Dies ist der ideale Workflow-Fall, wie er unter anderem auch bei Adobes Dynamic Link oder Blender im Frameserver-Modus implementiert ist.