2024年1月3日发(作者:)
AVS相关参数的调用与设定
AviSynth是AVI SYNTHesizer的缩写(以下简称AVS),意思就是AVI和成器,是一个Frameserver。(Frameserver就是一个把影像文件从一个程序转换到另外一个程序的过程,
其间没有临时文件或中介文件产生)。
简单来说就是个合成平台。在媒体文件和应用程序之间担任"中间人"的角色。如对于压制pmp avc格式来说,源媒体文件是vob、d2v(DVD处理过程中的中间文件)、avi、DAT/mpge等,而应用程序是各种pmp的压缩软件如VDM、AVS_Converter和3gp_avc等,它们都支持avs的导入。avs脚本中指定要运行处理的影像文件和滤镜,然后运行影像应用程序,比如VDM,打开的是刚才编辑好的avs脚本,而不是源媒体文件。此时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,并将常用虑镜插件dll文件拷贝到安装目录的plugin目录里,如此有些滤镜不用增加LoadPlugin()语句。几个常用的辅助滤镜如:
IVTC/Deinterlace类:,
降噪、柔化类: ,,,等
缩放滤镜:
字幕滤镜:
插件可以到官方网站上下载/warpenterprises/
如何使用:
新建一个文本文件,并将其扩展名改成*.avs。就是一个AVS脚本了。
下面介绍些基本代码和常用滤镜。
说明
#表示禁止某句语法
.(点)表示连用,如此可以省略一些变量。当然有些滤镜,特别是组合套用的滤镜不能用点来
引出。在写语句时注意语句的大小写无所谓但必须用英文标点。
对于第三方滤镜需要用到LoadPlugin语句。
LoadPlugin ("filename") #加载.dll插件
例:
LoadPlugin("C:Program FilesRingz StudioStorm ")#加载字幕滤镜
还有两个,只做简单介绍:
LoadVirtualDubPlugin ("filename") #加载VD的滤镜,.vdf文件
LoadVFAPIPlugin("filename")#加载TMPGEnc滤镜(IVTC处理)
如果用到插件比较多的话,这样Load确实比较烦。其实你可以将常用的. Dll插件复制到avisynth安装目录的plugin目录里,这样滤镜就可以不用增加LoadPlugin()语句。
例如:最常用的字幕滤镜。将复制到plugin目录里,这样就可以不用LoadPlugin()语句了,直接就可以使用VobSub()语句了。方便很多!
AviSynth内建了数目繁多的滤镜,所以只能介绍一些最常见实用的一部分。
1、源文件滤镜
DirectShowSource ("D:")#直接打开源文件
DirectShowSource("D:", fps=24, convertfps=true)#直接打开rmvb格式,对于rm/rmvb和asf格式的,需要定义帧率才能读取。如里面的fps=24,convertfps=true语句的作用是防止转换可变桢率的RMVB和WMV时出现影音不同步。
DirectShowSource()在avisnyth中很强大,常用的媒体格式,如avi、mpge1/dat、mpge2/vob
(DVD) ,bin (SVCD)都可以加载.
AVISource()
加载AVI文件,对于DVDRIP压制者来说可能更常用些.,对于DivX或XviD,需要安装相应的Codec。
例:AVISource("D:")
AVISource("d:",false)#false表示禁止音频
WAVSource()
加载WAV文件
例:WAVSource("D:")
MPEG2Dec
由dividee编写的读取DVD2AVI产生的d2v工程文件的滤镜,同时内建去除Noise的TemporalSmoother。
例:LoadPlugin("")#此为第三方滤镜需要先调用声明,再使用
MPEG2Source("D:test.d2v")
MPEG2Dec2
trbarry在MPEG2Dec的基础上进行了改进,支持P4的SSE2指令集。用文本编辑工具打开d2v,把iDCT_Algorithm=?改成5就可以了。速度很快,效果也好,推荐P4 CPU的用户使用。
例:LoadPlugin("")
MPEG2Source("D:test.d2v")
MPEG2Dec3
在MPEG2Dec2的基础上再进行了改进,加入了Nic的图像后处理(PP),一定程度上可以减少Noise。好像除了P4的SSE2外,还加入了AMD的3D Now!优化,目前还在开发中,是个非常有前途的滤镜。推荐使用这个。
例:LoadPlugin("")
MPEG2Source("D:test.d2v",CPU=4) # CPU=4就是开启了PP模式
2. 处理滤镜
AddBorders(左,上,右,下)
给影像加黑边:尤其适用于对16:9的影像加字幕,希望不影响图像,把字幕加在图象的下方的情况。参数是整数,顺序是左、上、右、下。
例:AddBorders(0,32,0,32) # 上下各增加32象素的黑边。
PSP的分辨率为480*272,为16:9画面。
ConvertToXXX
颜色环境转换 (某些滤镜需要特定的颜色环境才能运行)
ConvertToRGB() #改变成RGB颜色环境
ConvertToYUY2() # 改变成YUV颜色环境
ConvertToYV12() #加载RMVB时用到,因为X264编码器不支持某些RMVB的色彩环境
Crop
切边:为了保持比例或切除黑边,参数是整数,顺序是左、上、-右、-下。
crop(左切,上切,-右切,-下切)
例:crop(16,8,-16,-8)#16为起始数值,如果切不干净,再增加数值,一般加4的倍数
LanczosResize
放大缩小滤镜,参数为:LanczosResize(宽,高)
例LanczosResize(480,272) #把分辨率改变为480*272.
Levels
层次:调节亮度、对比度和Gamma值。
例:Levels(0,1.2,255,0,255) # 调整Gamma,使画面变亮
改第二个,数值在1.2-1.7之间比较合适,一般1.5比较合适. vob文件一般会出现背景暗的问题,就需要增加点亮度。
Tweak
调整:可以调节色度,饱和度,亮度,对比度。
例:Tweak(0,1,20,1)
4个浮点数分别表示:调节色度,饱和度,亮度,对比度。
色度:-180.0~180.0,默认0.0。正数趋向红色,负数趋向绿色。
饱和度:0.0~10.0,默认1.0。0.0为黑白。
亮度:-255.0~255.0,默认0.0。
对比度:0.0~10.0,默认1.0。
一般将亮度调节在0 -30之间,以10-20为宜。
如果感觉片子偏红那么Tweak(-5,1.2,15,1)
如果感觉片子苍白,那么Tweak(5,1.4,10,1)
3. 字幕滤镜
字幕分为两种:文本字幕和图片字幕。文本字幕常见的有*.srt,*.ssa,*.ass
图片字幕常见的有(*.idx,*.sub)
VobSub
Sub字幕:VobSub不但是外挂字幕的好手,内嵌字幕也是一样的强。
将字幕的2个文件和放在同一个目录下就可以了。
例:LoadPlugin("")
VobSub("e:") #加载影片字幕
TextSub
SRT,SSA和ASS字幕,
例:LoadPlugin("D: ")
TextSub("D:") #加载水印字幕
TextSub("D:")#加载影片字幕
如果字幕和avs文件放在一个目录里,那么可以省去路径甚至是后缀名,如 VobSub("test")
注意,字幕应该加载整个avs语法序列的最后,特别是在裁减缩放滤镜的后面。
Trim
截取:决定需要处理的部分。参数为整数,表示需要编辑的开始帧和结束帧。对 抽样做Sample比较有用。
例:
Trim(100,0) # delete the first 100 frames, audio padded
# or trimmed to match the video length.
Trim(100, 0,false) # delete the first 100 frames of audio and video,
# the resulting stream lengths remain independant.
Trim(100,-100) # is the same as trim(100,199)
Trim(100,199,false) # audio will be trimmed if longer but not
# padded if shorter to frame 199
Trim(0,-1) # returns only the first frame
FadeIn 和 FadeOut
淡入和淡出:提供淡入和淡出功能,尤其是淡出功能,可以使影片结束地更自然 。参数为整数,表示需要编辑的帧数。
例:FadeOut(24) # 影片最后1秒淡出
4、声音滤镜
① AudioDub
影音合并:可以把影像和声音合并在一起。适用用用Helix直接做RMVB格式的
DVDrip。
例:Video = AVISource("")
Audio= WAVSource("")
AudioDub(Video,Audio) #把和合并
② GetLeftChannel 和 GetRightChannel
获取声道:把立体声的左右声道单独返回,适用于左右声道不同语种的WAV。
例:stereo=WavSource("")
return GetLeftChannel(stereo) # 返回的左声道
③DelayAudio
声音延迟:由于从VOB里分离的AC3通常有延迟,所以用Azid转码得到的WAV也有延
迟,在用AudioDub合并时就需要加上这个延迟。
例: WavSource("").DelayAuido(0.5) # 把延迟半秒
6,降噪滤镜
undot()
可以连在一起用,自己看效果体会
undot().undot().undot().undot().undot()
7.柔化滤镜
SpatialSoften / TemporalSoften 空间轴和时间轴柔化滤镜
FluxSmooth(5,7) 柔化滤镜
Convolution3d("moviehq") 3D优化滤镜
deen()
2者需要加载相应的滤镜插件
柔化滤镜具体参数参见那2篇
8,锐化、模糊滤镜
Sharpen(0.2,0)/Blur(0,1)
2个数值分别表示水平参数和垂直参数
一般Sharpen(0.2)表示Sharpen(0.2,0.2)
Blur(0,1)是模糊滤镜,设置了垂直参数可以消除些边缘刻痕
可以连续加载Blur(0,1).Blur(0,1)
可以结合MergeChroma / MergeLuma来使用,如
MergeLuma(Blur(0,1)Blur(0,1))
Blur(-1)就相当于锐化滤镜了
VCD-rmvb压制的介绍中还有个Warpsharp()锐化滤镜介绍
交错滤镜
Decomb
IVTC和Deinterlace滤镜:由Donald 编写,新增加的专门处理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("")
Telecide(Guide=1,Gthresh=50,Chroma=True,Quality=3,Post=false)
Decimate(cycle=5) # NTSC 3:2 PullDown
LoadPlugin("")
Telecide(Guide=1,Gthresh=50,Chroma=True,Quality=3,Post=false)
Decimate(Cycle=5,Mode=2) # NTSC Progressive和Interlaced混合
LoadPlugin("")
Telecide(Guide=2,Gthresh=50,Chroma=True,Quality=3,Post=false)
Decimate(Cycle=25) # PAL


发布评论