一、影音分离,就是把有声音的avi文件分离,分别得到无音频的avi文件和声音文件wav或者是mp3。
1、先放张图熟悉一下界面
2、file--open video file 导入你的影音文件
3、如果出现以下画面,说明RAW的音频部分是VBR音频,这个时候选NO。
4、然后,streams——stream list,按save wave把音频部分保存
5、同样 streams——stream list 选择disable(屏蔽音频),然后ok
再选择video--direct stream copy
file--save as 就能导出无声音的avi文件(这个功能可以用avs轻松搞定,下面会说的。
二、影音合成(虽然网上有人说用visual dub mod合成影音文件会不同步,我这里先介绍一下,合成还可以用nan dub或者avimux_gui完成)
file---open video file(导入无声avi),streams——stream list ,add(添加声音文件),file--save as,就能合成影音了。
三、影音部分截取
你可以手动用鼠标点击主界面的时间轴,拖到你要截取的开始位置。
你也可以通过edit--go to...精确截取
两个选项分别是第几帧,和帧所在的时间。ok后回到主界面
按下面一排 倒数第二个按钮(mark in),确定开始时间
用同样的方法edit--go to跳到结束帧位置,ok后按倒数第一个按钮(mark out),这时你会看见时间轴上蓝色部分选中。确保video--direct stream copy,不然就要汗一大下了,输出的文件会爆大,因为没有选择压缩编码。
file--save as 在跳出的界面里勾上segment output file,保存就可以了。
由于vdm(visual dub mod 一下简称)版本不一样,这个功能的命令也会出现在不同地方,这里只是告诉原理,不同版本的自己试一下就知道了!
四、合并两个甚至多个影音文件
先导入一个,然后file--append segment,导入第二个,同样可以导入第三,第四(当然,合并的前提是文件的帧率fps和帧大小要一致,否则不能合并,其他的合并软件出现不能合并的情况都是由于这两个因素导致的)
file--save as就可以了。
截取和合并两个功能还是必要的,因为有些特效用ae(Adobe effect一下简称)完成的话,后期就需要把ae制作的部分和截取内嵌完的部分手动合成。
其他功能,比如界图功能video--copy source frame to clipboard等等,这里就不一一介绍了,总之学习内嵌就要掌握好vdm的使用方法,大家多试试就会熟悉额,其实vdm的功能配合上avs(AviSynth一下简称)强大的无与伦比,大家接着往下看吧
二、avs软件的原理和基本功能
下面我介绍一下avs这个软件的用法。
avs是个奇怪的软件,安装好没有启动项。
我通过用法简单阐述一下:通过建立txt文本文件,写一些简单的代码来调用影音文件和滤镜,保存后把后缀改成avs,这个文件就可以用其他软件来打开了。这个avs脚本自身就像一个户用自定义的影音文件存在。比如可以用vdm来打开,也可以用hpp(helix producer)或者brp(batch real producer)来压制,也就是你可以直接把avs看成是一个avi文件。
也许你会问有什么好处,汗,好处大大大大大的没办法说了!
从简单的说吧,任意合并,截取文件,调节声音,调节画面(颜色,亮度…等等 太多了)。
现在avs已经发展到2.54版本了,avs自身已经集成了众多的滤镜和功能,比如导入avi文件,基本的画面调节滤镜,声音和影像合成等等,这些已经集成的滤镜就不用load(导入滤镜命令),直接使用就可以。还有就是第三方提供的滤镜,这些滤镜要自己下载,使用时要用load命令导入。
avs自身集成的滤镜在安装的说明里都有介绍,不过是英文,汗。
第三方率镜一般也有说明。
在接下来的内嵌部分,我们也会介绍一些滤镜的使用,请往下看。
举例说明:
如果是avs集成的滤镜直接用命令:
Avisource("F:workingjiyingmezzo[TT-Base] MEZZO 01 (640x480 WMV9).avi") 导入一个avi文件,写绝对地址
Tweak(0.0,1.1,0.0,1.0) 加点色彩饱和度
Temporalsoften(2,3,3,mode=2,scenechange=6)
mergechroma(blur(1.3)) 两个柔化滤镜
如果是第三方滤镜,先下载,然后在avs脚本里写:
LoadPlugin("D:Program FilesGORDIA~1FluxSmooth.dll") 先用load命令导入滤镜,写出滤镜的绝对地址,就是这个dll文件
FluxSmooth(5,7)
同样LoadPlugin("D:Program FilesGORDIA~1Convolution3d.dll")
Convolution3d("moviehq")
其实一般照着前人的做就行了。
三、内嵌教程
首先安装XviD Koepi's Bin 1.0 RC3 ,这个是xvid编码器,前面不是提到不编码就输出爆大什么的吗?!
还有另外一个小东东,VobSub v2.32_All .exe(国际版)
下载后需要VSFilter.dll复制到c:windowssystem32
然后在开始->执行中输入regsvr32 VSFilter.dll后确定。
先用VirturaDubMod(安装GK后就有,以下简称VDM)打开RAW,切记是VirturaDubMod,不是VirturaDub,把音频部分分离出来。
如果出现以下画面,说明RAW的音频部分是VBR音频,这个时候选NO。
然后,streams——stream list,按save wave把音频部分保存
保存好后的音频是wav后缀(补充一下,因为内嵌完的avi是无音频的,所以最后要用内嵌完的avi和这个音频合并,下面会说的。)
接下来就是写一个avs脚本了,当然也可以直接生压,导入avi,添加vdm自带的率镜,这个方法不赞同,所以就不教大家了,汗,会被别人耻笑的。一般你去字幕社报名,老大会问你avs会用吗,120fps会压吗,bf会压吗,你如果说不会,影响就大大折扣,带着这些问题,我们继续,^_^
因为AVS的功能非常强大,所以统一使用AVS来做内嵌,用AVS来内嵌120帧的RAW,也比较方便。
先新建一个记事本文件,写下一下内容:
LoadPlugin("d: empFtestUndot.dll")
LoadPlugin("d: empFtestwarpsharp.dll")
LoadPlugin("d: empFtest VSFilter.dll l")
Avisource("F:workingjiyingmezzo[TT-Base] MEZZO 01 (640x480 WMV9).avi",false)
TextSub("F:workingjiyingmezzo[TT-Base] MEZZO 01 (640x480 WMV9).ssa") //调用ssa字幕文件,写出绝对路径
KenKunNR(threshold=1)
Undot()
WarpSharp(depth=30,bump=40)
Tweak(0.0,1.1,0.0,1.0)
是这样的,avs脚本可以看成是一个avi文件,但又不全是,它可以添加很多狠多的率镜,包括VSFilter.dll这个添加字幕的率镜。所以当把avs导入到visual dub mod 里时,字幕就已经添加了。请看12楼的红色部分,其中第三行导入率镜,第五行使用该率镜调用字幕。(这个在原来的教程中竟然没出现 :| :| :| :| :| ,也太大意了,还好我细心啊)对于新手,这块可能看不懂,一般avs文件是这样写的,先把所有的第三方率镜全部添加进来,然后再写具体调用的命令。
如果RAW是120帧的,就在AVISOURCE下,脚本这样写(在file---file information里可以看)
LoadPlugin("d: empFtestUndot.dll")
LoadPlugin("d: empFtestwarpsharp.dll")
LoadPlugin("d: empFtest VSFilter.dll l")
Avisource("F:workingjiyingmezzo[TT-Base] MEZZO 01 (640x480 WMV9).avi",false)
ChangeFPS(23.976)
//就是加上这句话,其他一样,也可以这样写selectevery(5,0),效果一样 动画gungrave的片源就是120fps,注意120fps一定要加上这个抽取桢的命令。 8o|
TextSub("F:workingjiyingmezzo[TT-Base] MEZZO 01 (640x480 WMV9).ssa") //调用ssa字幕文件,写出绝对路径
KenKunNR(threshold=1)
Undot()
WarpSharp(depth=30,bump=40)
Tweak(0.0,1.1,0.0,1.0)-----------------------------------------------------------------------------------------------------------------------------------------
上面所有””双引号里面的内容,都改成你电脑上面相应内容的路径,如:你的undot.dll是放在d:avsdll这个目录下,就把上面的d: empFtestUndot.dll改成d:avsdll。然后把文件的后缀TXT,改成AVS。
解释一下各个插件的参数,上面用到了avisource、KenkunNR、Undot、Warpsharp、Tweak这5个插件,其中avisource是 avisynth的内部插件,具体参数请看avs的说明文件:D:Program FilesAviSynth 2.5Docsfilters.html,这里不作具体说明。Avisource("F:workingjiyingmezzo[TT-Base] MEZZO 01 (640x480 WMV9).avi",false),这里我把音频部分屏蔽了,内嵌的过程不需用到音频部分。
KenkunNR是WarpSharp自带的降躁插件,具体参数KenKunNR(threshold=1 to 3),数值越大,强度越大。
Undot是降躁插件,不需要加参数,直接Undot()就可以了。
WarpSharp是锐化插件,参数如下:WarpSharp(depth=0 to 255, threshold=0 to 255),depth值越大,锐化就越强,threshold值越大,物体的边缘就越粗,默认参数分别是30,40,具体设定是多少,请用VDM打开这个AVS,自己根据画面来调。
Tweak是AVIsynth的内部插件,具体参数可以参阅D:Program FilesAviSynth 2.5Docsfilters.html,不过这里还是简单讲一下。
Tweak(clip, float "hue", float "sat", float "bright", float "cont", bool "coring")
Hue: (-180.0 to +180.0, default 0.0),这个是调色调,数值越偏向正数,就越偏向红色;数值越偏向负数,就越偏向绿色。
Sat: (0.0 to 10.0, default 1.0),这个调色彩的饱和度,数值越大,颜色越鲜艳,数值越小,颜色越暗哑。内嵌的时候一般是设成1.1,因为内嵌会损害画质。不过具体请按实际情况设定,因为有的RAW在加入降躁虑镜后,颜色会变得非常暗哑,所以具体设置是多大,要根据RAW来设定,但是不要超过1.5。设定的过大的话,会容易出现色块。
Bright: (-255.0 to 255.0, default 0.0),这个调亮度,根据具体情况设定,一般设为0。
Cont: (0.0 to 10.0, default 1.0) ,这个调对比度,根据具体情况设定,一般设为0。
汗,这个我原封不动的copy了
一般还可以添加些柔化率镜
Temporalsoften(2,3,3,mode=2,scenechange=6)
mergechroma(blur(1.3))
FluxSmooth(5,7)
Convolution3d("moviehq")
其中3,4都是第三方率镜,需要自己下载,并导入
LoadPlugin("D:Program FilesGORDIA~1FluxSmooth.dll")
LoadPlugin("D:Program FilesGORDIA~1Convolution3d.dll")
用VDM打开刚才写好的AVS
Video—Compression——Xvid Mpeg4 codec(不装xvid编码器,就不会有这个选项,一般还有wmv,divx(一般电影))——configue
(按照图上表的顺序)
出现如下画面后,按照图片的参数设定。
其中中间四个选项分别
1的选项正式的名称是lumi-masking,肉眼看不见的地方用较少的码率
2的选项如果来源有拉丝(交错)可以选取
3的选项适用在相应的高码率,保留较多的细节,但兼容性不好,不建议选用
4的选项在横移(水平移动)的画面可以节省码率,我测试开了这个选项
会得到比较好的DRF值(愈低愈好)及PNSR值(愈高愈好),但是兼容性很差,不建议选用(tct66的原话)
若是勾上bvops,则说明用到bf,关于bf的设置
1.低于900k,一般连续b-frame的设置为3
2.900~1100k,一般连续b-frame的设置为2
3.若raw来源好,动态画面不多,压制成高码率,则b-frame的设置为-1
不然还是建议设置成2(tct66的原话)
关于码流,可以在vdm里的file--file information 把视频和音频的最后一项加起来就是avi的总码流。当然也可以用专业的avicodec来看,导入的文件不一定是avi,rm什么都可以,fps,码流,一览无余。
回过来讲bf(bframe)
一般来说如果开启BF如图11的设置会得到比较好的DRF值(愈低愈好)及PNSR值(愈高愈好)
至于连续BF(1的设定)的设置可为2或3
开启BF编码的XviD/DivX封包成avi,在播放时会延迟1个BF(封包成ogm,mkv,mp4则不会)
而packed bitstream的选项的作用是解决这个问题
不过开启2个以上的连续BF并用到了packed bitstream
目前只有XviD的译码器可以正常译码,而用DivX/ffdshow译码,水平移动的画面会不顺畅
(ffdshow-20040225以后的版本解决了这一个问题)
所以说考虑兼容性的问题,不建议使用packed bitstream。
出现如下画面
然后再按下图分别设定Motion和Quantization的参数
VHQ mode(量化方式)一般设为1,如果要得到更好的质量设为4(机器够强劲的话,建议选上)
1兼顾速度和质量,4质量最佳,2和3效果高手测试下来不好。
若你的量化方式是MPEG或MPEG Custom的话,建议选取cartoon mode
maximum i-frame intevel 一般为fps的10倍
motion search precision一般选最后一个 6-ultra high
上面最后一张图的右边部分 解说:
XviD-1.0的Q值设定,2pass控制得很好,可以不用更改,也可以按照图设(这个要看经验,汗)
如果要更改的话,建议改成1,2/3/4(/表示或者),1,31,3,31
Trellis quantization的选项如果量化的方式是H.263,选取
MPEG或MPEG Custom则不要选取
接下来就容易多了
设定好后,按两次OK,回到一下画面
然后按file——Save As
看到下面segment output file的选项了吧,我前面偷懒就不截图了,这个选项是输入选定的部分(前面影音截取那个部分)
做好1st pass后,会生成一个后缀是state的文件。我们根据这个文件来决定把动画的容量控制在175M还是233M,(方便刻盘,潮流所摧)。在开始菜单——所有程序——Xvid——StatesReader,开启这个Xvid自带的小软件:
至于这个动画做成多大,一般可根据这个动画的画面的复杂程度、3D画面、动态画面的多少,还有state文件生成的大小来决定。如果state文件的Max Size超过300,一般建议做成233M。否则,就做成175M。
决定动画做成多大后,就打开Xvid自带的另一个小软件MiniCale:
1、这里填入这个动画的长度,如果是24分钟的,就填0.24。
2、这里根据RAW的情况填23.976、24.000、25.000、29.970还是30.000
3、按这里打开你在一的时候保存的音频文件。
4、这里填入你决定的大小,单位是M。
5、这里根据实际情况选CBR或VBR还是AC3。
6、这里不要打勾
7、记下这个数字,2nd pass要用
进行2nd pass。
1、这里选Twopass – 2nd pass
2、这里填入刚才你记下的数字
按两次OK后回到以下画面,然后按file——Save As
1、随便改个名字
2、选Full模式
最后按保存,进行2nd pass。完成之后会生成一个名字叫2pass(这个名字是自己改的)的没有音频部分的AVI。
最后合并文件。用VDM打开刚才生成的名字叫2pass的AVI,streams——stream list——add,导入第一节时保存的MP3文件,导入后再选,然后按file——Save As
1、给动画命名
2、选Direct stream copy
这样,内嵌就完成了。
这里关于最后的影音合并,我前面也提到过,用VirtualDubMod会出现影声不同步的现象,所以建议大家用nan dub ,这个nan dub 只要你装了Gordian Knot RipPack的话,里面就有的,界面和用法和VirtualDubMod一样,。当然你也可以用avimux_gui这个比较直观的软件。
具体操作:
首先合成视频、音频,然后打开Nandub.exe,先导入avi文件,然后如下图操作。还有one-pass结束,保存文件时,把don't run this job now的勾打上。
还有关于one-pass结束,保存文件时,把don't run this job now
的勾打上
这样保存不会立即执行,接着设置two-pass,two-pass的文件大小直接按照200m的大小来设置,当中的计算步骤可以省去
twopass的文件也把don't run this job now 的勾打上。因为一般最后得到200m左右的avi文件,音频一般23m左右,内嵌完的无声avi设成175,最后合成差不多200m.
最后file---job control 可以看见onepass和twopass两个任务,按start就会执行这两个任务
反正就是onepass和twopass设置完保存文件时都打上don't run this job now ,最后到file---job control里start就可以了。