avs讲解及其在rmvb压制中的合理运用Word格式文档下载.docx
《avs讲解及其在rmvb压制中的合理运用Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《avs讲解及其在rmvb压制中的合理运用Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
这也是在使用avs压制rmvb时调用滤镜需要注意的问题。
DVDRIP-rmvb的压制请使用我中高级教程里介绍的方法来压制,更显成熟和含蓄!
因为黑边裁减、画面缩放和亮度调节都可以通过辅助软件如ffdshow来实现。
请注意我使用的少数几个ffdshow的辅助功能(ffdshow可以变相的认为是avs滤镜的插件化)。
其道理和avs是一样的,我只是用了其字幕、调节亮度和缩放尺寸等少数几个功能!
avs用于DVDRIP-rmvb的压制,主要是利用其合成功能将多个avi文件直接压制成一个rmvb。
灵活处理加载源、字幕选择、双语声道选择等问题。
也就是说利用的是avs技巧(加载,合成)而不是单纯滤镜(颜色环境转换滤镜、各类柔化、锐化滤镜、场处理滤镜等)
avs用于rmvb的压制选用滤镜主要是处理VCD(mpge1/dat)、DVD(mpge2)、SVCD(bin)等视频源。
以便获得更好的压制效果。
参见具体帖子的内容。
下面介绍些基本方法和常用滤镜。
首先安装avisynth,并将常用虑镜插件dll文件拷贝到安装目录的plugin目录里,如此有些滤镜不用增加LoadPlugin()语句,如字幕滤镜
为了能充分利用合适的滤镜,也避免新手使用中出现的加载滤镜出错的情况,请同时安装DVDRIP制作入门级的工具包,GordianKnot,简称GK。
这个软件可以到射手网或者太平洋下载中心下载到!
推荐0.28.7版本,其内置avisynth2.53版本和几个常用的辅助滤镜如
mpeg2dec3.dll
IVTC/Deinterlace类:
decomb.dll,kerneldeint.dll
降噪、柔化类:
undot.dll,FluxSmooth.dll,Convolution3d.dll,deen.dll等
缩放滤镜:
SimpleResize.dll
字幕滤镜:
VSFilter.dll
其它辅助工具有:
提取vob文件的DVDecrypter、DVD2AVI,音频分离工具AVI_MUX1.13(此版本基本可以处理所有的ac3/dts和mp3类双语片,ogg的可以用VDM1.5.*版本提取)
avisynth版本可以在这个基础上进行升级,如较好的2.55版本
一基本代码
1.LoadPlugin(),加载插件.dll文件。
如:
LoadPlugin("
VSFilter.dll"
)#加载字幕滤镜
mpasource.dll"
)#加载mp3解码滤镜
C:
\ProgramFiles\GORDIA~1\mpeg2dec3.dll"
)#加载d2v工程文件的解码滤镜
\ProgramFiles\GORDIA~1\decomb.dll"
)#加载场处理滤镜
滤镜下载可以到
http:
//www.avisynth.org/warpenterprises/
各滤镜都附带简单的参数说明
并解压制到plugin目录里(当然目录可以自己选定,也可以都解压到GK的目录内)
或者
在avs文本开始的地方设置滤镜的目录,如
SetWorkingDir("
\PROGRA~1\GORDIA~1\"
)
如此接下来的
LoadPlugin()中,直接写滤镜名
加载滤镜还有2个
LoadVirtualDubPlugin()#加载VD的滤镜,.vdf文件
LoadVirtualDubPlugin(C:
\VirtualDub\PlugIns\logo.vdf)
AVISource("
file.avi"
ConvertToRGB32()#需要转换颜色环境
VD_logo(3,320,255,true,0,0,0,45,"
E:
\logo.bmp"
false,276,216,0,20,492,10)
此为利用VD的滤镜在影片中加载静态图像,具体参数可以到我技术区查阅相关帖子。
LoadVFAPIPlugin()#加载TMPGEnc滤镜
TMPGEnc的滤镜用于avs主要是利用其提供的IVTC作用,而在rmvb压制中,选择这类ivtc可谓得不偿失,故略过
2.源媒体读取
DirectShowSource("
e:
\vob\ss.VOB"
DirectShowSource()在高版本avisnyth中显得更万能些,常用的媒体格式,如avi、mpge1/dat、mpge2/vob/bin都可以加载,另外可以不用分离视频和音频,而直接压缩!
想要直接压制vob请使用高版本的avisynth,如目前的2.55
AVISource(e:
\avi\1.avi,false)
这个对于DVDRIP压制者来说可能更常用些.false表示禁止音频!
在用AudioDub合成时,无需定义是否禁止音频。
WAVSource("
\vob\ss.wav"
)读取wave音频
AC3SOUECE("
\vob\ss.ac3"
)读取ac3音频
MPASOURCE("
\vob\ss.MP3"
)读取mp3音频
注:
WAVSOURCE和AVISOURCE是属于核心脚本,无须读取插件,但AC3SOURCE和MPASOURCE需要读取AC3SOURCE和MPASOURCE插件。
DirectShowSource的读取需要安装各种音频和视频的解码器,目前基本可以用DirectShowSource来读取ac3和mp3格式。
mpeg2source("
\temp\sample.d2v"
cpu=4)#读取d2v文件,具体参加vob-rmvb压制的教程,特别注意有时必须用d2v加载的情况。
而且如果片子较短,如一些科教片,1CD也就45min左右的,可以直接用DVD2AVI生成d2v和音轨直接在光驱上压制即可!
3.crop()、LanczosResize()裁黑边和调整大小
这avs用于vob压制的关键因素之一
裁减黑边和缩放画面是vob文件压制中很重要的因素,一般连用
crop(左切,上切,-右切,-下切)
全屏模式的
crop(16,8,-16,-8)#16为起始数值,如果切不干净,再增加数值,一般加4的倍数
LanczosResize(512,384)
16:
9画面的有2种情况,请记住这几个数值,在rmvb压制中直接套用即可!
DVD变形宽银幕:
640×
352,608×
336
电影宽银幕:
640×
272,这个可以保留部分黑边,将字幕增加进去,画面变成640×
360
请直接记住这几句就可以了得到最佳的rmvb画面大小了!
4.亮度滤镜
亮度滤镜是使用avs压制vob-rmvbvcd-rmvb的又一关键因素。
介绍2个
Levels(0,1.5,255,0,255)
改第二个,数值在1.2-1.7之间比较合适,一般1.5比较合适
Tweak(0,1,20,1)
4个浮点数分别表示:
调节色度,饱和度,亮度,对比度。
一般将第三个调节在0-30之间,以10-20为宜
个人感觉level()比较好,主要调背景为主,而vob文件主要是背景暗。
注意Tweak的其他调节可能和颜色控制环境有关,如YUY2,因此其它的最好不要再改动
如果感觉片子偏红那么Tweak(-5,1.2,15,1)
如果感觉片子苍白,那么Tweak(5,1.4,10,1)
5.字幕滤镜
TextSub("
h:
\avs\jrvs.ssa"
)加载水印文本
VobSub("
\vob\ss.idx"
)加载影片字幕
如果字幕和avs文件放在一个目录里,那么可以省去路径甚至是后缀名,如VobSub("
ss"
)
注意,字幕应该加载整个avs语法序列的最后,特别是在裁减缩放滤镜的后面。
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()锐化滤镜介绍
9,颜色环境转换
ConvertToRGB/ConvertToRGB32#用于内嵌图片时,一般不用
ConvertToYUY2/#根据出错提示来,如一些柔化滤镜SpatialSoften
ConvertToYV12#加载Convolution3d和deen时需要转换
10场处理滤镜,参见vob-rmvb压制
二,组合和连用
先给几个个具体的avs内容
1.VCD-rmvb的通用滤镜
#LoadPlugin("
c:
\ProgramFiles\GORDIA~1\undot.dll"
\ProgramFiles\GORDIA~1\Convolution3d.dll"
\ProgramFiles\GORDIA~1\deen.dll"
\ProgramFiles\GORDIA~1\FluxSmooth.dll"
\ProgramFiles\GORDIA~1\Warpsharp.dll"
)#不加也行
F:
\mpge\2.dat"
crop(8,4,-12,-4)#自由裁减
LanczosResize(448,336)#VCD-rmvb应该适度的放大画面
Levels(0,1.2,255,0,255)#先增加亮度,将噪音都放大,之后再用柔化滤镜
sharpen(0.2)#表面上看来应先柔化再锐化,sharpen应加在最后,同上
FluxSmooth(5,7)
)#注意字幕应放在裁减之后
#GetChannel
(2)#表示需要国语声道
当然本人的滤镜还会根据实际情况增加FieldDeinterlace,tweak,MergeLuma等滤镜,不过以上这个模板基本可以压制出显眼的rmvb作品,也是我推荐给论坛连续剧压制组的一套滤镜。
2
video=DirectShowSource("
\mpge\*.dat"
video=Levels(video,0,1.2,255,0,255)
returnGetChannel(video,2)
3.
V=MPEG2Source("
D:
\vob\08.d2v"
).FieldDeinterlace(blend=false).UnDot()
V=crop(v,16,4,-16,-4).LanczosResize(448,336).UnDot()
V=Levels(V,0,1.2,255,0,255).UnDot().vobsub("
08.idx"
a=DirectShowSource("
\vob\08.ac3"
AudioDub(v,a)
相当于
MPEG2Source("
FieldDeinterlace(blend=false)
UnDot()
crop(16,4,-16,-4)
LanczosResize(448,336)
Levels(0,1.2,255,0,255)
vobsub("
4,
DelayAuido(DirectShowSource("
\temp\sample.GRF"
),100)
a2=DelayAuido(a,100)
参考DVD压制篇
5,
ERP的avs框内可以添加以下内容以实现成批压制
\ProgramFiles\GORDIA~1\VSFilter.dll"
video=video.crop(8,4,-12,-4).LanczosResize(448,336)
video=video.Levels(0,1.2,255,0,255).sharpen(0.2)
video=FluxSmooth(video,5,7)
video=video.TextSub("
说明
#表示禁止某句语法
.(点)连用,如此可以省略一些变量。
当然有些滤镜,特别是组合套用的滤镜不能用点来引出。
非合成语句定义参数者需再加return语句,这也是ERP的辅助avs功能中需要注意的地方,因为强制了returnvideo结束,所以avs语句中需要增加video变量。
三,avs的合成
1
video=AVISource("
\1.avi"
).Levels(0,1.3,255,0,255).Lanczosresize(512,384).TextSub("
\logo.ssa"
).VobSub("
\1.idx"
).#定义了avi源、亮度、画面大小、字幕、水印
audio=DirectShowSource("
\1.mp3"
)#音频
AudioDub(video,audio)
).TextSub("
)#亮度、缩小画面可以在ffdshow中设置
该方法可以用于双语DVDRIP的压制,使用双语处理的软件提取自己要的声道即可,而不要再合并成avi了!
b=directshowSource("
\avs\cd1.avi"
\BBSLogo\logo.ssa"
\avs\cd1.idx"
c=directshowsource("
\avs\cd2.avi"
\avs\cd2.idx"
final=b+c
returnfinal
这个语法很好,直接将多CD的压制成一个rmvb,可以在一定程度上解决单CD码率过度错位。
如分别1pass压制CD1和CD2可能会由于码率错位太大而使文件增大,但如果2个一起压制,则可能由于码率补偿,平均码率错位反而不大,而使文件大小减小。
请注意,这里自己可以将水印放在CD1上
一般DTS的都要2CD以上,有时影片长度也不长,所以DTS的电影可以这么写avs压制,先将DTS的转换成wave
video=directshowSource("
\cd1.avi"
).Vobsub("
\cd1.idx"
)+directshowSource("
\cd2.avi"
\cd2.idx"
audio=wavSource("
\cd1.wav"
)+wavSource("
\cd2.wav"
3,双语rmvb的制作
a,双语DVDRIP压制成双语的rmvb
先用AVIMux_GUI来处理音频。
右键点击提示另存为mp3即可
对于喜欢压制rmvb而门外与DVDRIP压制的朋友建议使用AVIMux_GUI来处理音频,更显轻松合理。
avs语法如下:
false).TextSub("
R=directshowSource("
\R.MP3"
)#mp3的压制问题较多,所以有些情况下用MPASOURCE加载
L=directshowSource("
\L.MP3"
stereo=MergeChannels(R,L)
returnAudioDub(video,stereo)
以上都是avi,都可以自动关联ffdshow,所以亮度可以在ffdshow里设置!
但请同时去掉ffdshow的字幕和avisynth功能
4,增加黑边同时利用ssa字幕控制字幕显示
a=aviSource("
\avs\a.avi"
).AddBorders(0,40,0,40).Levels(0,1.2,255,0,255).textsub("
\avs\cd1.ssa"
).textsub("
\bbslogo\logo.ssa"
b=aviSource("
\avs\b.avi"
\avs\cd2.ssa"
c=aviSource("
\avs\c.avi"
\avs\cd3.ssa"
d=a+b+c
returnd
此为2.35:
1的宽银幕片子增加黑边,然后将字幕控制在黑边内,字幕位置可以在ssa中定义。
avs在rmvb压制中另外一个作用是利用ffdshow支持avisynth的功能来实现多字幕的加载,部分动态水印可以通过这种方法来实现,但是还不是很完善,请参见水印的那个帖子
第二,部分VCD/mpge格式由于插件冲突,在播放时能自动加载版权水印,但用压缩软件压缩时就不能自动加载了,那么这个时候,就可以利用avs来加载
再来谈谈2个重要的加载滤镜directshowsource和avisource
avs的重要功能体现在其合成、嵌套以及强大的增强滤镜。
早期的avs需要先分离视频和音频,然后再利用avs的合成,比较繁琐,一般人也不愿意接触。
随着avisynth版本的提高,directshowsource和avisource可以直接加载,不用分离视频和音频了,avs语法也显得简练起来,因此目前的avs开始广泛的普及了。
不过我先提到,真正的掌握和利用avs,可能还是要用到其分离合成的步骤,呵呵!
我下面是从实用性角度(比如我们最常接触的几种rmvb的压制)谈谈。
directshowsource,avisource是avs中最强大的2个加载语法,版本越高越强大!
一般directshowsource如同其名,只要安装directshowsource的插件,也就是说,可以用mediaplayer来播放,那么就可以用Directshowsource来加载。
如,安装了ac3filter7.0,就可以直接用Directshowsource来加载ac3音频了,安装了mpge2插件,Directshowsource就可以加载bin(SVCD)和vob(DVD)文件了。
牛过的mimi8(阿飞)的解码插件包,基本是基于directshowsource的插件,配合avs,很大程度上方便了directshowsource的运用!
而avisource和wavescource,ac3scource还有mpascource实际是一个性质的东西,他们可以加载不能Directshowsour