SRT、ASS、VTT 字幕有什么区别

这三个格式都能装字幕文字和时间轴,但能力差别不小。只是日常看片,SRT 往往够用;要复杂排版和特效,ASS 更合适;网页视频则经常遇到 WebVTT。

SRT:简单、兼容广

SRT 文件结构很直白:序号、时间码、字幕文本。播放器支持普遍,适合普通对白字幕。

ASS:排版能力更强

ASS 可以控制字体、位置、颜色、样式,动画字幕组常用它处理复杂排版。代价是文件和样式更复杂。

VTT:网页环境常见

WebVTT 与网页视频结合更自然,除了字幕文本,也能携带提示位置等信息。HTML5 视频场景里很常见。

乱码往往不是格式坏了

中文字幕出现乱码,先检查文件编码,尤其是 UTF-8、GBK 等编码差异。不要第一反应就去重新下载字幕。

遇到乱码时,如果问题是“文字变成乱码或方框”,继续按字幕编码排查处理;如果需要转换、校时或编辑字幕,可看Subtitle Edit。

看看文件里实际长什么样

以下均为演示内容;时间码写法和标头最容易区分这三种格式。

SRT:序号 + 逗号毫秒

1
00:00:01,000 --> 00:00:03,000
你好,今晚看什么?

WebVTT:WEBVTT 标头 + 句点毫秒

WEBVTT

00:00:01.000 --> 00:00:03.000
你好,今晚看什么?

ASS:样式和事件分开记录

[Script Info]
ScriptType: v4.00+

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.00,Default,,0,0,0,,你好,今晚看什么?

这只是 ASS 片段,不是可以直接播放的完整 ASS 文件,实际文件通常还需要样式配置。把文件后缀从 .srt 直接改成 .ass 并不会自动转换内容;需要转换时使用字幕编辑工具,并检查时间轴和样式是否保留。

还可查看 Aegisub、MKVToolNix 的使用场景。