AVISource / OpenDMLSource / AVIFileSource / WAVSource

AVISource(string filename [,...], bool "audio", string "pixel_type")
OpenDMLSource(string filename [,...] [, bool "audio"] [, string "pixel_type"])
AVIFileSource(string filename [,...] [, bool "audio"] [, string "pixel_type"])
WAVSource(string filename [,...])

AVISource liest die Dateien entweder mit dem Video-for-Windows "AVIFile" Interface oder mit dem in AviSynth eingebauten OpenDML-Code (von VirtualDub). Dieser Filter kann jedes AVI lesen, wofür ein AVIFile Handler vorhanden ist. Es können also nicht nur AVI sondern auch WAV, AVS (AviSynth Skript) und VDR (VirtualDub Frameserver) Dateien geöffnet werden. Auch DV Typ1 AVIs können geöffnet werden, allerdings nur das Video ohne Ton.

Der AVISource Filter untersucht die Datei und bestimmt den Typ. Dann gibt er die Datei entweder an den AVIFile Handler oder den OpenDML Handler weiter. Bei Problemen mit einem der Handler kann auch direkt OpenDMLSource oder AVIFileSource verwendet werden, welche die Verwendung eines bestimmten Handlers erzwingen. Jeder kann normale AVIs (< 2GB) lesen, nur der OpenDML Handler kann auch größere AVI`s lesen. Nur der AVIFile Handler kann andere Typen wie WAV, VDR und AVS lesen.
WAVSource lädt nur den Ton, das Video wird nicht geöffnet. Das kann nützlich sein, um den Ton auszulesen, wenn das Video defekt ist oder kein passender Dekompressor (Codec) installiert ist.

Parameter:
filenameHier gibt man die Quelldatei an. Wenn mehrere Dateien angegeben werden, werden diese mit UnalignedSplice aneinander gefügt.
audioMit diesem optionalen Parameter kann man steuern, ob eine Tonspur geladen werden soll oder nicht. Standard ist true.
pixel_trueMit diesem optionalen Parameter kann man dem Dekompressor mitteilen, welches Farbformat verwendet werden soll. Erlaubte Werte sind YV12, YUY2, RGB32 und RGB24. Falls nicht angegeben, wird AviSynth das erste verfügbare Farbformat vom Dekompressor (in dieser Reihenfolge: YV12, YUY2, RGB32, RGB24) verwenden. Dieser Parameter hat keine Auswirkungen, wenn das Video in einem unkomprimierten Format (YUY2, RGB32 oder RGB24) vorliegt, da dann kein Dekompressor verwendet wird. Standard ist YY12.

Manchmal sind die Farben verzerrt bei Laden einer DivX AVI in AviSynth v2.5, aufgrund eines Fehlers in DivX (5.02 und älter). Du kannst SwapUV verwenden, um die Farben zu korrigieren.

Einige MJPEG/DV Codecs erzeugen kein nach CCIR 601 korrekte Daten, wenn man AVISource nutzt. Das Problem tritt auf, wenn das Farbformat der Quelle und des Zieles unterschiedlich ist.
Z.B. ist die Quelle in YUY2 und das Ziel soll RGB32 sein. So gibt es zwei Möglichkeiten, damit umzugehen:
  1. Erzwinge, dass das Ziel-Farbformat dem Quell-Farbformat entspricht (z.B. Quelle ist RGB): AVISource("Dateiname.avi", pixel_type="RGB32")
  2. Korrigiere den Fehler mit ColorYUV: AVISource("Dateiname.avi").ColorYUV(levels="PC->TV")
Einige Referenz-Threads (englisch): MJPEG codecs | DV codecs

Beispiele:
AVISource("C:\Datei.avi")Hinweis für C Programmierer: keine doppelten Rückwärtsschrägstriche (Backslashes)
AVISource("C:/Datei.avi")Vorwärtsschrägstriche (forward slash) funktionieren auch
WAVSource("C:\Soundtrack.wav")Funktioniert
AVISource("Datei1.avi","Datei2.avi")Ist das gleiche wie AVISource("Datei1.avi")+AVISource("Datei2.avi")
AVISource("Datei.avi",false,"RGB32")Deaktiviert den Ton und erzwingt eine RGB32 Dekompression

Changelog:
v2.53DV Typ1 AVIs werden unterstützt
v2.5Der pixel_type Standard ist nun YV12
v2.06Der pixel_type Parameter wurde hinzugefügt
WAVSource öffnet nun nur noch WAV Dateien
v2.04ACM (Audio Compression Manager) wird unterstützt, um z.b. MP3-AVIs öffnen zu können