AviSynth (AVI SYNTHesizer) ist ein frameserver, ein Programm das im Hintergrund frames (Einzelbilder) einem anderen Programm zur Verfügung stellt.
Was AviSynth so einzigartig macht, ist die Tatsache, das es sich nicht um ein stand-alone Programm handelt, das eine Ausgabedatei erstellt, sondern eben nur die Schicht zwischen der Videodatei und einer anderen Video-Applikation.
AviSynth funktioniert so: Zuesrt wird eine einfache Textdatei mit speziellen Befehlen darin erstellt, das sogenannte Skript. Diese Befehle beziehen sich auch ein oder mehrere Videos und die Filter, die man darauf anwenden möchte. Dann startet man eine Videoanwendung, wie VirtualDub, und öffnet das Skript. Jetzt kommt AviSynth ins Spiel und öffnet die Videos, auf die verwiesen wird, führt die angegebenen Filter aus und gibt das Ergebnis an die Anwendung zurück. Die Anwendung merkt gar nicht, dass sie von AviSynth bedient wird, sondern sieht ein gefiltertes AVI als ob es als Datei auf der Festplatte vorliegt.
Es gibt fünf Hauptgründe für die Verwendung von AviSynth:
AviSynth bis zu Version v1.0b wurde von Ben Rudiak-Gould (http://math.berkeley.edu/~benrg/avisynth.html) entwickelt. Nachdem Ben die Entwicklung aufgab, wurde sie von Edwin van Eggelen weitergeführt (http://www.videotools.net/uk/download.php)
Juli 2002 gab es ein neues sourceforge Projekt, in dem AviSynth gründlich überarbeitet und erweitert wurde. Die aktuelle, recht stabile und fehlerfreie Version ist v2.0.6
Q3: Wie findet man die Version heraus?
In eine Textdatei die folgende Zeile schreiben:
version()
und als "version.avs" abspeichern. Beim Öffnen z.B. mit dem Windows Media Player wird die Version angezeigt und man hat auch die Gewissheit, dass AviSynth korrekt installiert ist.
Q4: Wie lädt man jetzt so eine Skript-Datei ein einen Encoder oder eine Anwendung?
Einfach die AVS-Datei öffnen, als ob sie ein AVI wäre. Das geht mit den meisten Programmen, die AVIs öffnen können (es gibt Ausnahmen), auch wenn die Endung AVS nicht als Videodatei vorgeschlagen wird.
Q5: Probleme bei verschiedenen Encodern?
- VFAPI plugin ("ReadAVS") installieren
- DirectShow Filter in TMPGEnc deaktivieren
- Als letzten Befehl im Skript "ConvertToRGB24()" hinzufügen
- Als letzte Zeile im Skript "ResampleAudio(44100)" hinzufügen, auch wenn im AVS gar kein Audio vorkommt
Q7: Wie kann das Audio dazugeladen werden?
Das funktioniert für WAV und MP3-Dateien mit einem WAV-header.
WAVSource("d:\filename.wav")
Q8: Wie kann man jetzt Video und Audio verbinden?
video = AVISource("d:\filename1.avi")
audio = WAVSource("d:\filename2.wav")
AudioDub(video, audio)
Q9: Was bedeuten die unterschiedlichen Farbformate RGB/YUV und was heisst das für die verwendeten Filter?
Es sind einfach zwei unterschiedliche Arten, wie die Farbinformation intern abgespeichert sind.
RGB speichert für jede Grundfarbe Rot, Grün, Blau einen Wert.
YUV speichert einen Wert für die Helligkeit Y und für zwei Farb-Achsen U und V, wobei die Farbinformation immer für 2 horizontale Pixel gilt.
Manche Filter funktionieren nur in einem bestimmten Farbformat.
Es gibt allerdings die Funktionen
ConvertToYUY2()
ConvertBackToYUY2()
ConvertToRGB()
ConvertToRGB24()
ConvertToRGB32()
um zwischen den Formaten zu wechseln, was natürlich so selten wie möglich gemacht werden sollte.
Wenn möglich, sollte man beim YUY2-Format bleiben, da dieses am schnellsten
ist.
Q10: Wie kann man ein plugin in AviSynth laden?
Mittels "LoadPlugin". Hier ein Beispiel:
LoadPlugin("d:\mpeg2dec.dll")
mpeg2source("d:\filename.d2v")
Weiters gibt es eine automatische Plugin-Ladefunktion. Alle Dateien in PlugIn-Verzeichnis
werden automatisch geladen.
Vorsicht, nur funktionierende Plugins in dieses Verzeichnis speichern.
Das Verzeichnis ist in der Registry gespeichert:
[HKEY_LOCAL_MACHINE\SOFTWARE\Avisynth]
"PluginDir"="c:\\program files\\avisynth\\plugins"
Q11: Welche externen Filter gibt es und wo kann man sie herbekommen?
sauron.mordor.net/dgraft ist die Homepage von Donald Graft. Dort findet man viele Filter und Links.
forum.doom9.org DAS Forum für AviSynth
www.doom9.org viele Links und Download-Bereich
Q12: Was ist mpeg2dec.dll und wo kann man die neueste Version bekommen?
mpeg2dec.dll/mpeg2dec2.dll sind plugins, mittels denen AviSynth MPEG2-Dateien lesen kann. Mpeg2source erzeugt ein Video im YUY2-Format.
mpeg2dec.dll gibt es auf der Homepage von Dividees, mpeg2dec2.dll (etwas fehlertolerantere Version) gibt es auf der Homepage von trbarry.