当前位置: 主页 > 处理视频 > 视频压制教程 > AVS教程:AviSyn学习手册(4)

AVS教程:AviSyn学习手册(4)

2009-02-27   www.av110.net / 整理 点击: 标签:AVS AviSynth
  

  二、常见的外挂滤镜

  AviSynth最强大之处就是有数目繁多、功能强大的外置(或称“第三方”)滤镜;同时还可以调用VD以及AviUtl的滤镜;甚至还有特别开发的接口,可以让TMPGEnc和AviUtl读取AVS。和内置滤镜不同,外置滤镜需要先调用声明,再可以使用。
(1)源文件滤镜
MPEG2Dec
由dividee编写的读取DVD2AVI产生的d2v工程文件的滤镜,同时内建去除Noise的TemporalSmoother。
例:LoadPlugin("MPEG2Dec.dll")
MPEG2Source("test.d2v")
② MPEG2Dec2
trbarry在MPEG2Dec的基础上进行了改进,支持P4的SSE2指令集。用文本编辑工具打开d2v,把iDCT_Algorithm=?改成5就可以了。速度很快,效果也好,推荐P4 CPU的用户使用。
例:LoadPlugin("MPEG2Dec2.dll")
MPEG2Source("test.d2v")
③ MPEG2Dec3
在MPEG2Dec2的基础上再进行了改进,加入了Nic的图像后处理(PP),一定程度上可以减少Noise。好像除了P4的SSE2外,还加入了AMD的3D Now!优化,目前还在开发中,是个非常有前途的滤镜。
例:LoadPlugin("MPEG2Dec3.dll")
MPEG2Source("test.d2v",CPU=4) # CPU=4就是开启了PP模式
(2)处理滤镜
① ColorYUY2
颜色补偿:Kiraru2002编写的滤镜。由于经过编码,得到的结果和DVD相比较,颜色有所改变,所以要对颜色进行补偿。
例:LoadPlugin("ColorYUY2.dll")
ColorYUY2(0,10,0,10,0,0,0,0,0)
② ChangeFPS()
改变影片帧率,iphone一般来说支持最大30fps。
例:ChangeFPS(23.976)
#改变影片帧率有几种数值 12、15、20、23.976、24、25、29.97、30这几种,一般来说不改变也行。
③ undot()
消除噪点,可以使用一个或多个,可以连在一起用,自己看效果体会。
无参数,直接加上就行了。undot滤镜是进行象素及细小噪点降噪,一般用来去除细小的、肉眼不容易察觉的噪点,所以具体效果上并不明显。
例:加在其它滤镜后,使用多次。
LoadPlugin("UnDot.dll")
DirectShowSource("test.avi")
UnDot()
LanczosResize(480,272)
UnDot()
或者:
UnDot().UnDot().UnDot().UnDot()
具体用暴风预览效果。
④ FluxSmooth()
柔化兼有降噪功能,比UnDot()作用要强些.
例:LoadPlugin("fluxsmooth.dll")
fluxsmooth(5,7)
一般用这个默认(5,7)
⑤ KenKunNR()
KenkunNR是WarpSharp自带的降躁插件,具体参数KenKunNR(threshold=1 to 3),数值越大,强度越大。
例:LoadPlugin("WarpSharp.dll")
KenKunNR(threshold=1)
⑥ deen()
降噪锐化功能. 用后画面就会比较干净,但细节都被抹杀. 视情况而用
例:LoadPlugin("deen.dll")
#deen("c2d",2,3,3) 较轻
#deen("a3d",3,3,1,3) 较轻
#deen("c2d",2,6,6) 中等
#deen("a3d",3,6,1,6) 中等
#deen("c2d",2,10,12) 强力
#deen("a3d",3,10,1,12) 强力
⑦ SpatialSoften()
空间轴柔化滤镜。基本参数3个,如SpatialSoften (4,8,8)第一个指柔化程度,数值不要太大,2-5之间,后2个是亮度域值和色彩域值,均为整数型数值,需要测试调节.
⑧ TemporalSoften()
时间轴柔化滤镜。
例:Temporalsoften(2,3,3,mode=2,scenechange=6)
#一般用这个参数就行了
⑨ Convolution3d()
3D柔化滤镜.参数一般动画用animeHQ,电影用movieHQ.
例: LoadPlugin("Convolution3d.dll")
#转电影
Convolution3d("movieHQ")
#转动画
#Convolution3d("animeHQ")
⑩ sharpen()
锐化滤镜:数值越大, 锐化效果越强.
例:sharpen(0.2) 一般取0.2~0.3
○11 WarpSharp()
锐化滤镜: 主要改动depth,bump这两个数值
越下面的线条越细
例:LoadPlugin("WarpSharp.dll")
#WarpSharp(depth=30,blur=2,bump=40,cubic=-0.6)
#WarpSharp(depth=40,blur=2,bump=60,cubic=-0.6)
#WarpSharp(depth=60,blur=2,bump=96,cubic=-0.6) #线条比上细,全屏的时候,明显感觉出锯齿
○12 mergechroma(blur(1.3))
模糊滤镜.
柔化滤镜可以参考一些自动生成的模板,如
# 1) little noise
#Temporalsoften(2,3,3,mode=2,scenechange=6)
#mergechroma(blur(1.3))#可以换成MergeLuma(blur(1.0))
#FluxSmooth(5,7)
#
# 2) medium noise
#Temporalsoften(3,5,5,mode=2,scenechange=10)
#Convolution3d("moviehq")
#FluxSmooth(7,7)
#
# 3) heavy noise
#Temporalsoften(4,8,8,mode=2,scenechange=10)
#Convolution3d("movielq")
#FluxSmooth(10,15)
可以使用其中的一套,使用具有处理效果的滤镜会增加压片的时间.片源不好就按需选用些.总之能尽量少用就少用,或者干脆不用.
Blur(0,1)是模糊滤镜,设置了垂直参数可以消除些边缘刻痕
可以连续加载Blur(0,1).Blur(0,1)
可以结合MergeChroma 或者MergeLuma来使用,如MergeLuma(Blur(0,1)Blur(0,1))Blur(-1)就相当于锐化滤镜了

(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

  上面简单介绍了AviSynth的里的一些常用的滤镜,还有很多滤镜的功能有待遇您自己开发,还有重要的一点想说一下:avs脚本及其各种滤镜主要适用于大码率媒体文件的处理,也即我们经常接触的DVDRIP/TVRIP avi的制作优化。而对于高度压缩格式的rmvb来说,我们利用的avs滤镜更应该持慎重态度(如亮虑镜、字幕虑镜、画面调整等少数几个)!也就是说avs在rmvb压制方面,我们需要的是利用avs灵活的“中间人”的角色!而不是为了avs而去压制!我看到好多朋友初步接触rmvb压制,就在用avs压制DVDRIP-rmvb,完全套用个别论坛给出的avs脚本,里面全是各种滤镜,如3D增强、柔化、去丝等!这些滤镜如果制作DVDRIP的avi那是会获得肯定的画质效果,但是用于rmvb压制,仿佛就是东施效颦,忠言逆耳!real压制的原理和高码率的mpge4编码是不同的,后者有视频上层的概念,因此滤镜的修饰作用可以体现。我看Doom9讨论avs时,主要还是处理各种大数据量影像媒体为主。如处理自己DV录制影视、电视卡录制的视频源之类的等。而众所周知的影响real媒体压缩效果就是片源效果。VCD片源的再怎么处理也不可能达到DVD的效果,而DVD片源,再怎么胡乱压制也不会差到哪里。因此avs直接在rmvb的压制中需要适当选择,而不能盲从,特别是对于各种滤镜的选择更要注意。一句话AviSynth非常灵活,要按具体情况具体分析。

顶一下
(11)
68.8%
踩一下
(5)
31.2%
栏目热点
  • MeGUI压制使用说明书 MeGUI压制使用说明书 MeGUI 压制使用说明书 绪论: 视频压制的概念 一些尚未入门的爱好者常常会把视频压制与视频转换混为一谈。视频压制是一种入门比较简单,但深入有点深奥的视频压缩技术,用
精彩推荐