级别: 超级版主
- 注册时间:
- 2004-07-25
- 在线时间:
- 121小时
- 发帖:
- 3898
|
http://popgo.net/bbs/showthread.php?s=&threadid=483397之前有這麽个帖討論au濾鏡的問題 由於AviUtl最近迴光返照大幅更新至0.99c3 特別是加入了濾鏡的thread功能 因此加載au filter的方法有所變化 這裡以searphy版的warpsharp pakage為准 我使用warpsharppackage版本號是20080325 不過看起來主要的變化發生在20071108 ·「LoadAviUtlFilterPluginMT」を「LoadAviUtlFilterPlugin」と統合。 ·ShowAUFInfo.exeで新しい「LoadAviUtlFilterPlugin」「LoadAviUtlFilterPlugin2」の設定を出力できるように修正。 ·thread数は、一連の設定で指定された最大値を採用するように修正。 ※LoadAviUtlFilterPlugin2にthreadの引数がありますが、互換性のために用意しただけでマルチスレッドには対応していません。 具體的一些變更可以到下面的網址去看 http://www.avisynth.info/?LoadAviUtlFilterPlugin#x19fea69先來看aui濾鏡的,加載pv3的dv入力插件"EARTH SOFT DV.aui” 首先以往老版warpsharp pakage需要加載LoadPluginEx.dll - LoadPlugin("E:\Program Files\GordianKnot\AviSynthPlugins\LoadPluginEx.dll")
- LoadAviUtlInputPlugin("D:\My Tools\VideoEditor\AviEditor\aviutl99\EARTH SOFT DV.aui", "EARTHSOFTDV")
這个在新版中warpsharp函數中直接集成 加載warpsharp.dll後用LoadAviUtlInputPlugin命令來加載aui濾鏡 - LoadPlugin("E:\Program Files\GordianKnot\AviSynthPlugins\warpsharp.dll")
- LoadAviUtlInputPlugin("D:\My Tools\VideoEditor\AviEditor\aviutl99\EARTH SOFT DV.aui", "EARTHSOFTDV")
- EARTHSOFTDV("H:\down\080511-183256-1440x1080i.dv")
稍微複雜一點的,加載AVIUTL的Wavelet_NR Type-G - loadplugin("E:\Program Files\GordianKnot\AviSynthPlugins\WarpSharp.dll")
- LoadAviUtlfilterplugin("D:\My Tools\VideoEditor\AviEditor\aviutl99\waveletNR_G.auf", "AU_waveletNR_G")
- AVISource("M:\share\down\ハヤテのごとく!第49話「普通の話」(D-TX DivX6.6 1280x720 120fps).avi",false)
- ConverttoYUY2()
- AU_waveletNR_G(2,75,75,75,75,75,75,50,50,50,50,50,50,200,100,0,false,false,false,false)
下面來看更加細緻的一种方法以便于詳細講解 首先需要知道auf濾鏡的函數命令和參數設置 這裡使用ShowAUFInfo.exe來實現 使用以下命令行 "D:\My Tools\VideoEditor\AviEditor\aviutl99\ShowAUFInfo.exe" "D:\My Tools\VideoEditor\AviEditor\aviutl99\waveletNR_G.auf" > "C:\au_waveletNR_G.avs" 當然為了方便起見可以使用ShowAUFInfo_Assist 方法本文開頭那個帖已經講過了 直接把auf拖進ShowAUFInfo_Assist自帶的bat就可以 來看得到的au_waveletNR_G.avs腳本 - global AviUtl_plugin_directory = "C:\AviUtl\Plugins\"
- global AviUtl_plugin_copy = false
- global AviUtl_plugin_debug = false
- global AviUtl_plugin_thread = 2
- ####################################
- # Wavelet_NR Type-G
- ####################################
- # i0 : Mode default(2) range(0,3)
- # i1 : 疮嫁Lv0 default(75) range(0,150)
- # i2 : 疮嫁Lv1 default(75) range(0,150)
- # i3 : 疮嫁Lv2 default(75) range(0,150)
- # i4 : 疮嫁Lv3 default(75) range(0,150)
- # i5 : 疮嫁Lv4 default(75) range(0,150)
- # i6 : 疮嫁Lv5 default(75) range(0,150)
- # i7 : Y-NR0L default(50) range(0,100)
- # i8 : Y-NR1 default(50) range(0,100)
- # i9 : Y-NR2 default(50) range(0,100)
- # i10 : Y-NR3 default(50) range(0,100)
- # i11 : Y-NR4 default(50) range(0,100)
- # i12 : Y-NR5H default(50) range(0,100)
- # i13 : 揔梡搙% default(200) range(0,200)
- # i14 : 廲學悢% default(100) range(0,200)
- # i15 : 揥奐抣 default(0) range(0,2)
- # b0 : Y-NR5墶偺傒10攞 default(false)
- # b1 : Lv4椫妔嫮挷_Mode0埲奜 default(false)
- # b2 : Lv5椫妔嫮挷_Mode0埲奜 default(false)
- # b3 : 廲曽岦傕椫妔嫮挷偡傞 default(false)
- function AU_waveletNR_G(clip clip,
- \ int "i0", int "i1", int "i2", int "i3",
- \ int "i4", int "i5", int "i6", int "i7",
- \ int "i8", int "i9", int "i10", int "i11",
- \ int "i12", int "i13", int "i14", int "i15",
- \ bool "b0", bool "b1", bool "b2", bool "b3")
- {
- LoadAviUtlFilterPlugin(AviUtl_plugin_directory+"waveletNR_G.auf", "_AU_waveletNR_G", copy=AviUtl_plugin_copy, debug=AviUtl_plugin_debug, thread=AviUtl_plugin_thread)
- #LoadAviUtlFilterPlugin2(AviUtl_plugin_directory+"waveletNR_G.auf", "_AU_waveletNR_G", copy=AviUtl_plugin_copy, debug=AviUtl_plugin_debug, thread=AviUtl_plugin_thread)
- return clip._AU_waveletNR_G(
- \ default(i0,2), default(i1,75), default(i2,75), default(i3,75),
- \ default(i4,75), default(i5,75), default(i6,75), default(i7,50),
- \ default(i8,50), default(i9,50), default(i10,50), default(i11,50),
- \ default(i12,50), default(i13,200), default(i14,100), default(i15,0),
- \ default(b0,false), default(b1,false), default(b2,false), default(b3,false))
- }
- # example:
- # ConvertYUY2ToAviUtlYC()
- # AU_waveletNR_G(2,75,75,75,75,75,75,50,50,50,50,50,50,200,100,0,false,false,false,false)
- # ConvertAviUtlYCToYUY2()
這裡有部分global設置需要更改,我將它修改為 global AviUtl_plugin_directory = "D:\My Tools\VideoEditor\AviEditor\aviutl99\" global AviUtl_plugin_copy = false global AviUtl_plugin_debug = false global AviUtl_plugin_thread = 4 修改完保存avs 後面就很簡單了,這裡直接套用範例 - loadplugin("E:\Program Files\GordianKnot\AviSynthPlugins\WarpSharp.dll")
- AVISource("M:\share\down\ハヤテのごとく!第49話「普通の話」(D-TX DivX6.6 1280x720 120fps).avi",false)
- ConverttoYUY2()
- Import("C:\au_waveletNR_G.avs")
- AU_waveletNR_G(2,75,75,75,75,75,75,50,50,50,50,50,50,200,100,0,false,false,false,false)
- ConverttoYV12()
值得一提的是,新版WarpSharp.dll會自動將yuy2轉成AviUtlYC 如果再加上ConvertYUY2ToAviUtlYC()命令的話反而會出錯 禦覽結果,opps...畫面就是那一坨屎...於是修改為 AU_waveletNR_G(2,0,0,0,15,15,15,0,0,0,20,20,20,80,80,0,false,false,false,false) 好了許多,不過仍然不能令人滿意,實際應用中必須在AU裡全部設置好以後再套用到avs 這令我不禁懷疑是不是直接用AU更方便 反正現在也有x264出力了 犯不上非要進avs 其他的濾鏡諸如deinterlace2,縞低減有興趣的自己研究吧,並不是所有auf濾鏡都能在avs下正常運行
|