字幕格式怎么选?SRT、VTT、ASS 的取舍

字幕格式的选择,本质上不是"哪个更高级",而是"这份文件交给谁用"。同一条文案,发给剪辑师、传给视频平台、塞进网页播放器,答案往往不一样。先看清四种格式各自能做什么,再按线索对号入座,避免做完了才发现下游不认。

四种字幕格式的结构对比
SRT 结构清晰、VTT 为网页而生、ASS 与 SSA 支持样式与定位;格式差异主要在信息携带量,而非画面效果

先看清四种格式各自长什么样

SRT 是纯文本,结构只有序号、时间轴、文本三样,可读、可手改、兼容性较广。VTT 是 WebVTT,专为网页播放器设计,时间轴写法不同,还支持位置、对齐这类提示。ASS 和 SSA 出自同一套字幕引擎,ASS 是 SSA 的后续版本,两者都支持字体、颜色、位置、逐字动画等样式信息,文件里是带方括号的段落式结构。

SRT 一条:
1
00:00:01,000 --> 00:00:02,500
今天聊三个问题

VTT 一条:
00:00:01.000 --> 00:00:02.500
今天聊三个问题

差异先记一句:SRT 和 VTT 管"什么时候显示什么字",ASS/SSA 还管"字长什么样、放在哪"。还有一个常被忽略的点:字幕文件本身不带字体,观众最终看到什么字体,取决于播放器或烧录时的设置,SRT/VTT 尤其如此。

线索一:交给谁播放

  • 本地播放器、大多数下载的字幕文件:SRT 更稳,几乎都能认
  • 网页内嵌播放(自己网站的 video 标签、H5 页面):VTT 是一等公民,浏览器原生支持
  • 需要精确样式(花字、卡拉OK、定位到画面某处):ASS/SSA 才有这个能力
  • 平台自动托管字幕(YouTube、B 站等):上传 SRT 或 VTT 比较常见,平台会自己转

一句话:网页走 VTT,本地走 SRT,要样式走 ASS。注意字幕文件不带字体,VTT 里的样式提示部分播放器也会忽略。

线索二:交给哪个剪辑软件

  • 剪映、Premiere、Final Cut 这类主流剪辑软件:导入 SRT 更省心,识别稳定
  • 要做花字、动态字幕、逐字高亮:支持 ASS 的工程里直接挂 ASS 轨
  • 软件不支持某种格式:先用工具转一道,再导入,比在软件里手动排时间轴快得多

如果你的剪辑软件导入后时间轴错位,先确认文件是标准 SRT(逗号分隔毫秒),而不是 VTT(点分隔),两者混用常是错位的根因。如果手上是 ASS 但剪辑软件只认 SRT,样式信息会丢失——这是格式降级,提前知道比事后返工好。

线索三:要不要花哨样式

  • 只要"看得清字":SRT 足够,样式交给播放器或烧录时再定
  • 要指定字体、颜色、描边、位置:ASS/SSA 才能完整保留
  • 烧录成片时再调样式:SRT 当母版也行,烧录工具里统一改

注意一个常见误区:把样式写进 ASS 再上传到会自动转码的平台,平台往往只保留文本、丢掉样式。要样式就在成片上烧出来,要检索就另传干净的字幕文件。

怎么选:四条线索归成一个动作

把上面的线索压成一张表:

你的下游 推荐格式 原因
本地播放器 / 下载分发 SRT 兼容性较广,几乎都能识别
网页播放器 VTT 浏览器原生支持
带样式的高级字幕 ASS / SSA 支持字体、位置、动画
平台自动托管 SRT 或 VTT 平台自行转换

实际工作流通常是:以 SRT 为母版,遇到网页就用 SRT 转 VTT 工具 出一版,遇到要样式就用 SRT 转 ASS 工具 出一版。同一份文案,按需出不同格式,比一开始就锁死一种格式更灵活。需要把源语言译成中文或英文字幕,可以先用 SRT 翻译工具 生成基础文件,再决定格式。长期归档也建议留一份 SRT,它结构清晰简单、不容易被工具链误读。

更多格式细节见 双语 SRT 的格式规范

常见问题

SRT 和 VTT 能互相转吗?

能,而且信息基本不丢——两者都是"时间轴 + 文本"结构,转换主要是时间码写法和少量提示语的差别。SmileSub 的 SRT 转 VTT 工具SRT 转 ASS 工具 都在线可用,不用登录。

ASS 和 SSA 有什么区别?

SSA 是早期版本,ASS 是它的扩展,字段更全、样式控制更强。现在新建字幕基本都用 ASS,老工程里偶尔还见 SSA。两者由同一套引擎处理,多数工具能互通。

我该从哪种格式开始做?

从 SRT 开始更稳妥。它结构清晰简单、不容易出错,几乎所有下游都能吃。等确定了播放平台或样式需求,再转成 VTT 或 ASS。SmileSub 的 工具集 覆盖了从翻译到格式转换的完整链路。