对于某些偏执狂而言,被嵌入水印、广告的电影、MV是不能被接受的,就像是被涂花过的脸…
原因很简单,内嵌字幕就得要对视频进行重编码,重编码理论上都是有损压缩。即使他重编码的参数无比牛叉,仅凭肉眼无法分辨,但心理上仍然是抵触这种形式的。
所以,我一向喜欢用外挂字幕…

【常见字幕格式介绍】
最简单的外挂字幕, srt,文本格式字幕的一种,它也是最为流行的外挂,因为其制作规范非常简单,一句时间代码 + 一句字幕,使得制作修改就相当简单,文件很小,一首MV一般仅有几K,一部电影的字幕也就几十K而已。
srt字幕的显示字体、颜色、位置,均由播放器决定,极少部分srt字幕使用自定义的颜色、字体,因为没有样式表,需要逐行定义字体、颜色,所以一般有颜色、字体的需求都会采用其他的字幕格式。
以下便是srt字幕的示例。


然后是图形字幕,sub/idx,sub保存了大量的字幕图像,idx是一个主引导文件,可以用记事本打开,里面记录了字幕的引导信息、时间轴等等。这种格式一般是从DVD里面导出来的,修改起来很麻烦。而且这种字幕格式一般都会比较大(废话,文本变图片了能不大么)    。
但它也有一个好处, 因为它显示的内容是图片,不需要字体文件支持,所以能方便的应用于播放机进行播放。

之后是我最喜欢用的ass,全称Advanced SubStation Alpha,是SSA的v4版本(SSA也是一种高级文本字幕格式)。它支持的特效很多,缩放、移动、 旋转、渲染、淡入、淡出、变色等等,也能够灵活的将这些特效进行组合以达到最佳的呈现结果。它还支持打上K值做成卡拉OK字幕,以及应用矢量图片生成更复杂的显示效果。
但是,字幕特效的复杂度太高的话(一般MV字幕体积达到3M以上就很难顺畅加载了),它就不能通过外挂字幕的方式进行输出了,字幕渲染的速度跟不上,这就必须要用重编码的方式把它嵌入到视频里面去。因为是一次性的编码嵌入,所以完全有足够的时间进行字幕渲染,编码完成后播放就仅仅是视频解码而已了。

它一般分为三个部分,
第一部分[Script Info],记录文件的基本信息,比如视频尺寸、特效命令版本、字幕制作信息等等;
第二部分[V4+ Styles],字幕的样式表,记录字体、字号、颜色、对齐方式、阴影、边框等等;
第三部分[Events],字幕主体,记录时间轴、特效、字幕内容、应用的样式名,也可能有一些备注信息在这里面
以下便是ass字幕的示例

其他还有SUP、SMI、PSB,以及MP3加载用的LRC等等,用的很少,我也知之甚少,就不介绍了。

【字幕加载】
 对于大多数的播放器,暴风啊、射手啊这些,基本都默认开启了字幕的支持,只要把字幕文件和视频文件放在同一个文件夹,保持它们的文件名统一就可以了 ,播放器播放的时候会自动加载对应的字幕文件。当然它们的后缀名(扩展名)是不一样的,重名文件是不被Windows允许的。
下图为示例,mp4、avi、ts为视频文件格式,ass、srt是字幕文件


如果还是不能加载字幕,一般可以通过 文件 ---> 打开字幕(加载字幕)的方式载入。

特别说明一下,因为我一般都使用PotPlay,而这个播放器默认情况下是没有打开ASS/SSA字幕的特效属性的,也就是说,动态字幕默认显示出来是静态的。以下是启用动画特性支持的设置方法,主界面上按下F5,选择“字幕”,勾选“开启ASS/SSA字幕动画特性”&“字幕显示在画面内侧”,确定。