Hello 大家好,我是安哥。
之前介绍过不少给视频添加字幕的工具,包含小丸工具箱、Arctime、剪映、Final Cut Pro 和 Handbrake。
原以为这些字幕工具,就足够应对工作或生活中 99.9999% 的需求,直到前两天,有人让我帮忙下载一个电影,我作为免费劳动力,没想到她要求还挺多,必须要有双语字幕。
可能是我的搜索能力还不够强,只找到了不带字幕的视频版本。
后来从字幕网站下载到了一个中英双语的字幕文件,但这个字幕文件也是我之前从来没有接触过的格式:ass。
有了视频和字幕文件,如果不考虑在手机上播放的需求,其实只需要将视频和字幕同时拖拽到视频播放器中,例如 Windows 上的 Potplayer、Mac 上的 IINA,就可以看到带有字幕的视频了。
如果是要在手机上播放,最好还是先用前面提到的字幕工具,将视频和字幕压制在一起,这样在手机上播放压制后的视频,同样会带有字幕。
因为是在家里加的字幕,没有 Windows 电脑,Mac 上小丸工具用不了,Arctime 不知道怎么抽风了导入不了双语字幕,我能选的就只剩下跨平台的 Handbrake。
Handbrake 官网:
顺便提一下,Handbrake 在 Windows 系统上的语言为中文,而在 macOS 上只有英文版的,不过即便这样,英文也基本不妨碍我们的使用。
打开 Handbrake,点击左上角的 Open Source,导入视频文件。
导入视频之后,接着导入字幕文件,切换到 Subtitles 选项卡,点击下方的 Tracks 右侧的小箭头,选择 Add External Subtitles Track。
点击添加字幕轨道后,会弹出一个窗口,让我们导入本地的字幕文件,到这一步,我遇到的最大难题来了。
将窗口切换到存放字幕文件的路径,竟然找不到放在当前路径的 ass 字幕文件。
找不到这种格式的字幕文件,按照以前使用软件的经历,我猜测是 Handbrake 不支持压制 ass 格式的字幕文件。
打开 Handbrake 官网,在 Features 页面看到软件支持的字幕格式,确实不包含这里的 ass 字幕格式。
尝试过直接更改字幕文件的后缀名,例如更改为 Handbrake 支持的 ssa 和 srt 格式,但都失败了。
几经折腾,后来从网上的一个视频那里找到了解决方法——更换字幕文件中开头的文本信息。
右击 ass 字幕文件,选择以「记事本」或「文本编辑」的方式打开字幕文件。
打开的字幕文件如下,我们需要更改的就是字幕开头的 Script Info、Aegisub Project Garbage 和 V4+ Styles 这三个部分,即下图中被选中的蓝色文本。
框选出这些文本之后,可以先将它们全部删除。
删除之后,复制下面的文本内容,粘贴到刚删除的文本的位置,按下 Command + S 保存我们对 ass 字幕文件作出的修改。
[Script Info] Synch Point:0 ScriptType: v4.00+ Collisions:Normal Video File: ?dummy:23.976000:540000:1280:720:0:0:0:c Video Aspect Ratio: 0 Video Zoom: 4 [V4+ Styles] Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding Style: Default,方正黑体_GBK,20,&H00FFFFFF,&HF0000000,&H00000000,&H32000000,0,0,0,0,100,100,0,0.00,1,2,1,2,5,5,2,134
修改好字幕后,回到 Handbrake,重复前面的操作,从本地导入字幕文件,这回应该就可以顺利导入字幕了。
对于导入的字幕,我们要勾选 Burned In,将视频文件和字幕文件合并到一个文件中,这样可以得到影视行业中常说的「硬字幕」,接着点击右下方的 Browse,设置文件输出后保存的位置。
最后点上方的绿色按钮 Start,等待视频完成渲染,就可以得到带有字幕的视频了。
经过以上的折腾,还是不得不承认,在有些时候,Windows 电脑做同样的事情,还是比 Mac 来得容易和方便呀。。。