AviSource
AVISource / OpenDMLSource / AVIFileSource / WAVSource
AVISource (字符串 文件名 [, ...], 布爾 "audio" = true, 字符串 "pixel_type" = YV12, [字符串 fourCC])
OpenDMLSource (字符串 文件名 [, ...], 布爾 "audio" = true, 字符串 "pixel_type" = YV12, [字符串 fourCC])
AVIFileSource (字符串 文件名 [, ...], 布爾 "audio" = true, 字符串 "pixel_type" = YV12, [字符串 fourCC])
WAVSource (字符串 文件名 [, ...])
本頁翻譯:lititude 校對:Dgwxx
AVISource 把引號內的一個或幾個文件名作為參數,用Video-for-Windows(即vfw)的AVIFile接口或AviSynth的內置OpenDML解碼器(來自VirtualDub) 讀取。這個濾鏡可以讀取有AVI文件處理程序的任何文件 。不僅包括AVI文件,也包括WAV文件,AVS(AviSynth腳本) 文件,和VDR(VirtualDub frameserver ) 文件。如果你用了多個文件名作為參數,那麼這些剪輯就會用UnalignedSplice連接在一起。Audio參數是可選項,默認值是 true。
AVISource濾鏡會檢查文件,確認類型並送到AVI文件處理器或是OpenDML中適當的地方。如果你的某個處理程序有問題,你也可以用OpenDMLSource和AVIFileSource濾鏡,可以強制使用一個處理程序。兩個處理程序都可以讀取普通的(小於2GB)的AVI文件,但是只有OpenDML處理程序才能讀取更大的AVI文件,只有AVIFile處理程序才能讀取像WAV,VDR和AVS等其他文件類型。
v2.04之前,WAVSource只是AVIFileSource的一個別名。在以後的版本中,WAVSource不再試圖打開視頻流的文件了。如果一個AVI文件中的視頻流部分損壞而音頻仍然可用,或你的系統不支持解碼視頻部分,這個濾鏡會很有用的。
從v2.04起,開始內置的支持ACM (Audio Compression Manager)音頻(比如mp3-AVIs )。AVISource也不再能夠打開WAV文件了,用WAVSource卻可以做到。
從v2.06起,pixel_type 參數(默認是YUY2)允許你選擇解碼器輸出的顏色空間類型。有效的值是"YUY2", "RGB32" 和 "RGB24"。如果省略,AviSynth會用第一個解碼器支持的格式(in the 順序是: YUY2, RGB32, RGB24)。這個參數不影響無壓縮格式(YUY2, RGB32 或 RGB24)的視頻,因為那種情況下不用解碼器。從v2.5開始,默認的pixel_type 參數改成了YV12。也就是說:如果你不指定什麼參數,AVI就會試著輸出YV12,如果不行的話就試YUY2,再不行就試RGB。
由於一個DivX的bug(5.02或以前版本),在AviSynth v2.5中載入DivX剪輯有的時候顏色會出現錯誤(色度通道U和V是相反的)。你可以用SwapUV來改正。
從v2.53起,AviSource也可以打開Type-1型DV-AVI(只是視頻,不含音頻)。
從v2.55起,添加了一個參數fourCC。
在用AVISource時,有些MJPEG/DV編碼器不提供正確的CCIR 601適應的 輸出。如果輸入和輸出的色彩格式不一樣,這個問題就會出現。比如輸入的色彩格式是YUY2,但輸出的是RGB,反之也是這樣。有兩種方法可以解決:
1)強制輸出的輸入的色彩格式一直。比如(如果輸入的是RGB)
AVISource("file.avi", pixel_type="RGB32")
2)用ColorYUV濾鏡修正
AVISource("file.avi").ColorYUV(levels="PC->TV")
一些值得參考的帖子 MJPEG codecs DV codecs
例子
AVISource("d:\capture.avi") # 提醒C语言程序员: 只用一个反斜线。 AVISource("c:/capture/00.avi") # forward slashes work too WAVSource("f:\soundtrack.wav") # 这个工作 WAVSource("f:/soundtrack.wav") # 这个也工作 AVISource("cap1.avi","cap2.avi") # 和 AVISource("cap1.avi")+AVISource("cap2.avi")一样 AVISource("cap.avi",false,"RGB32") # 禁用声音并要求输出RGB32颜色空间。 AviSource("cap.avi", false, fourCC="CDVC") # 用Canopus DV Codec打开一个DV剪辑 AviSource("cap.avi", false, fourCC="XVID") # 用XviD解码器打开一个avi(比如是DivX3编码的)
更新
v2.55 加入fourCC选项