AviSynth 是一件非常奇怪的事物。既可以说它十分难,也可以说他非常简单。不会用的人对她摸不着头脑,用过她的人则对她爱不释手。到底AviSynth十个什么样的东西?我们就拿avi挂字幕编辑的问题,来见识一下5秒钟完成为Avi原文件贴上字幕的功能吧。
很多人在为视频文件加挂字幕的处理上,采用了通过DirectShow + DVobSub 自动调用avi文件和同目录下的同名文件的方法。不过,坦白地说,这样的调用方法不但效率低速度慢,而且并不能保证在所有的系统或者任何情况下都能稳定。那么有没有更好的办法?这里有一个答案:AviSynth。
AviSynth是一种脚本话的视频处理工具。与常见的Win32程序不同,她完全没有GUI或者Consol界面,所有的操作全部取决于你用notepad的时候,键入的寥寥几个参数。其特点是效率高,速度快,接口和源代码开放,稳定。
首先,可以 点这里下载安装AviSynth 。现在2.5.2中还包括一个ffvfw包,可以让你的系统把avs(AviSynth 脚本文件 )当成普通的视频文件打开甚至播放。
接着,可以 到这里下载安装VSFliter ,并确认将包中VSFliter.dll复制到 %Windir%\ System32 目录下,并运行了 regsvr32 VSFilter.dll 进行注册。
现在用Notepad建立一个空白的文本文件,并将之命名为 xxx .avs。
接下来在这个文本文件中键入这样3行文字:
-------------------
AVISource("C:\Video\BDTH-YFdrG.avi")
LoadPlugin("VSFilter.dll")
VobSub ("C:\Video\BDTH-YFdrG.idx")
-------------------
现在随便你用什么软件,Tmpgenc、CCE或者是VD来打开这个avs文件,你都可以看 vobdub 已经准确地出现在视频文件之中。
当然,用文本字幕时,语句需要些许变化:
-------------------
AVISource("C:\Video\BDTH-YFdrG.avi")
LoadPlugin("VSFilter.dll")
TextSub("C:\Video\BDTH-YFdrG.srt")
-------------------
现在,文本字幕也会出现在 视频图像 中了。
那么,这简单的三行文字代表什么?第一行 AVISource() 命令软件将右侧括号中的文件当作avi标准文件来打开编辑;第二行 LoadPlugin 命令,要求AviSynth在处理时调入括号中的插件,本例中打开了VSFilter.dll插件,就可以令AviSynth支持vobsub字幕;第三行 VobSub() 或者 TextSub() 命令,则是Vobsub插件自定义的命令,可以将括号中的字幕文件加入视频汇总流,最终输出到任何打开avs文件视频编辑软件上。
神奇的 AviSynth 就是这样的简单。不过目前调入字幕时还没有使用到VobSUB()或者TextSub()命令中的高级部分,所有字幕的显示设定将依赖于Vobsub的默认设置。语种选择取决于idx文件中的 langidx: 指数。您也可以通过rundll32 VSFilter,DirectVobSub 可进入设定面板。