TL;DR:第一层区分是文本还是图像。SRT、ASS、VTT 是可以自由编辑、翻译、互相转换的文本;SUP 和 SUB/IDX 只是文字的图片,必须先做 OCR 才能对它们做任何处理。在文本格式里,追求最大兼容性选 SRT,需要样式选 ASS,面向网页选 VTT。
文本格式 vs 图像格式——最关键的分野
在逐一比较各个格式之前,有一个区分决定了你对一个字幕文件到底能做什么,这个区分和"功能多不多""兼容性好不好"无关,而是关于文件里存的到底是文字还是图片。
文本格式——SRT、ASS/SSA、VTT——把每一行字幕的实际文字连同时间码一起存起来。因为文字就实实在在地写在文件里,你可以用任何编辑器打开它、做查找替换、丢给翻译工具、无损转换成另一种文本格式。图像格式正相反:SUP(蓝光 PGS)和 SUB+IDX(DVD VobSub)把每条字幕都存成一张渲染好的文字图片。播放器把这张图片叠加在视频画面上;文件里根本没有可读的文字。
正是这个差异导致:格式转换工具能一秒把 SRT 转成 VTT,却没有任何工具能凭空把 SUP 转成 SRT——SUP 里没有文字可转。你必须先跑 OCR,把图片里的文字识别出来。
文本格式(SRT、ASS、VTT)存的是真实文字,所以可以自由编辑、翻译、互相转换;图像格式(SUP、SUB/IDX)存的是文字的图片,只有先用 OCR 转成文字之后才能编辑或翻译。
SRT——通用默认选择
SubRip(.srt)是最朴素的字幕格式:一份编号列表,每条字幕都有起止时间码和一两行文字。没有字体、没有颜色、没有位置信息——只有文字和时间。而正是这份极简,让它成了赢家。
SRT 是目前兼容性最广的字幕格式:几乎所有视频播放器、所有字幕编辑软件、YouTube,以及绝大多数平台都能识别它。做编辑、翻译,或者在不同工具间搬运字幕时,SRT 是最稳妥的选择,因为无论你把它丢给谁,对方都认识。想深入了解这个格式本身——精确的文件结构、时间码规则、常见坑点——可以看这篇 SRT 字幕格式指南。
做编辑、翻译、跨工具流转时,SRT 是最好的默认选择——只有当你确实需要样式或面向网页发布时,才需要换别的格式。
ASS / SSA——需要样式时
Advanced SubStation Alpha(.ass,以及它的前身 SSA)是文字加丰富样式的组合。除了文字和时间之外,它还能承载字体、颜色、描边、精确的屏幕定位,以及卡拉 OK 式的特效。它是动画和字幕组圈子里的标准格式,原因很直接:那些场合的字幕外观本身就很重要——招牌翻译、歌词、多个说话人,每一种都需要各自的样式。
当外观本身是需求的一部分时,选 ASS。要知道的取舍是:把 ASS 转成 SRT 会丢掉所有样式,因为 SRT 根本没有地方存字体、颜色或位置信息——转换后只会留下文字和时间,其余全部丢失。如果需要保留外观效果,就把文件保持为 .ass。
当字体、颜色、定位或特效对结果至关重要时选 ASS/SSA;同时要接受,一旦压平成 SRT,样式就没了。
VTT(WebVTT)——面向网页
WebVTT(.vtt)是为网页而生的字幕格式。它是 HTML5 <track> 元素和网页视频播放器所用的字幕格式,和 SRT 足够接近,两者可以干净地互相转换——VTT 只是额外加入了浏览器能识别的一些网页向特性,比如字幕位置和样式钩子。
当字幕将要用在网页播放器里,或者作为字幕嵌入网页时,选 VTT。除了网页场景之外,SRT 几乎总是更简单、更通用的选择;VTT 的价值就专门体现在浏览器里。
HTML5 视频和网页内嵌字幕用 VTT;离开浏览器场景,普通的 SRT 通常是更省事的路径。
SUP 与 SUB/IDX——必须 OCR 的图像格式
这两种是图像格式,行为方式和前面几种文本格式完全不同。SUP(.sup)是蓝光的图像字幕轨(PGS);SUB+IDX 是 DVD 的图像字幕轨(VobSub),其中 .sub 存放图片,.idx 存放它们的时间索引。这两种格式里,每一条字幕都是一张位图——把文字渲染在透明图层上的一张图片,播放器把它画在视频画面之上。
因为里面没有文字,你没法像处理 SRT 那样编辑、翻译或转换这些文件。格式转换工具对它们无从下手。处理 SUP 或 SUB/IDX 文件之前,必须先把图片 OCR 成文字——通常输出为 SRT——之后才能编辑或翻译。在 Mac 上,GeekLink 在本地完成这个 OCR 过程:读取图像字幕里的文字,导出干净、时间码准确的 SRT,全程不上传任何内容。如果你的字幕是直接烧录在画面里、而不是独立的字幕轨,同样的 OCR 思路依然适用——具体如何区分这几种情况可以看 字幕的 4 种类型。
SUP 和 SUB/IDX 是图片而非文字,所以在做任何编辑、翻译或转换之前,OCR 成 SRT 是必经的第一步。
该用哪种格式?(快速决策)
这里是整个对比的浓缩版。按你想做的事情,对照找到合适的格式。
| 格式 | 文本还是图像 | 样式能力 | 最适合 |
|---|---|---|---|
| SRT | 文本 | 无 | 编辑、翻译、跨工具流转 |
| ASS | 文本 | 丰富 | 动画、有样式需求的字幕 |
| VTT | 文本 | 基础 | 网页视频 |
| SUP | 图像 | 不适用 | 蓝光,需 OCR |
| SUB+IDX | 图像 | 不适用 | DVD,需 OCR |
实际用起来,大多数人想要的是 SRT:它哪里都能打开,编辑和翻译也最省事。在 Mac 上,GeekLink 可以直接从语音识别或 OCR 结果导出 SRT(以及双语字幕)。对于 SUP、SUB/IDX 这类图像格式,先用 GeekLink 把它们 OCR 成 SRT,之后就可以像处理其他文本字幕一样处理它们了。
默认用 SRT;外观重要时用 ASS,网页场景用 VTT;遇到 SUP 和 SUB/IDX,先 OCR 成 SRT,再当文本字幕处理。
常见问题
SRT 和 ASS,哪个更好?
要兼容性和方便编辑就选 SRT——它几乎能在所有播放器和工具里打开。需要字体、颜色或定位时选 ASS,因为 SRT 存不了任何样式信息。
SUP 文件是什么?
它是蓝光的图像字幕轨(PGS)。里面存的是文字的图片,而不是文字本身,所以必须先 OCR 才能编辑、翻译或转换。
能把 SUP 转换成 SRT 吗?
用格式转换工具是不行的——SUP 里没有文字可转。你需要用 OCR 识别每张图片里的文字,把它们写成带原始时间码的文本,这样才能得到 SRT。
YouTube/网页用的是哪种字幕格式?
VTT(WebVTT)是网页标准,用于 HTML5 视频字幕。SRT 同样也能上传到 YouTube,所以单就 YouTube 而言两种都可以。
哪种格式能保留字幕样式?
ASS/SSA,它能存储字体、颜色、定位和特效。SRT 和普通 VTT 都不支持丰富样式,转换成这两种格式会丢失样式。