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