利用AVS加载字幕和一些转片常用的滤镜.docx
- 文档编号:3431147
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:11
- 大小:23.68KB
利用AVS加载字幕和一些转片常用的滤镜.docx
《利用AVS加载字幕和一些转片常用的滤镜.docx》由会员分享,可在线阅读,更多相关《利用AVS加载字幕和一些转片常用的滤镜.docx(11页珍藏版)》请在冰豆网上搜索。
利用AVS加载字幕和一些转片常用的滤镜
第二讲,利用AVS加载字幕和一些转片常用的滤镜!
一、初识AVS
AviSynth是AVISYNTHesizer的缩写,意思就是AVI和成器,是一个Frameserver。
(Frameserver就是一个把影像文件从一个程序转换到另外一个程序的过程,其间没有临时文件或中介文件产生)
AviSynth是由BenRudiak-Gould首创的一种非常有用的工具,能够提供各种方式来合并和滤镜处理影像文件。
最独特的就是AviSynth并不是一个孤立的影像处理程序,而是在影像文件和应用程序之间担任“中间人”的角色。
因此使用AviSynth有5大优势:
1.YUV支持:
内建滤镜可以在YUV环境下运行,第三方滤镜几乎也兼容YUV,所以比起VirtualDub、NanDub的内嵌滤镜必须在RGB环境下运行要快很多。
省却了一个转换的过程,将来还可以支持YV。
2.滤镜处理:
内建许多影像处理滤镜,比如Resizing,Cropping等。
还有大量的第三方强力滤镜,并可以调用VirtualDub以及AviUtl的第三方滤镜。
3.突破2G限制:
通过AviSynth打开影像文件就相当于应用程序直接打开,这样就可以使本身有2G限制的程序也能突破2G的限制。
4.打开格式:
AviSynth可以打开几乎所有影像文件,包括MPEG和QuickTime。
所以当影像应用程序通过AviSynth打开这些文件时,会被认为是打开标准的AVI,这样就可以处理影像应用程序本身并不支持的格式。
5.节省硬盘空间:
AviSynth处理的影像文件在运行过程中直接导入应用程序,没有临时文件,所以节省硬盘空间。
AviSynth现在有3个版本,第一个是BenRudiak-Gould的首先编译的AviSynthv1.0b;在BenRudiak-Gould停止开发后,EdwinvanEggelen继续开发,最新的版本是AviSynthv1.0b6;在2002年7月第二次源码编写计划开始,目前最新的版本是AviSynthv2.5.7,新的v2.6版还在开发中。
最后一个版本比较强大,更新速度快,增加了许多实用的命令,也吸收了一些优秀的第三方滤镜成为内建滤镜,强力推荐使用。
对于AVS文件,我们可以把它当作是视频文件,因为安装好AviSynth以后,AVS文件可以像AVI那样被暴风影音打开。
先来简单了解下它的工作过程:
新建个文本文件,然后将后缀改为.avs(文件名可任意,但后缀必须是.avs)如:
01.txt->01.avs。
AVS文件中包含的是一行行的特定命令的文本,称之为"脚本"。
举个最简单的例子:
将下面的一行代码保存在新建的AVS文件中。
这里假设D盘根目录中有一段AVI视频。
文件名为test。
Directshowsource(“d:
\test.avi”)
然后把这个AVS文件拖到暴风影音里放放看。
当然如果AVS仅限这点功能,我们还不如直接用暴风打开源视频。
下面再举个最常用的滤镜---加载字幕。
Loadplugin(“d:
\avsplugin\vsfilter.dll”)
Directshowsource(“d:
\test.avi”)
Textsub(“d:
\test.srt”)
*脚本说明:
Loadplugin() 是加载插件的意思,括号里面的是插件的路径。
Textsub 滤镜(字幕滤镜)没有被AVS内置,所以需要加载vsfilter.dll这个文件字幕文件。
请先下载滤镜插件包,里面有vsfilter.dll。
Directshowsource() 是读取源视频文件,括号里面的是影片的路径。
更详细的关于这个滤镜的介绍请往下看。
Textsub() 这个就是为视频加载上字幕的语句
这样再用暴风打开这个AVS看看是否已经为影片增加字幕了。
二、特效的内嵌
AviSynth内建了数目繁多的滤镜,所以只能介绍一些最常见实用的一部分。
1、源文件滤镜
1.AVISource
导入AVI,对于DivX或XviD,需要安装相应的Codec。
例:
AVISource("test.avi")
打开avi的影片
2.WAVSource
导入WAV
例:
WAVSource("test.wav")
3.Directshowsource
般directshowsource如同其名,只要安装directshowsource的插件,也就是说,可以用mediaplayer来播放,那么就可以用Directshowsource来加载。
Iphone压片用的比较多。
例:
Directshowsource(“d:
\test.mkv”)打开mkv的影片
4.MPEG2Dec
由dividee编写的读取DVD2AVI产生的d2v工程文件的滤镜,同时内建去除Noise的TemporalSmoother。
例:
LoadPlugin("MPEG2Dec.dll")
MPEG2Source("test.d2v")
5.MPEG2Dec2
trbarry在MPEG2Dec的基础上进行了改进,支持P4的SSE2指令集。
用文本编辑工具打开d2v,把iDCT_Algorithm=?
改成5就可以了。
速度很快,效果也好,推荐P4CPU的用户使用。
例:
LoadPlugin("MPEG2Dec2.dll")
MPEG2Source("test.d2v")
6.MPEG2Dec3
在MPEG2Dec2的基础上再进行了改进,加入了Nic的图像后处理(PP),一定程度上可以减少Noise。
好像除了P4的SSE2外,还加入了AMD的3DNow!
优化,目前还在开发中,是个非常有前途的滤镜。
例:
LoadPlugin("MPEG2Dec3.dll")
MPEG2Source("test.d2v",CPU=4)#CPU=4就是开启了PP模式
2、处理滤镜
1.AddBorders
加边:
给影像加黑边,尤其适用于对16:
9的影像加字幕,希望不影响图像,把字幕加在图象的下方的情况。
参数是整数,顺序是左、上、右、下。
例:
AddBorders(0,64,0,64)
#把640*352(16:
9)改成640*480(4:
3)
说明一下(0,64,0,64)这个参数。
(0左边加0像素黑边,64上边加64像素黑边,0右边加0像素黑边,64下边加64像素黑边),这样就是把640*352上下各加上了64,也就是加上128。
所以就等于是640*(352+128)。
2.ConvertToRGB和ConvertToYUY2
改变颜色环境:
VirtualDub和AviUtl第三方滤镜有的需要RGB环境才能运行,需要ConvertToRGB来进行切换。
有的RAW文件是RGB的,但调用的AVISynth滤镜只能运行在YUV下,就需要用ConvertToYUY2来运行。
例:
ConvertToRGB()
#改变成RGB颜色环境,这个是截取图片采用的参数。
ConvertToYUY2()
#改变成YUV颜色环境,如果转一些RM、RMVB,才有可能用到!
3.Crop
切边:
为了保持比例或切除黑边,参数是整数,顺序是左、上、宽、高。
例:
Crop(8,0,704,480)
#左右各切去8,以保持比例
说明:
(8,0,704,480)对应的是(左、上、宽、高)
4.Levels
层次:
可以调节亮度、对比度和Gamma值,一般常用来调节亮度。
例:
Levels(0,1.2,255,0,255)
#增加画面亮度
其它参数默认,只改第二个亮度参数,数值在1.2-1.7之间比较合适,一般1.5比较合适.vob文件一般会出现背景暗的问题,就需要增加点亮度。
5.LanczosResize
放大缩小:
Lanczos采样方法可以在图像处理中看到,是BicubicResize的替代者,提供更精准、更锐利的画质。
本来是日本人开发的第三方滤镜,在日本普遍使用,欧美使用BicubicResize。
自2.05版本开始吸收为内置滤镜。
最新的是Lanczos4Resize参数
例:
LanczosResize(640,480)
#把分辨率改变为640x480
Lanczos4Resize(640,480)
#把分辨率改变为640x480一样的效果,比上面相对好些
6.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。
一般将亮度(第三个参数)调节在10-20之间。
注意Tweak的其他调节可能和颜色控制环境有关,如YUY2,因此其它的最好不要再改动。
3、编辑滤镜
1.FadeIn和FadeOut
淡入和淡出:
提供淡入和淡出功能,尤其是淡出功能,可以使影片结束地更自然。
参数为整数,表示需要编辑的帧数。
例:
FadeOut(24)
#影片最后1秒淡出,看你影片的FPS,如果是23.97,则24帧=1秒。
以此类推。
2.Trim
截取:
决定需要处理的部分。
参数为整数,表示需要编辑的开始帧和结束帧。
对抽样做Sample比较有用。
例:
Trim(240,480)
#决定处理240~480这一片断
3.ChangeFPS
改变影片帧率,iphone一般来说支持最大30fps。
例:
ChangeFPS(23.976)
#改变影片帧率有几种数值12、15、20、23.976、24、25、29.97、30这几种,一般来说不改变也行。
4.undot()
消除噪点,可以使用一个或多个,可以连在一起用,自己看效果体会。
无参数,直接加上就行了。
undot滤镜是进行象素及细小噪点降噪,一般用来去除细小的、肉眼不容易察觉的噪点,所以具体效果上并不明显。
例:
加在其它滤镜后,使用多次。
LoadPlugin("UnDot.dll")
DirectShowSource("test.avi")
UnDot()
LanczosResize(480,272)
UnDot()
或者:
UnDot().UnDot().UnDot().UnDot()
具体用暴风预览效果。
5.FluxSmooth()
柔化兼有降噪功能,比UnDot()作用要强些.
例:
LoadPlugin("fluxsmooth.dll")
fluxsmooth(5,7)
一般用这个默认(5,7)
6.KenKunNR()
KenkunNR是WarpSharp自带的降躁插件,具体参数KenKunNR(threshold=1to3),数值越大,强度越大。
例:
LoadPlugin("WarpSharp.dll")
KenKunNR(threshold=1)
7.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)强力
8.SpatialSoften()
空间轴柔化滤镜。
基本参数3个,如SpatialSoften(4,8,8)第一个指柔化程度,数值不要太大,2-5之间,后2个是亮度域值和色彩域值,均为整数型数值,需要测试调节.
9.TemporalSoften()
时间轴柔化滤镜。
例:
Temporalsoften(2,3,3,mode=2,scenechange=6)
#一般用这个参数就行了
10.Convolution3d()
3D柔化滤镜.参数一般动画用animeHQ,电影用movieHQ.
例:
LoadPlugin("Convolution3d.dll")
#转电影
Convolution3d("movieHQ")
#转动画
#Convolution3d("animeHQ")
11.sharpen()
锐化滤镜:
数值越大,锐化效果越强.
例:
sharpen(0.2)一般取0.2~0.3
12.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)#线条比上细,全屏的时候,明显感觉出锯齿
13.mergechroma(blur(1.3))
模糊滤镜.
柔化滤镜可以参考一些自动生成的模板,如
#1)littlenoise
#Temporalsoften(2,3,3,mode=2,scenechange=6)
#mergechroma(blur(1.3))#可以换成MergeLuma(blur(1.0))
#FluxSmooth(5,7)
#
#2)mediumnoise
#Temporalsoften(3,5,5,mode=2,scenechange=10)
#Convolution3d("moviehq")
#FluxSmooth(7,7)
#
#3)heavynoise
#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)就相当于锐化滤镜了
14.SimpleResize
放大缩小:
由trbarry编写的,由于对SSE进行了优化,所以速度快,效果好。
替代了AviSynth中的BilinearResize。
和LanczosResize的米切尔双立方体算法不同,这个是单纯的双线性算法。
LanczosResize的画质更锐利和真实,适合普通电影;而SimpleResize的画质较柔和,适合动画。
例:
LoadPlugin("SimpleResize.dll")
SimpleResize(640,480)
15.ColorYUY2
颜色补偿:
Kiraru2002编写的滤镜。
由于经过编码,得到的结果和DVD相比较,颜色有所改变,所以要对颜色进行补偿。
例:
LoadPlugin("ColorYUY2.dll")
ColorYUY2(0,10,0,10,0,0,0,0,0)
16、交错滤镜(转DVD片源的滤镜)
DecombIVTC和Deinterlace滤镜:
由DonaldA.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时的处理重复帧的程度。
Quality0~3,默认2,采样和色度的质量,与速度成反比。
但是最近的几个版本似乎都存在一个问题,就是处理后的画面有波动现象,并伴随影片里文字闪烁现象,所以还是用老版本的保险。
例:
LoadPlugin("Decomb.dll")
Telecide(Guide=1,Gthresh=50,Chroma=True,Quality=3,Post=false)
Decimate(cycle=5)
#NTSC3:
2PullDown
LoadPlugin("Decomb.dll")
Telecide(Guide=1,Gthresh=50,Chroma=True,Quality=3,Post=false)
Decimate(Cycle=5,Mode=2)
#NTSCProgressive和Interlaced混合
LoadPlugin("Decomb.dll")
Telecide(Guide=2,Gthresh=50,Chroma=True,Quality=3,Post=false)
Decimate(Cycle=25)
#PAL
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")
returnGetLeftChannel(stereo)
#返回test.wav的左声道
③DelayAudio
声音延迟:
由于从VOB里分离的AC3通常有延迟,所以用Azid转码得到的WAV也有延迟,在用AudioDub合并时就需要加上这个延迟。
例:
WavSource("test.wav").DelayAuido(0.5)
#把test.wav延迟半秒
④AmplifydB
声音加大,iphone内置的声音太小了,转片一般都需要这个!
例:
AmplifydB(30,30,30)
#左右中声道放大30DB
4、字幕滤镜
①VobSub
Sub字幕:
VobSub不但是外挂字幕的好手,内嵌字幕也是一样的强。
将字幕的2个文件test.idx和test.sub放在同一个目录下就可以了。
例:
LoadPlugin("VobSub.dll")
VobSub("test")
②TextSub
SSA和ASS字幕:
这个也是VobSub自带的,可以内嵌特效字幕。
例:
LoadPlugin("TextSub.vdf")
TextSub("test.ssa")
三、实例应用:
第一个:
比如我们加载一个720p的HDTV电影。
这就是一个完整的AVS文件。
LoadPlugin("C:
\ProgramFiles\GordianKnot\AviSynthPlugins\decomb.dll")
LoadPlugin("C:
\ProgramFiles\GordianKnot\AviSynthPlugins\VSFilter.dll")
LoadPlugin("C:
\ProgramFiles\GordianKnot\AviSynthPlugins\UnDot.dll")
LoadPlugin("C:
\ProgramFiles\GordianKnot\AviSynthPlugins\Convolution3D.dll")
directshowsource("F:
\HDTV\Heroes\test.mkv")
textsub("F:
\HDTV\Heroes\test.ass")
lanczos4resize(480,272)
Levels(0,1.3,255,0,255)
Convolution3d("movieHQ")
Tweak(0,1,15,1)
sharpen(0.3)
undot()
Amplif
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 AVS 加载 字幕 一些 常用 滤镜