关于影片外挂字幕合并的各种问题解答【Avs内嵌法】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于影片外挂字幕合并的各种问题解答【Avs内嵌法】
2010-03-28 12:37
前言:
大家都知道最近网络上所分享的动画、影片,其格式不外乎以下几种:.rmvb、.avi、.mkv(Matroska 媒体系列的其中一种)、.mp4、.wmv……等。
而字幕的格式有以下几种(列出一些常见的):
1.图形数据格式
SUB格式
SUB格式的字幕数据由字幕图片文件(.sub文文件)和字幕索引文件(.idx文档)组成。
一个.sub 文文件可同时包含多个语言的字幕,由.idx进行调用。
常见于DVD-VIDEO,但在DVD中,这两个文件被集成到VOB内,需要通过软件分离VOB来获取字幕文件。
2.文本数据格式
SRT格式
SRT(Subripper)是最简单的文本字幕格式,后缀名为.srt,其组成为:一行字幕序号,一行时间代码,一行字幕数据
如:45
00:02:52,184 --> 00:02:53,617
慢慢来
这表示:第45个字幕,显示时间从该影片开始的第2分52.184秒到第2分53.617秒,内容为:慢慢来
SSA、ASS格式
SSA(Sub Station Alpha)是为了解决SRT过于简单的字幕功能而开发的高级字幕格式其扩展名为.SSA。
采用SSA V4脚本语言,能实现丰富的字幕功能,除了能设定不同字幕数据的大小和位置外,更能实现动态文字和水印等复杂的功能。
ASS(Advanced SubStation Alpha)其实是更高级的SSA版本,采用SSA V4+脚本语言编写。
因此,如果要将影片上传,势必得将影片的外挂字幕内嵌进影片里,不然会发生悲剧,也就是没字幕,严重一点则是乱码。
不过由于.rmvb的格式通常已经将字幕内嵌进影片,所以大家通常是选择上传这类影片,但是这类影片的清晰度可就没有这么好了。
所以透过这篇文章来让大家了解如何解决字幕合并问题。
先期准备:
首先要先准备以下工具软件:
1.MediaCoder(转文件软件,其实也能选择其他的,但是这边用这个来做)
2.vsfilter.dll(让字幕显示的一个小档案)
3.K-Lite Codec Pack(解碼工具,也可选择其他的,例如:完美译码或是终极译码)
4.AviSynth(用来内嵌字幕最重要的工具,一般大家把它简称为AVS)
另外,如果是针对.mkv这个格式,请再准备以下2样工具:
5.mkvtoolnix(将字幕合并进.mkv档案里做成内挂字幕的程序)
6.MKVExtractGUI(这个是将.mkv内的内挂字幕解出来的程序,需要与mkvtoolnix一起安装) 【PS】以上程序请自行用Google大神寻找,在下不提供。
做法:
首先是安装程序(废话!!),vsfilter.dll这个档案要放到系统槽的X:\WINDOWS\system32里。
接下来是根据文件格式来做合并字幕:(也许会有遗漏,但是这边主要是针对主流格式做说明)
1..mkv的内封字幕类型(如果只是普通的外挂字幕影片,可以略过此步骤)
这边先跟大家解说一下,所谓内封字幕并不是真的把字幕内嵌进影片,部分字幕组只是把字幕用Matroska封装格式将字幕封装在这种格式之中,基本上我还是认为这跟外挂字幕一样,一并帮大家解决疑难杂症。
首先先用mkvtoolnix里面mkvmerge GUI这个工具,将程序打开后为下列这张图:(为了节省图片用量,直接使用范例图)
这个范例是“HKG字幕组的H2O-赤沙的印记”,只有看到图像文件跟音轨档案而已,这类的.mkv 类型,属于字幕内嵌的型式,可以直接进行转档(但是伊莉不支持.mkv,须自行转档)。
这个范例是“X2&HKG字幕组的杀戮公主”,这边与上面的不同在于多出了字幕档案,这类的.mkv 类型,属于字幕内封的型式,不能直接进行转档,须进行字幕移出的工作。
(如果直接转档,只会看到很多乱码在跑而已~@@)
这个范例是“CASO字幕组的华丽的挑战”,和上面不同的是拥有繁简双字幕,也是与上面一样属于内封的型式,须另外做字幕移出动作。
(通常繁简双字幕都是这么封装的)
----------------------------------------------我是分隔线--------------------------------------------------- 这部分是解说MKVExtractGUI的用法,如果不需要请直接跳过,以下利用“X2&HKG字幕组的杀戮公主”做为范例:(按照顺序操作便能得到字幕档),如下图:
解出字幕后,需再配合下面步骤,请继续往下看^^,因为内挂字幕是比较麻烦的,需要有耐心、耐心。
接着再利用mkvmerge GUI(MMG)这个程序,将.mkv影片档做一次封装(这边记得备份源文件,不然一旦失败就悲剧了),如下图:
这么做是因为要把字幕去除,进而利用外挂字幕做Avs内嵌法,所以必须真的要有耐心阿。
----------------------------------------------我是分隔线---------------------------------------------------
2.将各种文件类型的外挂字幕内嵌进影片(这边开始使用AVS内嵌法)<---重点由此开始
这边开始就需要安装AviSynth(AVS)这个程序,首先是最常见的SRT格式,SSA、ASS格式(字幕)与影片进行合并的方法:
1.请开起一个新的文件档(.txt)
2.把下面这些复制进文件档里,并将扩展名改成.avs
LoadPlugin("VSFilter.dll")
DirectShowSource("*.avi",23.976(or 29.97),ConvertFPS=true)
TextSub("*.ass(or ssa)")
上面是内嵌时所需的语法*代表路径,其中.avi可换成其他格式,如:.mp4、.wma、.mkv甚至是.rmvb(不过前题是这个.rmvb是外挂字幕,这种类型很少见,几乎是没有),最后记得把里面的"(or )"去除。
另外下面再补充2种不同的语法,在下是没试过,不过应该也是能用^^"。
【基本上以上面的语法来解说^^】
基本型:
LoadPlugin("VSFilter.dll")
aviSource("*.avi")
changefps(23.976(or 29.97))
textsub("*.ass(or ssa)")
完整型:
LoadPlugin("VSFilter.dll")
v=DirectShowSource("*.avi",audio=false,23.976(or 29.97),convertfps=true)
A=DirectShowSource("*.mp3")
Audiodub (V,A)
textsub("*.ass(or ssa)")
3.接着试着用播放器播放看看是否有影像画面(这边会有2种情形,成功or失败,拿图来说明)
这个不用我说,就是成功了,可以进行转档。
这个则是因为字幕路径错误,而导致无法播放(当然问题不只有这种,出现错误当然先找.avs) 4.利用MediaCoder程序将.avs档案转档成想要的格式(转档方面请参照教学帖中loveyuhsuan11大的教学)
上述步骤完成后,就是已经将字幕内嵌进影片的完成品,可以将影片上传至伊莉影片区^^ 【PS】以上方法也可以用在SRT字幕格式,方法一样只是将汇入字幕扩展名改成.str,不过一般是直接使用MediaCoder程序直接转文件。
3.关于SUB格式的字幕内嵌(这边是额外的补充说明)
.sub字幕为图形数据格式的字幕类型,与文本数据字幕的不同之处是,这类字幕数据以图片方式呈现,文件体积较大,不易于修改,亦称为「硬字幕」。
通常此字幕会有2个档案,即.sub与.idx。
这边还是一样使用AVS内嵌法,但是要修改字幕部分的语法,也就是如下所示:
LoadPlugin("VSFilter.dll")
DirectShowSource("*.avi",23.976(or 29.97),ConvertFPS=true)
VobSub("*.idx")
也就是将原本textsub("*.ass(or ssa)")改成VobSub("*.idx")而已,其他部分则维持不变。
至于上面的数值23.976(24)跟29.97(30),是指FPS,一般只有这2种数值。
【PS】Avs内嵌法:Avs其实就是一种索引文件,其内容可以用note等进行编译,主要作用是通过指令调用相关滤镜对视频文件进行编辑,简化工作。
但它需要AviSynth的支持。
(现今各字幕组内嵌字幕的方法大部分都是AVS+转文件程序内嵌字幕)
最后将相关流程在仔细说明一下:(这边是上面的总结)
1.首先先确认影片的文件类型
当遇到的类型是属于.mkv内封字幕时,请先利用MKVExtractGUI程序将字幕分离出来,外挂字幕则是省略此一步骤。
2.确认字幕的类型种类
字幕主要分为图形数据格式跟文本数据格式,依不同类型而有不同的做法。
3.使用AVS内嵌法编写.avs文本
基本上都使用下面的语法样式,但依照字幕不同而有不同语法,另外,有时候影片跟音轨档案是分开的,需使用完整版的语法。
LoadPlugin("VSFilter.dll")
DirectShowSource("*.avi",23.976(or 29.97),ConvertFPS=true)
TextSub("*.ass(or ssa)")<---文本数据格式的字幕
VobSub("*.idx")<---图形数据格式的字幕
4.将.avs档案转档成想要的格式
透过转文件程序(不一定要用我用的MediaCoder),将.avs档案转档成所需的格式(转档完毕后会发现字幕已内嵌完成),基本上几乎能支持现在的主流格式。
上图是.avs的范例
上图是转文件软件MediaCoder的范例
后记:
虽然软件都是英文的,但是操作上并没有很困难,个人认为本篇教学已经写得很简单了,如果还是不明白,那我也只能举白旗投降了。
在此发表这篇文章,让大家能尽量上传清晰画质的影片,让影片网不再充满马赛克(在此是指影片主机转文件后的画质,会有方格状的纹路),相信大家都是传RMVB这种不用转档合并字幕的影片居多吧。
除此指外,字幕组所做字幕有时候会有错误,一般都是文本字幕居多,只要用记事本打开档案就能修改错误,厉害一点的还能更改字幕字型、颜色、大小,甚至是自行重新制作字幕,在修改上很方便,希望这篇文章能帮上有心想学习的人。
【By Gebochou】【以上同步发表于论坛影片区】。