AviSynth 教程
AviSynth 教程
一、簡述 AviSynth是AVI SYNTHesizer的縮寫,意思就是AVI和成器,是一個Frameserver。(Frameserver就是一個把影像文件從一個程序轉換到另外一個程序的程序, 其間沒有臨時文件或中介文件產生) AviSynth是由Ben Rudiak-Gould首創的一種非常有用的工具,能夠提供各種方式來合併和濾鏡處理影像文件。最獨特的就是AviSynth並不是一個孤立的影像處理程序,而是在影像文件和套用程式之間擔任「中間人」的角色。 AviSynth的基本工作原理是這樣的: 首先建立一個包含特定指令的文本,稱之為「指令碼」(後面為avs),這些指令指定要執行處理的影像文件和濾鏡; 然後執行影像套用程式,比如VD或ND,開啟指令碼。此時AviSynth就開始工作了,開啟指令碼中指定的影像文件,執行特定的濾鏡,並把輸出結果提供給影像套用程式。但影像套用程式並不瞭解AviSynth在後台所做的處理,而認為是直接開啟了一個「被處理過」的影像文件。 因此使用AviSynth有5大優勢: 1. YUV支持:內建濾鏡可以在YUV環境下執行,第三方濾鏡幾乎也相容YUV,所以比起VD、ND的內嵌濾鏡必須在RGB環境下執行要快很多。省卻了一個轉換的程序,將來還可以支持YV。 2. 濾鏡處理:內建許多影像處理濾鏡,比如Resizing,Cropping等。還有大量的第三方強力濾鏡,並可以使用VD以及AviUtl的第三方濾鏡。 3. 突破2G限制:通過AviSynth開啟影像文件就相當於套用程式直接開啟,這樣就可以使本身有2G限制的程序也能突破2G的限制。 4. 開啟格式:AviSynth可以開啟幾乎所有影像文件,包括MPEG和QuickTime。所以當影像套用程式通過AviSynth開啟這些文件時,會被認為是開啟標準的AVI,這樣就可以處理影像套用程式本身並不支持的格式。 5. 節省硬碟空間:AviSynth處理的影像文件在執行程序中直接匯入套用程式,沒有臨時文件,所以節省硬碟空間。 AviSynth現在有3個版本,第一個是Ben Rudiak-Gould的首先編譯的AviSynth v1.0b;在Ben Rudiak-Gould停止開發後,Edwin van Eggelen繼續開發,最新的版本是AviSynth v1.0b6;在2002年7月第二次源碼編寫計劃開始,目前最新的版本是AviSynth v2.0.6,新的v2.5版還在開發中。 最後一個版本比較強大,更新速度快,增加了許多實用的指令,也吸收了一些優秀的第三方濾鏡成為內建濾鏡,強力推薦使用。 二、安裝 AviSynth的安裝可謂簡單,先下載AviSynth,然後解壓縮,把AviSynth.dll複製到Windows\\System下(W98,ME)或Windows\\System32下(W2K,XP),然後執行INSTALL.REG就完成安裝了。 三、內建濾鏡 AviSynth內建了數目繁多的濾鏡,所以只能介紹一些最一般實用的一部分。 1、源文件濾鏡 1 AVISource 匯入AVI,對於DivX或XviD,需要安裝相應的Codec。 例:AVISource(「test.avi」) 2 WAVSource 匯入WAV 例:WAVSource(「test.wav」) 2、處理濾鏡 1 AddBorders 加邊:給影像加黑邊,尤其適用於對16:9的影像加字幕,希望不影響圖像,把字幕加在圖像的下方的情況。參數是整數,順序是左、上、右、下。 例:AddBorders(0,64,0,64) # 把640*352(16:9)改成640*480(4:3) 2 ConvertToRGB 和 ConvertToYUY2 改變顏色環境: VD和AviUtl第三方濾鏡有的需要RGB環境才能執行,需要ConvertToRGB來進行切換。 有的RAW文件是RGB的,但使用的AVISynth濾鏡只能執行在YUV下,就需要用ConvertToYUY2來執行。 例:ConvertToRGB() # 改變成RGB顏色環境 鮪onvertToYUY2() # 改變成YUV顏色環境 3 Crop 切邊:為了保持比例或切除黑邊,參數是整數,順序是左、上、寬、高。 例:Crop(8,0,704,480) # 左右各切去8,以保持比例 4 Levels 層次:調節亮度、對比度和Gamma值。 例:Levels(0,1.2,255,0,255) # 調整Gamma,使畫面變亮 5 LanczosResize 放大縮小:Lanczos采樣方法可以在圖像處理中看到,是BicubicResize的替代者,提供更精準、更銳利的畫質。本來是日本人開發的第三方濾鏡,在日本普遍使用,歐美使用BicubicResize。自2.05版本開始吸收為內裝濾鏡。 例:LanczosResize(640,480) # 把解析度改變為640*480 6 Tweak 翻桴耤G可以調節色度,飽和度,亮度,對比度。 礎漇蛂G-180.0∼180.0,預設0.0。正數趨向紅色,負數趨向綠色。 繒〝M度:0.0∼10.0,預設1.0。0.0為黑白。 竄G度:-255.0∼255.0,預設0.0。 繒鴾颸蛂G0.0∼10.0,預設1.0。 3、編輯濾鏡 1FadeIn 和 FadeOut 淡入和逐漸消失:提供淡入和逐漸消失功能,尤其是逐漸消失功能,可以使影片結束地更自然。參數為整數,表示需要編輯的畫格數。 例:FadeOut(24) # 影片最後1秒逐漸消失 2Trim 截取:決定需要處理的部分。參數為整數,表示需要編輯的開始畫格和結束畫格。對抽樣做Sample比較有用。 例:Trim(240,480) # 決定處理240∼480這一片斷 4、聲音濾鏡 1 AudioDub 影音合併:可以把影像和聲音合併在一起。適用用用Helix直接做RMVB格式的DVDrip。 例:Video = AVISource("test.avi") 鮮udio= WAVSource("test.wav") 鮮udioDub(Video,Audio) # 把test.avi和test.wav合併 2 GetLeftChannel 和 GetRightChannel 獲取聲道:把立體聲的左右聲道單獨返回,適用於左右聲道不同語種的WAV。 例:stereo=WavSource("test.wav") 瀑eturn GetLeftChannel(stereo) # 返回test.wav的左聲道 3DelayAudio 聲音延遲:由於從VOB裡分離的AC3通常有延遲,所以用Azid轉碼得到的WAV也有延遲,在用AudioDub合併時就需要加上這個延遲。 例: WavSource("test.wav").DelayAuido(0.5) # 把test.wav延遲半秒 四、第三方濾鏡 AviSynth最強大之處就是有數目繁多、功能強大的第三方濾鏡;同時還可以使用VD以及AviUtl的濾鏡;甚至還有特別開發的接頭,可以讓TMPGEnc和AviUtl讀取AVS。 和內建濾鏡不同,第三方濾鏡需要先使用聲明,再可以使用。 1、源文件濾鏡 1 MPEG2Dec 由dividee編寫的讀取DVD2AVI產生的d2v工程文件的濾鏡,同時內建去除Noise的TemporalSmoother。 例:LoadPlugin("MPEG2Dec.dll") 鼾PEG2Source(」test.d2v」) 2 MPEG2Dec2 trbarry在MPEG2Dec的基礎上進行了改進,支持P4的SSE2指令集。用文本編輯工具開啟d2v,把iDCT_Algorithm=?改成5就可以了。速度很快,效果也好,推薦P4 CPU的用戶使用。 例:LoadPlugin("MPEG2Dec2.dll") 鼾PEG2Source(」test.d2v」) 3 MPEG2Dec3 在MPEG2Dec2的基礎上再進去去行了改進,加入了Nic的圖像後處理(PP),一定程度上可以減少Noise。好像除了P4的SSE2外,還加入了AMD的3D Now!最佳化,目前還在開發中,是個非常有前途的濾鏡。 例:LoadPlugin("MPEG2Dec3.dll") 鼾PEG2Source(」test.d2v」,CPU=4) # CPU=4就是開啟了PP模式 2、處理濾鏡 1 SimpleResize 放大縮小:由trbarry編寫的,由於對SSE進行了最佳化,所以速度快,效果好。替代了AviSynth中的BilinearResize。和LanczosResize的米切爾雙立方體算法不同,這個是單純的雙線性算法。LanczosResize的畫質更銳利和真實,適合普通電影;而SimpleResize的畫質較柔和,適合動畫。 例:LoadPlugin("SimpleResize.dll") 壘impleResize(640,480) 2 ColorYUY2 顏色補償:Kiraru2002編寫的濾鏡。由於經過編碼,得到的結果和DVD相比較,顏色有所改變,所以要對顏色進行補償。 例:LoadPlugin("ColorYUY2.dll") 鮪olorYUY2(0,10,0,10,0,0,0,0,0) 3、交錯濾鏡 Decomb IVTC和Deinterlace濾鏡:由Donald A.Graft編寫,新增加的專門處理NTSC格式動畫的mode=2,要和Avisynth2.05以上版本使用,不然速度會慢一倍。 guide 0~2,預設0, NTSC用1,PAL用2,可以提高IVTC準確度。 gthresh 0~100,預設15,控制區分不同畫格的程度。 post 預設true,用來處理IVTC遺漏的細節,使畫面略微模糊。 threshold 0~255,預設15,控制post的程度。 dthreshold 0~255,預設9,控制threshold判定IVTC遺漏的程度。 blend 預設true,在交錯畫面用繪圖來替代填充。 chroma 預設false,在交錯畫面的亮度色度調整。 cycle 2~25,預設5,每n畫格刪除1畫格,NTSC選5,PAL選25。 mode 0~2,預設2。 mode=0 對cycle裡最相近的畫格不進行處理。 mode=1 對cycle裡最相近的畫格進行處理,用於處理混合畫格速。 mode=2 在一個很長的範圍裡進行畫格對比,可以正確處理動畫裡由8畫格或12畫格複製為29.97畫格的情況。 Threshold 預設0,控制mode=1時的處理重複畫格的程度,Threshold預設100,控制mode=2時的處理重複畫格的程度。 Quality 0∼3,預設2,采樣和色度的質量,與速度成反比。 但是最近的幾個版本似乎都存在一個問題,就是處理後的畫面有波動現象,並伴隨影片裡文字閃爍現象,所以還是用老版本的保險。 例:LoadPlugin("Decomb.dll") Telecide(Guide=1,Gthresh=50,Chroma=True,Quality=3,Post=false) Decimate(cycle=5) # NTSC 3:2 PullDown LoadPlugin("Decomb.dll") Telecide(Guide=1,Gthresh=50,Chroma=True,Quality=3,Post=false) Decimate(Cycle=5,Mode=2) # NTSC Progressive和Interlaced混合 LoadPlugin("Decomb.dll") Telecide(Guide=2,Gthresh=50,Chroma=True,Quality=3,Post=false) Decimate(Cycle=25) # PAL 4、字幕濾鏡 1 VobSub Sub字幕:VobSub不但是外掛字幕的好手,內嵌字幕也是一樣的強。 將字幕的2個文件test.idx和test.sub放在同一個目錄下就可以了。 例:LoadPlugin("VobSub.dll") 懣obSub(「test」) 2 TextSub SSA和ASS字幕:這個也是VobSub自帶的,可以內嵌特效字幕。 例:LoadPlugin("TextSub.vdf") 嬸extSub(「test.ssa」) |
所有時間均為台北時間。現在的時間是 08:33 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *