## AVISource / OpenDMLSource / AVIFileSource / WAVSource

`AVISource` (string filename [, ...], bool "audio" = true, string "pixel_type" = YV12, [string fourCC])
`OpenDMLSource` (string filename [, ...], bool "audio" = true, string "pixel_type" = YV12, [string fourCC])
`AVIFileSource` (string filename [, ...], bool "audio" = true, string "pixel_type" = YV12, [string fourCC])
`WAVSource` (string filename [, ...])

`AVISource` bere jako argument jedno nebo více jmen souborů v uvozovkách, a čte soubor(y) s použitím buď rozhraní "AVIFile" Video-for-Windows, nebo v AviSynthu vestaveným OpenDML kódem (převzatého z VirtualDubu). Tento filtr může číst jakýkoliv soubor pro který existuje AVIFile handler (zpracovatel). To zahrnuje nejen AVI soubory ale také WAV soubory, AVS (skripty AviSynthu) soubory, a VDR (VirtualDub frameserver) soubory. Pokud zadáte jako argumenty několik jmen souborů, klipy budou spojeny dohromady pomocí `UnalignedSplice`. Logický bool argument "audio" je volitelný a výchozí je `true`.

Filtr `AVISource` zkoumá soubor, aby určil jeho typ a posílá ho příslušnému zpracovateli - buď AVIFile nebo OpenDML. V případě že máte problémy s jedním nebo s druhým zpracovatelem, můžete také použít filtry `OpenDMLSource` a `AVIFileSource`, které vynutí použití jednoho nebo druhého zpracovatele. Každý ze zpracovatelů může číst obyčejné (< 2GB) AVI soubory, ale pouze OpenDML zpracovatel může číst větší AVI soubory, a pouze AVIFile zpracovatel může číst další typy jako WAV, VDR a AVS. Je zde vestavěna podpora pro ACM (Audio Compression Manager) audio (např. mp3-AVI).

`WAVSource` může být použit k otevření WAV souboru, nebo audio streamu z AVI souboru. To může být použito například, když je váš video stream poškozen nebo jeho kompresní metoda není podporována vaším systémem.

Parametr pixel_type (výchozí je YV12) vám umožní vybrat výstupní formát dekompresoru. Dovolené hodnoty jsou "YV12", "YV411", "YV16", "YV24", "YUY2", "Y8", "RGB32" a "RGB24". Pokud je parametr vynechán, AviSynth použije první formát podporovaný dekompresorem (v následujícím pořadí: YV12, YV411, YV16, YV24, YUY2, Y8, RGB32 a RGB24). Tento parametr nemá efekt pokud je video nekomprimovaném formátu (YUY2, RGB32 nebo RGB24), protože nebude použit žádný dekompresor. Jinými slovy: jestliže něco nespecifikujete, zkusí výstupní AVI jako YV12, pokud to není možné zkusí YV411 a pokud ani to není možné zkusí YV16, atd ...

Pokud načteme DivX klip Avisynthem v2.5 budou barvy někdy zdeformovány (barevné kanály U a V jsou prohozené), kvůli chybě DivX (5.02 a starší). K nápravě můžete použít `SwapUV`.

Od v2.53 `AVISource` může také otevřít vstupní video DV typ 1 (pouze video, ne audio).

Od v2.55, je přidána volba fourCC . FourCC, je FOUR Character Code (čtyřpísmenný kód) na začátku obsahu mediálního souboru, většinou spojovaný s avi, který říká vašemu systému, který kodek má být použit pro dekódování souboru. Můžete ho použít pro vynucení AviSource k otevření avi souboru s použitím jiného kodeku. Seznam FOURCC najdete zde . Jako výchozí se použije fourCC z avi souboru.

Některé MJPEG/DV kodeky nedávají správný výstup odpovídající standardu CCIR 601 při použití `AVISource`. Problém může vznikat, je-li barevný formát vstupu a výstupu kodeku rozdílný. Například je-li vstupní barevný formát YUY2, zatímco výstupní barevný formát je RGB, nebo naopak. Jsou dva způsoby řešení:

1) Vynutit stejný výstup jako je vstupní barevný formát. Tak například (pokud je vstup v RGB):

    AVISource("file.avi", pixel_type="RGB32")

2) Opravit pomocí filtru ColorYUV:

    AVISource("file.avi").ColorYUV(levels="PC->TV")

Některá související vlákna z fór:
MJPEG codecs
DV codecs

Například:

    # poznámka programátora C : obrácená lomítka nejsou dublovány; klasická lomítka také fungují
    AVISource("d:\capture.avi")
    AVISource("c:/capture/00.avi")
    WAVSource("f:\soundtrack.wav")
    WAVSource("f:/soundtrack.wav")

    # následující je stejné jako AVISource("cap1.avi")+AVISource("cap2.avi"):
    AVISource("cap1.avi","cap2.avi")

    # vypíná audio a požaduje RGB32 dekompresi
    AVISource("cap.avi",false,"RGB32")

    # otvírá DV s použitím Canopus DV kodeku
    AviSource("cap.avi", false, fourCC="CDVC")

    # otvírá avi (například DivX3) s použitím XviD kodeku
    AviSource("cap.avi", false, fourCC="XVID")

    # spojuje dva klipy z nichž jeden nemá audio;
    # při spojování musí být klipy kompatibilní (mají stejné vlastnosti videa a audia):
    A = AviSource("FileA.avi")
    B = AviSource("FileB.avi") # Žádný audio stream
    A ++ AudioDub(B, BlankClip(A))

Některé kompresní formáty stanovují omezení na počet volání AviSource() , která mohou být umístěna ve skriptu. Někteří lidé mají zkušenost s tímto omezením s méně než 50 příkazy AviSource(). Viz diskuze.

Změny:

v2.55 | Přidána volba fourCC.

`$English Date: 2009/03/08 15:07:20 $`

`Český překlad 18.9.2009`