作者MayDayLove ( (  ̄ c ̄)y▂ξ)
看板AVEncode
标题『 AviSynth+VobSub 5秒钟挂字幕 』 ---- 作者:沈晟
时间Tue Feb 17 00:45:17 2004
http://www.shooter.com.cn/?artid=62&show=1
『 AviSynth+VobSub 5秒钟挂字幕 』 ---- 作者:沈晟
AviSynth 是一件非常奇怪的事物。既可以说它十分难,也可以说他非常简单。
不会用的人对她摸不着头脑,用过她的人则对她爱不释手。
到底 AviSynth 是个什麽样的东西?我们就拿avi挂字幕编辑的问题,
来见识一下5秒钟完成为Avi原文件贴上字幕的功能吧。
很多人在为视讯文件加挂字幕的处理上,采用了通过 DirectShow + DVobSub
自动调用avi文件和同目录下的同名文件的方法。不过,坦白地说,
这样的调用方法不但效率低速度慢,而且并不能保证在所有的系统或者任何情况下
都能稳定。那麽有没有更好的办法?这里有一个答案:AviSynth。
AviSynth 是一种脚本话的视讯处理工具。与常见的Win32程序不同,
她完全没有GUI或者Consol界面,所有的操作全部取决於你用notepad的时候,
键入的寥寥几个参数。其特点是效率高,速度快,接口和源代码开放,稳定。
首先,可以到
http://sourceforge.net/projects/avisynth2/
下载安装最新版本的 AviSynth。现在 2.5.2 还包括一个ffvfw包,
可以让你的系统把 avs(AviSynth脚本文件)当成普通的视讯文件打开甚至播放。
接着,可以到
http://sourceforge.net/projects/guliverkli/ 下载安装最新版本的
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 可进入设定面板。
正好要用,顺手转贴。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.197.236