『漫游』酷论坛>『影音数码技术学习交流』>[掃盲] 在avs中調用aviut ..

[掃盲] 在avs中調用aviutl99c3的濾鏡

shinjico@2008-05-21 20:07

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

复制代码
  1. LoadPlugin("E:\Program Files\GordianKnot\AviSynthPlugins\LoadPluginEx.dll")
  2. LoadAviUtlInputPlugin("D:\My Tools\VideoEditor\AviEditor\aviutl99\EARTH SOFT DV.aui", "EARTHSOFTDV")


這个在新版中warpsharp函數中直接集成
加載warpsharp.dll後用LoadAviUtlInputPlugin命令來加載aui濾鏡

复制代码
  1. LoadPlugin("E:\Program Files\GordianKnot\AviSynthPlugins\warpsharp.dll")
  2. LoadAviUtlInputPlugin("D:\My Tools\VideoEditor\AviEditor\aviutl99\EARTH SOFT DV.aui", "EARTHSOFTDV")
  3. EARTHSOFTDV("H:\down\080511-183256-1440x1080i.dv")




稍微複雜一點的,加載AVIUTL的Wavelet_NR Type-G

复制代码
  1. loadplugin("E:\Program Files\GordianKnot\AviSynthPlugins\WarpSharp.dll")
  2. LoadAviUtlfilterplugin("D:\My Tools\VideoEditor\AviEditor\aviutl99\waveletNR_G.auf", "AU_waveletNR_G")
  3. AVISource("M:\share\down\ハヤテのごとく!第49話「普通の話」(D-TX DivX6.6 1280x720 120fps).avi",false)
  4. ConverttoYUY2()
  5. 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腳本

复制代码
  1. global AviUtl_plugin_directory = "C:\AviUtl\Plugins\"
  2. global AviUtl_plugin_copy = false
  3. global AviUtl_plugin_debug = false
  4. global AviUtl_plugin_thread = 2
  5. ####################################
  6. # Wavelet_NR Type-G
  7. ####################################
  8. # i0 : Mode default(2) range(0,3)
  9. # i1 : 疮嫁Lv0 default(75) range(0,150)
  10. # i2 : 疮嫁Lv1 default(75) range(0,150)
  11. # i3 : 疮嫁Lv2 default(75) range(0,150)
  12. # i4 : 疮嫁Lv3 default(75) range(0,150)
  13. # i5 : 疮嫁Lv4 default(75) range(0,150)
  14. # i6 : 疮嫁Lv5 default(75) range(0,150)
  15. # i7 : Y-NR0L default(50) range(0,100)
  16. # i8 : Y-NR1 default(50) range(0,100)
  17. # i9 : Y-NR2 default(50) range(0,100)
  18. # i10 : Y-NR3 default(50) range(0,100)
  19. # i11 : Y-NR4 default(50) range(0,100)
  20. # i12 : Y-NR5H default(50) range(0,100)
  21. # i13 : 揔梡搙% default(200) range(0,200)
  22. # i14 : 廲學悢% default(100) range(0,200)
  23. # i15 : 揥奐抣 default(0) range(0,2)
  24. # b0 : Y-NR5墶偺傒10攞 default(false)
  25. # b1 : Lv4椫妔嫮挷_Mode0埲奜 default(false)
  26. # b2 : Lv5椫妔嫮挷_Mode0埲奜 default(false)
  27. # b3 : 廲曽岦傕椫妔嫮挷偡傞 default(false)
  28. function AU_waveletNR_G(clip clip,
  29. \ int "i0", int "i1", int "i2", int "i3",
  30. \ int "i4", int "i5", int "i6", int "i7",
  31. \ int "i8", int "i9", int "i10", int "i11",
  32. \ int "i12", int "i13", int "i14", int "i15",
  33. \ bool "b0", bool "b1", bool "b2", bool "b3")
  34. {
  35. LoadAviUtlFilterPlugin(AviUtl_plugin_directory+"waveletNR_G.auf", "_AU_waveletNR_G", copy=AviUtl_plugin_copy, debug=AviUtl_plugin_debug, thread=AviUtl_plugin_thread)
  36. #LoadAviUtlFilterPlugin2(AviUtl_plugin_directory+"waveletNR_G.auf", "_AU_waveletNR_G", copy=AviUtl_plugin_copy, debug=AviUtl_plugin_debug, thread=AviUtl_plugin_thread)
  37. return clip._AU_waveletNR_G(
  38. \ default(i0,2), default(i1,75), default(i2,75), default(i3,75),
  39. \ default(i4,75), default(i5,75), default(i6,75), default(i7,50),
  40. \ default(i8,50), default(i9,50), default(i10,50), default(i11,50),
  41. \ default(i12,50), default(i13,200), default(i14,100), default(i15,0),
  42. \ default(b0,false), default(b1,false), default(b2,false), default(b3,false))
  43. }
  44. # example:
  45. # ConvertYUY2ToAviUtlYC()
  46. # AU_waveletNR_G(2,75,75,75,75,75,75,50,50,50,50,50,50,200,100,0,false,false,false,false)
  47. # 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
後面就很簡單了,這裡直接套用範例

复制代码
  1. loadplugin("E:\Program Files\GordianKnot\AviSynthPlugins\WarpSharp.dll")
  2. AVISource("M:\share\down\ハヤテのごとく!第49話「普通の話」(D-TX DivX6.6 1280x720 120fps).avi",false)
  3. ConverttoYUY2()
  4. Import("C:\au_waveletNR_G.avs")
  5. AU_waveletNR_G(2,75,75,75,75,75,75,50,50,50,50,50,50,200,100,0,false,false,false,false)
  6. 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下正常運行
引用

pzwre@2008-05-21 22:31

玩玩可以的,真的这样做确实没必要
au的滤镜很多都不更新,几个厉害的又加不上,很早放弃了
刚才用新版的试了lanczos3还是不行。。。
一些入力是能加载的,像m2v.aui之类,lz已经补充
引用

绿叶之砚@2008-05-22 01:05

新娘你这三天果然闲了
引用

adrianmak@2008-05-22 06:26

ShowAUFInfo.exe 在那裡找到??
引用

tcyy2000@2008-05-22 07:48

引用
最初由 adrianmak 发布
ShowAUFInfo.exe 在那裡找到??


http://www.avisynth.info/?ShowAUFInfo%BC%C2%B9%D4%BB%D9%B1%E7%A5%D0%A5%C3%A5%C1%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8
引用

大虾@2008-05-22 12:24

AVS里面降噪和锐化滤镜调整起来不是很方便,不如原生就有图形界面的AU,所以最近基本上都是用AU来做东西,之后用x264out来输出了。
但是AU平台还涉及到颜色空间转换问题= =||实在矛盾……
但是将AU滤镜用在AVS里面我个人持保留意见,不稳定是一方面,而且也无法避免颜色空间转换。还不如将AVS导入AU来制作呢。
引用

realsweet@2008-05-22 13:18

引用
最初由 大虾 发布
AVS里面降噪和锐化滤镜调整起来不是很方便,不如原生就有图形界面的AU,所以最近基本上都是用AU来做东西,之后用x264out来输出了。
但是AU平台还涉及到颜色空间转换问题= =||实在矛盾……
但是将AU滤镜用在AVS里面我个人持保留意见,不稳定是一方面,而且也无法避免颜色空间转换。还不如将AVS导入AU来制作呢。

那只是举个例子...是为了说明问题...不用太过较真
非要较真的话,用AVS去挂AU的warpsharp就已经是纯粹的那啥了...
AVS有个叫AvsP的玩意可以用来做AVS的图形预览界面
只是弄起来很不稳定
AVS进AU说到底还是因为AVS里用来处理anime的好滤镜太少了,是一种无奈
效果好才是硬道理,只因为调整预览不方便去用AU,这理由对AVS也太没爱了...
只能说,对AU本身就心存向往,仰慕之情犹如滔滔江水,奈何伊咋自创个YC空间呢...
压动画,好滤镜基本都made in japan ,西方的程序员们对动画本身就抱有偏见,弄出来的东西压真人效果很好,处理动画就未必了(X264那抽风的VAQ就是最好的例子)...扯远了...
引用

shinjico@2008-05-22 17:16

引用
最初由 绿叶之砚 发布
新娘你这三天果然闲了


谁是你新娘
叶子赶紧嫁了吧
引用

GOD_HIKARU MK2@2008-05-22 17:20

果然 是呆了 啊 OTL
太EP了 AVS加载AU
引用

大虾@2008-05-23 10:34

引用
最初由 realsweet 发布

那只是举个例子...是为了说明问题...不用太过较真
非要较真的话,用AVS去挂AU的warpsharp就已经是纯粹的那啥了...
AVS有个叫AvsP的玩意可以用来做AVS的图形预览界面
只是弄起来很不稳定
AVS进AU说到底还是因为AVS里用来处理anime的好滤镜太少了,是一种无奈
效果好才是硬道理,只因为调整预览不方便去用AU,这理由对AVS也太没爱了...
只能说,对AU本身就心存向往,仰慕之情犹如滔滔江水,奈何伊咋自创个YC空间呢...
压动画,好滤镜基本都made in japan ,西方的程序员们对动画本身就抱有偏见,弄出来的东西压真人效果很好,处理动画就未必了(X264那抽风的VAQ就是最好的例子)...扯远了...


严重赞同!
引用

adrianmak@2008-05-23 16:59

引用
最初由 tcyy2000 发布


http://www.avisynth.info/?ShowAUFInfo%BC%C2%B9%D4%BB%D9%B1%E7%A5%D0%A5%C3%A5%C1%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8


這條link之前有看過,就是在這裡找不到個 .exe

他提供下載的.zip , 裡面沒有 exe 的
引用

adrianmak@2008-05-24 16:45

颜色空间转换是什麼问题 ??

能舉個例子嗎?
引用

shinjico@2008-05-24 18:08

载入视频后在avs中输入如下语句(一次输一句),自行查看效果

converttoyv12()

converttoyuy2()

converttorgb24()
引用

キャスバル@2008-05-24 18:50

引用
最初由 大虾 发布
AVS里面降噪和锐化滤镜调整起来不是很方便,不如原生就有图形界面的AU,所以最近基本上都是用AU来做东西,之后用x264out来输出了。
但是AU平台还涉及到颜色空间转换问题= =||实在矛盾……
但是将AU滤镜用在AVS里面我个人持保留意见,不稳定是一方面,而且也无法避免颜色空间转换。还不如将AVS导入AU来制作呢。

這個空間轉換問題很嚴重?很嚴重?
引用

realsweet@2008-05-24 20:22

引用
最初由 キャスバル 发布

這個空間轉換問題很嚴重?很嚴重?

一个准备一毛不拔的人哪怕多花了一点点小钱也是会耿耿于怀的
一个完美主义者发觉空间转换问题会跟完美挂不上勾时...他也开始耿耿于怀了...
就这样....
然后群众纷纷表示出对完美主义者追求完美的态度的高度评价,从而坚定了他们继续追求完美的信心,于是使这个问题看起来越来越严重
引用

«12»共2页

| TOP