avs使用技巧与方法.docx
- 文档编号:484466
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:11
- 大小:24.31KB
avs使用技巧与方法.docx
《avs使用技巧与方法.docx》由会员分享,可在线阅读,更多相关《avs使用技巧与方法.docx(11页珍藏版)》请在冰点文库上搜索。
avs使用技巧与方法
AVS详细的讲解
作者:
Gary日期:
2008-07-08
字体大小:
小中大
AviSynth是AVISYNTHesizer的缩写,意思就是AVI和成器,是一个Frameserver。
(Frameserver就是一个把影像文件从一个程序转换到另外一个程序的过程,其间没有临时文件或中介文件产生)
AviSynth是由BenRudiak-Gould首创的一种非常有用的工具,能够提供各种方式来合并和滤镜处理影像文件。
最独特的就是AviSynth并不是一个孤立的影像处理程序,而是在影像文件和应用程序之间担任“中间人”的角色。
AviSynth的基本工作原理是这样的:
首先建立一个包含特定命令的文本,称之为“脚本”(后缀为avs),这些命令指定要运行处理的影像文件和滤镜;
然后运行影像应用程序,比如VD或ND,打开脚本。
此时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现在有3个版本,第一个是BenRudiak-Gould的首先编译的AviSynthv1.0b;在BenRudiak-Gould停止开发后,EdwinvanEggelen继续开发,最新的版本是AviSynth2.5.8Alpha;在2002年7月第二次源码编写计划开始,目前最新的版本是AviSynth2.5.8Alpha,新版本2.5x增加了YV12的支持,增加了许多实用的命令,也吸收了一些优秀的第三方滤镜成为内建滤镜
AviSynth是AVIsynthesizer的缩写,简单来说就是个合成平台!
在媒体文件和压缩软件之间担任"桥梁"的角色。
这座桥梁不是简单的独木桥、而是有栏杆、有台阶(比喻其提供的大量虑镜)。
因此比较灵活!
如对于压制real格式来说,源媒体文件是vob、d2v(DVD处理过程中的中间文件)、ac3、mp3、avi、DAT/mpge等,而应用程序是各种real压缩软件如Helixrealproducer,BatchRealProducer和EasyRealProducer,它们都支持avs的导入。
个人推荐使用EasyRealProducer(可能目前的版本在avs方面不够完善,但趋势是明朗的,呵呵)。
AutoRv9虽然在avs方面有所体现,但不适合刚接触rmvb压制的朋友.
AviSynth首先要编写建立一个包含特定命令的文本,称之为"脚本"(文件后缀名为avs),这些命令指定要运行处理的媒体文件和滤镜!
AviSynth的平台和相关滤镜更新比较快,功能不断增加,编辑avs脚本也更简单。
在射手网可以下载到这个平台软件。
至于滤镜可以到得到http:
//www.avisynth.org/warpenterprises/下载
上面简单介绍了AviSynth的一些基本概念作为引子,在正文开始前,我想首先交待很重要的一点:
avs脚本及其各种滤镜主要适用于大码率媒体文件的处理,也即我们经常接触的DVDRIP/TVRIPavi的制作优化。
而对于高度压缩格式的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的压制中需要适当选择,而不能盲从,特别是对于各种滤镜的选择更要注意。
第二,需要认识avs的桥梁作用。
修饰之余尽可能的使用压缩软件本身的功能。
如rmvb压制中帧率的改变就可以在压缩软件中进行设置,而不要在avs中写入相关的语句。
另外各种压缩软件使用的是real的压缩内核,而real压缩一般以YV12的快速处理环境为主。
这也是在使用avs压制rmvb时需要注意的问题
压制DVDRIP-RMVB的黑边裁减、画面缩放和亮度调节都可以通过辅助软件如ffdshow来实现。
请注意我使用的少数几个ffdshow的辅助功能(ffdshow可以变相的认为是avs滤镜的插件化)。
其道理和avs是一样的,我只是用了其字幕、调节亮度和缩放尺寸等少数几个功能!
我希望接触过avs法压制rmvb的朋友能够更有效的利用这种方法!
我测试过利用avs压制vob文件。
感觉:
1,压缩速度较快,因为vob直接压缩成rmvb本身就需要画面缩放,用常规方法压制速度较慢。
2,黑边裁减很是轻松。
3,可以灵活的加载字幕合水印文件。
4,压缩效果不如高质量的DVDRIP-rmvb。
下面先简单的介绍些基本方法和常用滤镜。
首先安装avisynth,并将常用虑镜插件dll文件拷贝到安装目录的plugin目录里。
主要利用avs来压制DVD的vob文件
一基本代码
1.LoadPlugin(),加载插件。
如:
LoadPlugin("VSFilter.dll")加载字幕插件
LoadPlugin("mpasource.dll")加载mp3插件
请下载以上提到的滤镜!
并解压制到plugin目录里(当然目录可以自己选定)
2.源媒体读取
DirectShowSource("e:
\vob\ss.VOB")
DirectShowSource()在高版本avisnyth中显得更万能些,常用的媒体格式,如avi、mpge1/dat、mpge2/vob/bin都可以加载,另外可以不用分离视频和音频,而直接压缩!
想要直接压制vob请使用高版本的avisynth,如目前的2.54
AVISource(e:
\avi\1.avi,false)
这个对于DVDRIP压制者来说可能更常用些.false表示禁止音频!
WAVSource("e:
\vob\ss.wav")读取wave音频
AC3SOUECE("e:
\vob\ss.ac3")读取ac3音频
MPASOURCE("e:
\vob\ss.MP3")读取mp3音频
注:
WAVSOURCE和AVISOURCE是属于核心脚本,无须读取插件,但AC3SOURCE和MPASOURCE需要读取AC3SOURCE和MPASOURCE插件。
DirectShowSource的读取需要安装各种音频和视频的解码器
3.crop()、LanczosResize()裁黑边和调整大小
vob文件画面大小一般720×480。
16:
9宽银幕的都带了很大的黑边,需要裁减掉。
也是avs用于vob压制的关键因素之一
裁减黑边和缩放画面是vob文件压制中很重要的因素,一般连用。
对于本身就无黑边的文件直接用LanczosResize()
16:
9画面的有2种情况,请记住这几个数值,在rmvb压制中直接套用即可!
DVD变形宽银幕:
640×352,608×336
电影宽银幕:
640×272
如要将电影宽银幕的画面比列调整到640×272,avs里可以这么写
Crop(8,90,704,300)
LanczosResize(640,272)
如要将DVD变形宽银幕的画面比列调整到608×336,avs里可以这么写
Crop(8,64,704,352)
LanczosResize(608,336)
无黑边的画面的直接用
LanczosResize(512,384)
缩小同时画面强制到标准4:
3
请直接记住这几句就可以了得到最佳的rmvb画面大小了!
4.亮度滤镜
亮度滤镜是使用avs压制vob-rmvbvcd-rmvb的又一关键因素。
画面太暗的rmvb是失败之作
介绍2个
Levels(0,1.5,255,0,255)
改第二个,我感觉数值在1.3-2之间比较合适,一般1.5比较合适
Tweak(0,1,20,1)
4个浮点数分别表示:
调节色度,饱和度,亮度,对比度。
一般将第三个调节在0-30之间,以15-20为宜
个人感觉level()比较好,主要调背景为主,而vob文件主要是背景暗。
注意Tweak的其他调节可能和颜色控制环境有关,如YUY2,因此其它的最好不要再改动
注:
ffdshow目前的版本还是不能支持mpge2唉!
否则可以利用它来调节亮度了
5.字幕滤镜
TextSub("h:
\avs\jrvs.ssa")加载水印文本
VobSub("e:
\vob\ss.idx")加载影片字幕
6.其它虑镜介绍,在rmvb压制中不推荐使用,如部分朋友选用的
FluxSmooth(5,7)柔化滤镜
Convolution3d("moviehq")3D优化滤镜
2者需要加载相应的滤镜插件
二,合成
1
LoadPlugin("VSFilter.dll")
LoadPlugin("mpasource.dll")
video=AVISource("c:
\1.avi",false).TextSub("c:
\logo.ssa").VobSub("c:
\1.idx").Lanczosresize(512,384)#定义了avi源、字幕、水印和画面大小
audio=mpasource("c:
\1.mp3")#音频
AudioDub(video,audio)
为简便起见,以avi文件为例说明语法,但此例不推荐用,直接用压缩软件+ffdshow设置即可。
原始avs加载了至少3个额外的滤镜,已略去!
该方法可以用于双语DVDRIP的压制,使用双语处理的软件提取自己要的声道即可,而不要再合并成avi了!
DTS音轨格式的可以用这个avs法压制
先根据中高级教程里的方法将DTS音频转换成wave格式,如放在e:
\avi\目录里
avs可以这么写:
LoadPlugin("VSFilter.dll")
video=AVISource("c:
\1.avi",false).TextSub("h:
\avs\jrvs.ssa").VobSub("e:
\avi\t1.idx")
audio=WAVSource("e:
\avi\t1.wav")
AudioDub(video,audio)
如此可以不用再合并那么费事了!
2
LoadPlugin("VSFilter.dll")
b=directshowSource("e:
\avs\cd1.avi").TextSub("e:
\BBSLogo\logo.ssa").VobSub("e:
\avs\cd1.idx").Lanczosresize(608,320)
c=directshowsource("e:
\avs\cd2.avi").VobSub("e:
\avs\cd2.idx").Lanczosresize(608,320)
final=b+c
returnfinal
这个语法很好,直接将多CD的压制成一个rmvb,可以在一定程度上解决单CD码率过度错位。
如分别1pass压制CD1和CD2可能会由于码率错位太大而使文件增大,但如果2个一起压制,则可能由于码率补偿,平均码率错位反而不大,而使文件大小减小。
请注意,这里自己可以将水印放在CD1上,而CD2不会显示(说明什么?
呵呵!
)
一般DTS的都要2CD以上,有时影片长度也不长,所以DTS的电影可以这么写avs压制
LoadPlugin("VSFilter.dll")
video=AviSource("e:
\cd1.avi",false).Vobsub("e:
\cd1.idx").TextSub("c:
\logo.ssa")+AviSource("e:
\cd2.avi",false).VobSub("e:
\cd2.idx")
audio=wavSource("e:
\cd1.wav")+wavSource("e:
\cd2.wav")
AudioDub(video,audio)
3
双语的vcd分成单语来做
LoadPlugin("VSFilter.dll")
video=DirectShowSource("F:
\mpge\*.dat").Levels(0,1.7,255,0,255).LanczosResize(480,360)
returnGetChannel(video,2)
1leftchannel
2rightchannel,一般是国语
据说这里的*.dat表示成批压制!
如果要求控制帧率,那么有句改成这个
video=DirectShowSource("F:
\mpge\*.dat",fps=25)
4,双语rmvb的制作
a,双语DVDRIP压制成双语的rmvb
先用AVIMux_GUI来处理音频。
右键点击提示另存为mp3即可
对于喜欢压制rmvb而门外与DVDRIP压制的朋友建议使用AVIMux_GUI来处理音频,更显轻松合理。
avs语法如下:
LoadPlugin("VSFilter.dll")
LoadPlugin("mpasource.dll")
video=AVISource("c:
\1.avi",false).TextSub("c:
\logo.ssa").VobSub("c:
\1.idx")
R=MPASOURCE("e:
\R.MP3")
L=MPASOURCE("e:
\L.MP3")
stereo=MergeChannels(R,L)
returnAudioDub(video,stereo)
双语VCD-rmvb的压制
avs语法如下
LoadPlugin("VSFilter.dll")
video=DirectShowSource("F:
\mpge\*.dat").Levels(0,1.7,255,0,255).LanczosResize(480,360)
stereo=GetChannel(video,1,2)
returnAudioDub(video,stereo)
注:
不过双语VCD-rmvb可以直接使用压缩软件进行制作,声音码率使用44k以上的立体声即可。
我这里是想加大点亮度,那么同时就放大、水印一起来好了,呵呵!
以上都是avi,都可以自动关联ffdshow,所以亮度可以在ffdshow里设置!
但请同时去掉ffdshow的字幕和avisynth功能
下面集中给2个用avs法压制vob-rmvb的avs代码
先按照常规的方法将vov文件拷贝到硬盘上,然后在记事本里写上如下语句,保存为后缀名为avs的文件即可
然后可以用mediaplayer播放这个avs(想一想,是怎么个效果。
呵呵,avs不是联系源文件和应用程序的桥梁吗,播放avs就相当于在播放带字幕和水印的影视了)
1,无黑边者
LoadPlugin("VSFilter.dll")
DirectShowSource("e:
\vob\ts.VOB")
LanczosResize(512,384)
Levels(0,1.5,255,0,255)
VobSub("e:
\vob\ss.idx")
TextSub("h:
\avs\jrvs.ssa")
2,宽银幕(16:
9)
LoadPlugin("VSFilter.dll")
DirectShowSource("e:
\vob\ss.VOB")
Crop(8,64,704,352)
LanczosResize(608,336)
Levels(0,1.5,255,0,255)
TextSub("H:
\avs\jrvs.ssa")
vob文件直接压制成rmvb,初始平均码率可以加大。
一般推荐用480k-1500k,帧率23,声音使用44k的,1pass压制,宁可码率错位来保证清晰度
另外利用ffdshow支持avs的特点,可以在DVDRIP-rmvb压制时加载多字幕(就是动态ssa水印字幕了)。
或者加载声音文件来个声形并茂(结合动态水印的时间轴)
avs在rmvb压制中另外一个作用是利用ffdshow支持avisynth的功能来实现多字幕的加载,部分动态水印可以通过这种方法来实现,但是还不是很完善。
部分VCD/mpge格式由于插件冲突,在播放时能自动加载版权水印,但用压缩软件压缩时就不能自动加载了,那么这个时候,就利用avs了
语法如下,比如对于一个dat文件,压缩时不能加载ssa字幕
LoadPlugin("VSFilter.dll")
DirectShowSource("F:
\mpge\2.dat").TextSub("h:
\avs\jrvs.ssa")
但是达到完美的avs语句应该是
LoadPlugin("VSFilter.dll")
DirectShowSource("F:
\mpge\2.dat").Levels(0,1.7,255,0,255).LanczosResize(480,360)
TextSub("h:
\avs\jrvs.ssa")
同时增加了亮度和放大了画面
注:
亮度这个值要用到的话,一般1.5,感觉亮度合适的话,可以不用这个语句
VCD画面放大,不要超过512×384,否则就是傻样的rmvb了,违反压缩时画面应该缩小的原则。
放大的同时也纠正了画面的比列到标准的4:
3画面
最后在总结下,avs用于rmvb的压制的技巧.
1,灵活加载。
如vp6,wmv9格式的可以通过aviscource加载。
120帧的avi可以通过avs变换帧率进行压制。
不能外挂字幕的也可以通过avs加载,或者加载多个字幕。
利用ffdshow的avs功能可以加载ssa字幕
2,SVCD/vob-rmvb的压制,主要是利用avs进行黑边裁剪,增加亮度,可以提高压制速度和压缩质量(压缩软件内置的滤镜效果不好,另外还极度耗时)。
汉凤和猫猫帮的vob-rmvb连续剧制作一般比较精良,看来加载场处理滤镜(去拉丝)无不可取。
不过获得好的效果还是需要1pass压制。
VCD-rmvb,通过avs加载柔化滤镜(FluxSmooth)的确可以获得明显改善。
3,avs的合成压制。
用于双语DVDRIP-rmvb的压制(直接合成提取的第二声道),另外合成压制是我控制1pass压制错位采用的新思路,不过凡事并非绝对,极少情况下合成压制的要比单独压制的码率更大。
avs技巧方面的简单归纳如上,不再详诉。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- avs 使用 技巧 方法