当前位置: 主页 > 处理视频 > 视频压制教程 > AVS教程:AviSyn学习手册(9)

AVS教程:AviSyn学习手册(9)

2009-02-27   www.av110.net / 整理 点击: 标签:AVS AviSynth
  

  第七节 AVS综合应用实例

这里先介绍几个实例,以后会加入avs在各种视频转换中的应用实例,希望看到的朋友也能跟帖,把一些实例加进来,完善一下,谢谢~!~!

实例一:截边和改变分辨率
实例二:合并输出
实例三:加载一个720p的HDTV电影
实例四:两段视频合为一段
实例五:压制DVD

实例一:截边和改变分辨率
Avisource("H:\xx.avi").crop(5,20,630,440).lanczosresize(640,352)
Corp与lanczosresize两者顺序不能变。
Corp切黑边,想把一个640X480分辨率的片源,左右各切去5,上下各切去20.数值为(5,20,630,440)<左,上,右,下>.
Lanczosresize改变分辨率.(宽,高)
RMVB如要改小分辨率的话建议:704X396的片源用576X324---640X480的片源用512X384的。尤其是DVD转RMVB,通常拷贝出来的VOB都带有大片黑边.一定要切了去否则压时浪费码率。
另外比较保险的分辨有640X352,640X272
切边的话可以用Easy Realmedia Producer(简称:ERP)里面的功能,方便一些;或者是用gk里的功能,可以计算失真。
用ERP打开片源>参数设置>设置裁切区域>手动调节。然后用鼠标拖动红色边框,Inpug Preview为预览。


实例二:合并输出
v1=trim(avisource("H:\RAW\武器\9.avi",false).changefps(23.976),0,767)
trim表示截取一段视频。
v1=trim(avisource("H:\RAW\武器\9.avi",false).changefps(23.976),0,767)
读取片源,false关闭音频。通常After Effects做的特效都是无声的,所以要关闭片源音频。changeFPS(23.976)强制显示帧数。合并的前提必需帧数统一,0,767)截取的帧数.这个可以用VDM查看。
v2=trim(avisource("H:\字幕存储\武器\op.avi",false).changefps(23.976),0,226)
这个是AE做的特效.事先用VDM得知为226帧.
v3=trim(avisource("H:\RAW\武器\0.avi",false).changefps(23.976),994,0)
这三个语句分别是截取了片源0-767帧,截取了AE特效的全部帧,截取了片源的994-最后的帧数.即是说切去的片源的中间一段,并用AE特效代替.
a=v1+v2+v3
将这三部分拼合起来
return a.textsub("H:\09.ass").textsub("H:\武器op09.ass")
最终输出并加挂字幕.
有时两个片源分辨率不一样,此时还要统一分辨率.
v1=trim(avisource("H:\RAW\wuqi\9.avi",false).changefps(23.976).lanczosresize(704,396),0,767)
最终输出的结果是没有声音的.AVI内嵌时用.
RMVB内嵌直接加挂音频就可以了.
loadplugin("H:\plugin\mpasource.dll")
读取mpasource.dll插件(加载MP3音频)
v4=mpasource("H:\wav\武器\09.mp3")
加载MP3音频.
audiodub(a,v4)
合并视频与音频.
另:这样子加载上的音频.在压RMVB时,音频设置最好不用RA10 PLUS。之前用RA10 PLUS. 48Kbps压出来的几个片子音频头1两分钟都无音的…RA8没问题.
120帧的片源的截切。
要先用AVS强制显示23.976帧。然后用VDM打开看帧序号。合并时AE特效也要同样用这个帧率。
AVS切广告+合并AE特效。
国为牵扯到音频,所以得先处理音频。
比如,0-100帧是AE特效,无声。300-350是广告
切了广告的部分再合并AE特效,视频部分就完成了。
因为AE特效是无声的,音频就要另写一个脚本来提取。即将原片源的广告切除的脚本,不禁声音。然后用VDM打开,保存WAV音频。
120帧的片源的压缩。
直接强制帧数:changefps(23.976)
另一个是:selectevety(5,0)

实例三:加载一个720p的HDTV电影
这就是一个完整的AVS文件。
SetWorkingDir("C:\Program Files\GordianKnot\AviSynthPlugins\")
LoadPlugin("decomb.dll")
LoadPlugin("VSFilter.dll")
LoadPlugin("UnDot.dll")
LoadPlugin("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()
AmplifydB(30,30,30)

实例说明:
#载入DLL
SetWorkingDir("C:\Program Files\GordianKnot\AviSynthPlugins\") #指定了滤镜的路径
LoadPlugin("decomb.dll") #调用decomb.dll滤镜
LoadPlugin("VSFilter.dll") #调用VSFilter.dll滤镜
LoadPlugin("UnDot.dll") #调用UnDot.dll滤镜
LoadPlugin("Convolution3D.dll")#调用Convolution3D.dll滤镜
第一行中指定了滤镜路径以后,下面再调用滤镜文件夹下的滤镜时就可以直接用loadplugin调用了,就不用在括号里写入路径。这仅限于指定文件夹下有的滤镜,没有的滤镜仍需要写出完整路径。
#片源处理:加黑边,加电影字幕
directshowsource("F:\HDTV\Heroes\test.mkv") 调用片源
textsub("F:\HDTV\Heroes\test.ass") 调用片源字幕(sub,inx字幕用VobSub滤镜,aas,ssa,srt等别的字幕字幕用TextSub滤镜)

#改变视频大小
lanczos4resize(480,272) (480,272)是16:9的标准模式

#调整视频滤镜
Levels(0,1.3,255,0,255) 背景亮度加强1.3
Convolution3d("movieHQ") 3D柔化滤镜,大视频转成小视频,这个东西很有效果!
Tweak(0,1,15,1) 增强亮度15
sharpen(0.3) 锐化,在iphone上看更加清楚
undot() 消除噪点

#调整声音滤镜
AmplifydB(30,30,30) #左中右声音各加强30DB

实例四:两段视频合为一段
这也是一个完整的AVS文件
LoadPlugin("VSFilter.dll")
b=directshowSource("e:\avs\cd1.avi").TextSub("e:\BBSLogo\logo.ssa").VobSub("e:\avs\cd1.idx")
c=directshowsource("e:\avs\cd2.avi").VobSub("e:\avs\cd2.idx")
final=b+c
return final

说明一下
LoadPlugin("VSFilter.dll") #调用字幕滤镜
b=directshowSource("e:\avs\cd1.avi").TextSub("e:\BBSLogo\logo.ssa").VobSub("e:\avs\cd1.idx")
B段为CD1.avi,加上了水印logo.ssa,加上了DVD字幕cd1.idx,大家可以自行在这段中加上一些参数。格式为:参数+.+参数+.+参数+……….
例:
directshowSource("e:\cd1.avi").TextSub("e:\logo.ssa").VobSub("e:\cd1.idx").lanczos4resize(480,272). Levels(0,1.3,255,0,255). Tweak(0,1,15,1).
看明白了吧,中间间隔符号为小数点“.”
c=directshowsource("e:\avs\cd2.avi").VobSub("e:\avs\cd2.idx")
C段为CD2.avi,加上了字幕,没加水印
final=b+c
影片为B段+C段
return final 结束语,没有实际含义

可以在一定程度上解决单CD码率过度错位。如分别1pass压制CD1和CD2可能会由于码率错位太大而使文件增大,但如果2个一起压制,则可能由于码率补偿,平均码率错位反而不大,而使文件大小减小。


实例五:压制DVD
下面针对DVD的压缩介绍一下avs运用。对于压制DVD,我们一般已经用DVD Decrypter将DVD抓取出来,并且用DVD2AVI分离了DVD的视音频,得到视频的临时文件*.d2v和音频文件*.ac3等。压制DVD的avs脚本除了上面的常用滤镜和脚本外,还有一些自己特别的地方。

SetWorkingDir("d:\GORDIA~1\") # 设定AVS 脚本调用dll 插件文件的工作路径
LoadPlugin("mpeg2dec3.dll") # 调用DVD的mpeg2编码器插件
LoadPlugin("decomb.dll") # 调用交错滤镜插件,包含了IVTC 和Deinterlace 两种滤镜
LoadPlugin("TomsMoComp.dll") # 调用交错滤镜插件,对应Deinterlace 滤镜中的TomsMoComp 脚本命令
LoadPlugin("SimpleResize.dll") # 调用变形滤镜插件,对应SimpleResize 脚本命令

mpeg2source("F:\temp1\1.d2v") # 源d2v 文件的路径
trim(startframe,endframe) # 截取VOB 片断进行压缩。startframe 为起始帧,endframe 为结束帧。主要用于片断测试

压缩或更高级的分段处理压缩
Telecide(guide=1) # IVTC 滤镜。多用于做NTSC 制式DVD 的IVTC 处理
Decimate(Cycle=5) # IVTC 滤镜。用于NTSC 制式DVD 删除重复帧处理,即 29.970fps --> 23.976fps
FieldDeinterlace() # Deinterlace 滤镜。用于做PAL 制式DVD 的Deinterlace 处理,不能同IVTC 和TomsMoComp
滤镜同时使用
FieldDeinterlace(blend=false) # 同上
TomsMoComp(1,5,1) # Deinterlace 滤镜。在处理PAL 制式DVD 时,一般不能同FieldDeinterlace 和 Telecide 同时
使用
crop(14,8,-12,-12) # 裁切命令。参数为(左、上、右、下),代表各边被裁切去的象素值
LanczosResize(640,352) # 变形滤镜。确定最终AVI 的分辨率,常用于普通电影
SimpleResize(640,352) # 变形滤镜。确定最终AVI 的分辨率,常用于二维动画,不能和LanczosResize 同时使用
SelectRangeEvery(xxx,14) # 全片平均采样测试语句。其中xxx 主要用于 COMPRESSIBILITY CHECK 测试,即
(2pass/1pass)*100% 预测算,而正式压缩时不用。其中xxx 为平均采样点的间隔值。例如当
进行全片 5% 预测,则xxx=280,10%为140,15%为93

压制DVD视频于处理一般avi有不少需要注意的地方。例如IVTC、切边、变形等,IVTC可以参考 IVTC技术原理、隔行与逐行之间;切边、变形可以参考 关于切边和变形

IVTC是其中比较重要的一环。根据检测DVD2AVI显示的VOB 的Video Type 和 Frame Type, 确定影片的 IVTC 或 Deinterlaced 处理方式”,
AVS 脚本命令的使用原则如下:
A、对于NTSC Interaced 型:需要做IVTC 和去重复帧处理,则AVS 脚本应包含 Telecide(guide=1) 和 Decimate(Cycle=5) 语句。
B、对于NTSC Progressive 型:不做任何处理,则AVS 脚本无需包含 IVTC 和 Deinterlace 滤镜。
C、对于PAL Progressive 型:不做任何处理,则AVS 脚本无需包含 Deinterlace 滤镜。
D、对于PAL Interlaced 型:需要做Deinterlace 处理,则AVS 脚本应包含 FieldDeinterlace() 或 FieldDeinterlace(blend=false) 或
TomsMoComp(1,5,1) 语句。
E、对于NTSC FILM 型:若为 纯FILM 或 FILM≥95% 时,则在DVD2AVI 阶段就已经过force film,这里就无需处理了; 若
FILM < 95% 时,需要做IVTC 处理,则AVS 脚本应包含 Telecide(guide=1) 和 Decimate(Cycle=5) 语句。
F、对于NTSC Interlaced / Progressive 混合型:全部做IVTC 处理,则AVS 脚本应包含
Telecide(guide=1,Gthresh=50,dthreshold=8,threshold=0,Post=true).Decimate(5) 语句。

本文由www.av110.net综合网络上多篇文章整理而成,因为这些文章被转载了N个来回,原文出处及作者大多已不可考,不能一一注明,请谅解!

顶一下
(11)
68.8%
踩一下
(5)
31.2%
栏目热点
  • MeGUI压制使用说明书 MeGUI压制使用说明书 MeGUI 压制使用说明书 绪论: 视频压制的概念 一些尚未入门的爱好者常常会把视频压制与视频转换混为一谈。视频压制是一种入门比较简单,但深入有点深奥的视频压缩技术,用
精彩推荐