AviSynth代码简要介绍.doc_第1页
AviSynth代码简要介绍.doc_第2页
AviSynth代码简要介绍.doc_第3页
AviSynth代码简要介绍.doc_第4页
AviSynth代码简要介绍.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AviSynth代码简要介绍AviSynth(AVI合成器)是一个功能强大无比的基于avs脚本文件的视频处理与帧服务软件,建立.avs文件索引输出,还有强大的脚本滤镜功能,很多编辑软件可以支持。本文详细介绍了AviSynth的使用方法.一、如何加载插件1SetWorkingDir() 指定插件路径 如:SetWorkingDir(D:AviSynth 2.5plugins)2LoadPlugin() 加载插件 如:LoadPlugin(VSFilter.dll) 加载字幕插件LoadPlugin(mpeg2dec3.dll) 加载DVD的mpeg2编码器插件LoadPlugin(mpasource.dll) 加载mp3插件二、源媒体怎么读取1DirectShowSource() 万能调用 如:DirectShowSource(e:vobss.VOB)2AVISource() avi文件调用 如:AVISource(e:avi1.avi,false)3MPEG2source() 这个用于解码DVD的mpeg2格式的视频 如:MPEG2source(XXX.d2v)4WAVSource(e:vobss.wav) 读取wave音频5AC3Source(e:vobss.ac3) 读取ac3音频6MPASource(e:vobss.mp3) 读取mp3音频7Convertfps=true 转换帧率 如:DirectShowSource(e:vobss.vob,Conertfps=true) 表示不指定帧率,适用于RMVB、WMV注:WAVSource和AVISource是属于核心脚本,无须读取插件,但AC3Source和MPASource需要读取AC3Source和MPASource插件DirectShowSource的读取需要安装各种音频和视频的解码器三、Crop()、LanczosResize()、SimpleResize()、AddBorders() 裁黑边、调整大小、调整大小、加黑边1Crop() 裁黑边 (左,上,长,宽) 如:Crop(8,0,704,480) 左右各切去8像素,上下各切去0像素 原分辨率720*4802LanczosResize() 调整大小 (长,宽) 画质锐利、真实,适合普通电影 如:LanczosResize(640,480)3SimpleResize() 调整大小 (长,宽) 画质柔和,适合动画 如:SimpleResize(640,480)4AddBorders() 加黑边 (左,上,右,下) 如:AddBorders(0,64,0,64)四、画面滤镜1Levels() 层次 亮度、对比度(1.32之间较合适)、Gamma值(调节画面亮暗)如:Levels(0,1.5,255,0,255)2Tweak() 调整 色度、饱和度、亮度、对比度色度:-180.0180.0 默认0.0 正数趋向红色,负数趋向绿色饱和度:0.010.0 默认1.0 0.0为黑白亮度:-255.0255.0 默认0.0 一般调节在030之间,以1520为宜对比度:0.010.0 默认1.0 如:Tweak(0,1,20,1)3FadeIn()、FadeOut() 淡入、淡出 (帧)如:FadeIn(24)、FadeOut(24)4Trim() 截取 某段影片 (开始帧,结束帧)如:Trim(240,480)五、声音滤镜1AudioDub() 合并影音 (视频,音频)如:Video=AVISource(xxx.avi,False,YUY2) False为关闭视频中的音频 YUY2为色彩模式Audio=WAVSource(xxx.wav)AudioDub(Video,Audio)2GetChannel()、GetLeftChannel()、GetRightChannel() 获取声道 如:Stereo=WavSource(test.wav)Return GetChannel(stereo) 返回test.wav的左声道Stereo=WavSource(test.wav)Return GetLeftChannel(stereo) 返回test.wav的声道3DelayAudio() 延迟声音 由于从VOB里分离的AC3通常有延迟,所以用Azid转码得到的WAV也有延迟,在用AudioDub合并时就需要加上这个延迟 如:WAVSource(test.wav).DelayAuido(0.5) 把test.wav延迟0.5秒DelayAudio(wavsource(text.wav),-30) 把test.wav延迟30毫秒 +表示提前4ResampleAudio() 音频重新采样 如:WAVSource(text.wav).ResampleAudio(48000) 重新采样率48000Hz5AmplifydB() 声道音量缩放 如:AmplifydB(WAVSource(text.wav),4,-3) 左声道音量放大4dB,右声道音量减小3dBAmplifydB(WAVSource(text.wav),4,0,-3) 左声道音量放大4dB,中声道音量放大0dB,右声道音量减小3dB6MergeChannels() 组合左、右声道 如:Left=WAVSource(C:1.wav).GetLeftChannelRight=WAVSource(C:2.wav).GetRightChannelMergeChannels(Left,Right)六、字幕滤镜1VobSub() Sub字幕 将字幕的2个文件test.idx和test.sub放在同一个目录下 如:LoadPlugin(VobSub.dll)VobSub(test)或VobSub(e:vob test.idx)2TextSub() SSA和ASS字幕 如:LoadPlugin(TextSub.vdf)TextSub(h:avsjrvs.ssa) 加载水印文本LoadPlugin(VSFilter.dll)TextSub(F:DVDjs60js601.srt) 加载srt字幕七、色彩模式转换1ConvertToRGB32、ConvertToRGB24、ConvertToRGB、ConvertToYUY2、ConvertToYV12 如:AVISource(text.avi,YUY2)=AVISoerce(text.avi).ConvertToYUY2八、其它虑镜1截图 连续截图、截取特定Frame 格式bmp,、dds、jpg/jpe/jpeg、pal、pcx 如:DirectShowSource(E:VIDEOtext.mp4,fps=23.970).ConvertToRGB32trim(1,10)ImageWriter(D:ever,0,0,jpg) 连续截图 截取影片选段中的第0帧到第9帧图像(全部帧)DirectShowSource(E:VIDEOtext.rmvb,convertfps=true).ConvertToRGB24trim(1,10)ImageWriter(D:ever,3,7,jpg) 连续截图 截取影片选段中的第4帧到第8帧图像DirectShowSource(E:VIDEOtext.mp4,fps=23.970).ConvertToRGBtrim(10,10)ImageWriter(D:ever,0,0,jpg) 截取特定Frame 截取整个影片的第11帧DirectShowSource(E:VIDEOtext.rmvb,convertfps=true).ConvertToRGB24trim(1,10)ImageWriter(D:ever,4,4,jpg) 截取特定Frame 截取影片选段中的第5帧(整个影片的第6帧)九、常见外置滤镜(1)源文件滤镜1MPEG2Dec 读取DVD2AVI产生d2v工程文件,内建去除Noise的TemporalSmoother 如:LoadPlugin(MPEG2Dec.dll)MPEG2Source(test.d2v)2MPEG2Dec2 支持P4的SSE2指令集,用文本编辑工具打开d2v,把iDCT_Algorithm=?改成5 速度快,效果好 如:LoadPlugin(MPEG2Dec2.dll)MPEG2Source(test.d2v)3MPEG2Dec3 加入Nic的图像后处理(PP),一定程度减少Noise,好像除了P4的SSE2外,还加入了AMD的3D Now!优化,目前还在开发中 如:LoadPlugin(MPEG2Dec3.dll)MPEG2Source(test.d2v,CPU=4) CPU=4开启PP模式(2)处理滤镜1ColorYUY2 颜色补偿 如:LoadPlugin(ColorYUY2.dll)ColorYUY2(0,10,0,10,0,0,0,0,0)2ChangeFPS() 改变帧率 如:ChangeFPS(23.976) 数值12、15、20、23.976、24、25、29.970、303UnDot() 消除噪点 可用一个或多个,可连用 如:LoadPlugin(UnDot.dll)DirectShowSource(test.avi)UnDot()LanczosResize(480,272)UnDot()LoadPlugin(UnDot.dll)DirectShowSource(test.avi)UnDot().UnDot().UnDot().UnDot()4KenKunNR() 降噪 threshold=1 to 3,数值越大,强度越大 如:LoadPlugin(WarpSharp.dll)KenKunNR(threshold=1)5FluxSmooth() 柔化 兼有降噪 降噪作用稍强于UnDot() 如:LoadPlugin(FluxSmooth.dll)FluxSmooth(5,7) 一般使用默认(5,7)6SpatialSoften() 空间轴柔化 (柔化程度,亮度域值,色彩域值)如:SpatialSoften (4,8,8) 柔化程度数值不要太大,25之间,亮度域值、色彩域值需测试调节7TemporalSoften() 时间轴柔化 如:TemporalSoften(2,3,3,mode=2,scenechange=6) 一般使用这个参数8Convolution3D() 3D柔化 一般动画用animeHQ,电影用movieHQ 如:LoadPlugin(Convolution3d.dll)Convolution3D(movieHQ) 电影Convolution3D(animeHQ) 动画9Deen() 锐化 兼有降噪 如: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) 强力10Sharpen() 锐化 数值越大,效果越强 如:Sharpen(0.2) 一般取0.20.311WarpSharp() 锐化 主要改动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) 全屏的时候,明显感觉出锯齿12Blur() 模糊 参数范围-1.01.58 负数为清晰 可以连续加载,可以结合MergeChroma或MergeLuma使用 如:Blur(0,1).Blur(0,1)MergeLuma(Blur(0,1)Blur(0,1)Blur(-1) 相当于锐化滤镜Blur(-0.9,1) 水平清晰,竖直模糊 竖直模糊更具有线条感Blur(1.3,-0.7) 水品模糊,竖直清晰13柔化滤镜可以参考一些自动生成的模板 片源不好就按需选用,尽量少用,或者不用 如:little NoiseTemporalSoften(2,3,3,mode=2,scenechange=6)MergeChroma(blur(1.3)=MergeLuma(blur(1.0)FluxSmooth(5,7)Medium NoiseTemporalSoften(3,5,5,mode=2,scenechange=10)Convolution3D(moviehq)FluxSmooth(7,7)Heavy NoiseTemporalsoften(4,8,8,mode=2,scenechange=10)Convolution3D(movielq)FluxSmooth(10,15)(3)交错滤镜1Decomb 包含IVTC、Deinterlace滤镜IVTC(Inverse Telecine) 将DVD或VCD记录的29.976fps(NTSC)或25fps(PAL)的隔行信号还原为胶片的23.976fps的逐行信号,可有效消除影片的 “拉丝(Interlace)”现象、平滑减少每秒内的帧数,以获得画面质量与码流的最佳比例Deinterlace反交错,恢复逐行扫瞄图像 参数如:Guide 02 默认0 NTSC用1,PAL用2,可以提高IVTC准确度Gthresh 0100 默认15 控制区分不同帧的程度Post 默认true 用来处理IVTC遗漏的细节,使画面略微模糊Threshold 0255 默认15 控制post的程度Dthreshold 0255 默认9 控制threshold判定IVTC遗漏的程度Blend 默认true 在交错画面用渲染来替代填充Chroma 默认false 在交错画面的亮度色度调整Cycle 225 默认5 每n帧删除1帧,NTSC选5,PAL选25Mode 02 默认2Mode=0 对Cycle里最相近的帧不进行处理Mode=1 对Cycle里最相近的帧进行处理,用于处理混合帧速Mode=2 在一个很长的范围里进行帧对比,可以正确处理动画里由8帧或12帧复制为29.97帧的情况Threshold 默认0 控制mode=1时的处理重复帧的程度,Threshold默认100,控制mode=2时的处理重复帧的程度Quality 03 默认2 采样和色度的质量,与速度成反比 如:LoadPlugin(Decomb.dll)Telecide(Guide=1,Gthresh=50,Chroma=True,Quality=3,Post=false)Decimate(cycle=5) NTSC 3:2 PullDownLoadPlugin(Decomb.dll)Telecide(Guide=1,Gthresh=50,Chroma=True,Quality=3,Post=false)Decimate(Cycle=5,Mode=2) NTSC Progressive和Interlaced混合LoadPlugin(Decomb.dll)Telecide(Guide=2,Gthresh=50,Chroma=True,Quality=3,Post=false)Decimate(Cycle=25) PAL十、实例(一)截边、改变分辨率Avisource(H:xx.avi).crop(5,20,630,440).lanczosresize(640,352) Corp 与 Lanczosresize 两者顺序不能变Corp切黑边,把一个640*480分辨率的片源,左右各切去5,上下各切去20,数值为(5,20,630,440) Lanczosresize 改变分辨率 (长,宽)压RMVB如要改小分辨率的话建议:704*396的片源用576*324,640*480的片源用512*384 尤其是DVD转RMVB,通常拷贝出来的VOB都带有大片黑边,一定要切黑边否则压时浪费码率另外比较保险的分辨有640*352,640*272切边还可用 Easy Realmedia Producer(简称:ERP)里面的功能,方便一些 或是用gk里的功能,可以计算失真用ERP打开片源参数设置设置裁切区域手动调节,用鼠标拖动红色边框,Inpug Preview为预览(二)合并输出v1=trim(avisource(H:RAW武器9.avi,false).changefps(23.976),0,767)false关闭音频 通常 After Effects 做的特效都是无声的,所以要关闭片源音频 changeFPS(23.976)强制显示帧数 合并的前提:必需帧数统一 要截取的帧数可以用 VDM 查看v2=trim(avisource(H:字幕存储武器op.avi,false).changefps(23.976),0,225)AE做的特效,事先用VDM得知为226帧v3=trim(avisource(H:RAW武器0.avi,false).changefps(23.976),994,0)三个语句分别是:截取片源0767帧、截取AE特效全部帧、截取片源994最后帧 即是切去片源中间一段,并用 AE 特效代替a=v1+v2+v3Return a.textsub(H:09.ass).textsub(H:武器op09.ass)若片源分辨率不一样,需统一分辨率v1=trim(avisource(H:RAWwuqi9.avi,false).changefps(23.976).lanczosresize(704,396),0,767)最终输出结果为无声,AVI 内嵌时使用 RMVB 内嵌直接加挂音频Loadplugin(H:pluginmpasource.dll)v4=mpasource(H:wav武器09.mp3)Audiodub(a,v4)注:这样加载的音频在压 RMVB 时,音频设置最好不用 RA10 PLUS 用 RA10 PLUS.48Kbps压出来音频头一两分钟是无音的,RA8 没问题120帧的片源的截切强制显示23.976帧,再用 VDM 打开看帧序号 合并时 AE 特效也要用这个帧率 AVS 切广告再合并AE特效因牵扯到音频,所以得先处理音频如:0100帧是AE特效,无声 300350是广告 切了广告的部分再合并AE特效,视频部分完成因 AE 特效无声,音频就要另写一脚本提取 即将原片源的广告切除的脚本,不禁声音,然后用 VDM 打开,保存 WAV 音频120帧的片源的压缩直接强制帧数:Changefps(23.976) 另一个:Selectevety(5,0)(三)加载一个720p的 HDTV 电影 下面是一个完整的 AVS 文件SetWorkingDir(C:Program FilesGordianKnotAviSynthPlugins) 指定滤镜插件路径LoadPlugin(decomb.dll) 调用 decomb.dll 滤镜插件LoadPlugin(VSFilter.dll) 调用 VSFilter.dll 滤镜插件LoadPlugin(UnDot.dll) 调用 UnDot.dll 滤镜插件LoadPlugin(Convolution3D.dll) 调用 Convolution3D.dll 滤镜插件DirectShowSource(F:HDTVHeroestest.mkv) 调用片源TextSub(F:HDTVHeroestest.ass) 调用字幕(sub、inx字幕用VobSub滤镜,aas、ssa、srt等其他字幕用TextSub滤镜)LanczosResize(480,272) 改变视频大小 16:9的标准模式Levels(0,1.3,255,0,255) 背景亮度加强1.3Convolution3D(movieHQ) 3D柔化(大视频转小视频效果显著)Tweak(0,1,15,1) 增强亮度15Sharpen(0.3) 锐化 在iphone上看更加清楚Undot() 消除噪点AmplifydB(30,30,30) 左中右声音各加强30dB(四)合并两段视频 下面是一个完整的AVS文件LoadPlugin(VSFilter.dll) 调用字幕滤镜插件b=DirectShowSource(e:avscd1.avi).TextSub(e:BBSLogologo.ssa).VobSub(e:avscd1.idx) 加水印 logo.ssa,加DVD字幕 cd1.idxc=DirectShowSource(e:avscd2.avi).VobSub(e:avscd2.idx) 加字幕,未加水印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:GORDIA1) 指定滤镜插件路径LoadPlugin(mpeg2dec3.dll) 调用 DVD 的 MPEG2 编码器插件LoadPlugin(decomb.dll) 调用交错滤镜插件LoadPlugin(TomsMoComp.dll) 调用交错滤镜插件,对应 Deinterlace 滤镜中的 TomsMoComp 脚本命令LoadPlugin(SimpleResize.dll) 调用变形滤镜插件,对应 SimpleResize 脚本命令MPEG2Source(F:temp11.d2v) 源 d2v 文件的路径Trim(startframe,endframe) 截取 vob 片断进行压缩 主要用于片断测试压缩或更高级的分段处理压缩Telecide(guide=1) IVTC 滤镜 多用于 NTSC 制式 DVD 的 IVTC 处理Decimate(Cycle=5) IVTC 滤镜 用于 NTSC 制式 DVD 删除重复帧处理,即 29.970fps - 23.976fpsFieldDeinterlace() Deinterlace滤镜 用于 PAL 制式 DVD 的 Deinterlace 处理,不能同 IVTC 和 TomsMoComp 滤镜同时使用FieldDeinterlace(blend=false) Deinterlace 滤镜 用于 PAL 制式 DVD 的 Deinterlace 处理,不能同 IVTC 和 TomsMoComp 滤镜同时使用TomsMoComp(1,5,1) Deinterlace 滤镜 在处理 PAL 制式 DVD 时,一般不能同 FieldDeinterlace 和 Telecide 同时使用Crop(14,8,-12,-12) 裁切命令 参数为(左、上、右、下),代表各边被裁切去的象素值LanczosResiz

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论