一、简述

AviSynth是AVI SYNTHesizer的缩写,是一款优秀的帧服务器程序(帧服务器是指将视频处理后直接输出到其他程序,没有其他临时文件的产生),因其特殊的工作方式,可以给视频增加滤镜,合并视频文件,或者将不支持的格式导入Premiere或者Vegas中。

相当于一个桥梁的角色哦~

AviSynth是使用脚本来工作的,当脚本文件(.avs)被打开时,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处理的影像文件在运行过程中直接导入应用程序,没有临时文件,所以节省硬盘空间。

主页:http://avisynth.org/mediawiki/Main_Page

 

二、安装

安装十分简单,到主页上下载,一路下一步就可以了。PR和Vegas需要对应的插件,大家网上搜索一下吧

 

三、内建滤镜

AviSynth内建了数目繁多的滤镜,这里只介绍常用的部分。

在写脚本的时候,如果你使用Notepad++等可以调整编码格式的编辑器,要把编码设置成ANSI,否则程序不会识别。

在使用脚本时,所有需要提供文件名的地方,直接写文件名,就需要把脚本和视频放到一个目录中。如果分开放置,文件名处则填写文件的绝对路径。

例:x:\temp\test.avi

0、最最常用的,PR和Vegas导入视频

DirectShowSource("test.avi",25)

注:25表示导入时的帧速,根据自己的需求进行更改。

1、源文件滤镜

① AVISource

导入AVI,对于DivX或XviD,需要安装相应的Codec。

例: AVISource("test.avi")

② WAVSource

导入WAV

例: WAVSource("test.wav")

 

2、处理滤镜

① AddBorders

加边:给影像加黑边,尤其适用于对16:9的影像加字幕,希望不影响图像,把字幕加在图象的下方的情况。参数是整数,顺序是左、上、右、下。

例: AddBorders(0,64,0,64)

注:上面示例是把640*352(16:9)的视频改成640*480(4:3)的视频。

② ConvertToRGB 和 ConvertToYUY2

改变颜色环境:

VD和AviUtl第三方滤镜有的需要RGB环境才能运行,需要ConvertToRGB来进行切换。

有的RAW文件是RGB的,但调用的AVISynth滤镜只能运行在YUV下,就需要用ConvertToYUY2来运行。

例: ConvertToRGB()      注:改变成RGB颜色环境

ConvertToYUY2()   注:改变成YUV颜色环境

③ Crop

切边:为了保持比例或切除黑边,参数是整数,顺序是左、上、宽、高。

例: Crop(8,0,704,480)   注:左右各切去8,以保持比例

④ Levels

层次:调节亮度、对比度和Gamma值。

例: Levels(0,1.2,255,0,255)   注:调整Gamma,使画面变亮

⑤ LanczosResize

放大缩小:Lanczos采样方法可以在图像处理中看到,是BicubicResize的替代者,提供更精准、更锐利的画质。

例: LanczosResize(640,480)  注:把分辨率改变为640*480

 

3、编辑滤镜

①FadeIn 和 FadeOut

淡入和淡出:提供淡入和淡出功能,尤其是淡出功能,可以使影片结束地更自然。参数为整数,表示需要编辑的帧数。

例: FadeOut(24)   注:影片最后1秒淡出

②Trim

截取:决定需要处理的部分。参数为整数,表示需要编辑的开始帧和结束帧。对抽样做Sample比较有用。

例: Trim(240,480)  注:决定处理240~480这一片断

4、声音滤镜

① AudioDub

影音合并:可以把影像和声音合并在一起。适用用用Helix直接做RMVB格式的DVDrip。

例: Video = AVISource("test.avi")

Audio= WAVSource("test.wav")

AudioDub(Video,Audio)   注:把test.avi和test.wav合并

② GetLeftChannel 和 GetRightChannel

获取声道:把立体声的左右声道单独返回,适用于左右声道不同语种的WAV。

例: stereo=WavSource("test.wav")

return GetLeftChannel(stereo)   注:返回test.wav的左声道

③DelayAudio

声音延迟:由于从VOB里分离的AC3通常有延迟,所以用Azid转码得到的WAV也有延迟,在用AudioDub合并时就需要加上这个延迟。

例: WavSource("test.wav").DelayAudio(0.5)  注: 把test.wav延迟半秒

 

四、第三方滤镜

AviSynth最强大之处就是有数目繁多、功能强大的第三方滤镜;同时还可以调用VD以及AviUtl的滤镜;甚至还有特别开发的接口,可以让TMPGEnc和AviUtl读取AVS。

和内建滤镜不同,第三方滤镜需要先调用声明,再可以使用。

1、源文件滤镜

① MPEG2Dec

由dividee编写的读取DVD2AVI产生的d2v工程文件的滤镜。

例: LoadPlugin("MPEG2Dec.dll")

MPEG2Source("test.d2v")

② MPEG2Dec2

MPED2Dec加强版,支持SSE。

例: LoadPlugin("MPEG2Dec2.dll")

MPEG2Source("test.d2v")

③ MPEG2Dec3

MPED2Dec2加强版,增加支持SSE2和3D Now!,同时可以降噪。

例: LoadPlugin("MPEG2Dec3.dll")

MPEG2Source("test.d2v",CPU=4) # CPU=4就是开启了PP模式

 

2、字幕滤镜

① VobSub

Sub字幕:VobSub不但是外挂字幕的好手,内嵌字幕也是一样的强。

将字幕的2个文件test.idx和test.sub放在同一个目录下就可以了。

例: LoadPlugin("VobSub.dll")

VobSub("test")

② TextSub

SSA和ASS字幕:这个也是VobSub自带的,可以内嵌特效字幕。

例: LoadPlugin("TextSub.vdf")

TextSub("test.ssa")

版权声明
转载保留版权: 大D技研室 | 《AviSynth常用脚本语法》
本文链接地址:https://www.dadclab.com/archives/999.jiecao
转载须知:如果您需要转载本文,请将版权信息,版权授权方式,以及本文的链接地址注明,谢谢合作。
本文被贴上了: , , , 标签