ASS、SRT 和 WebVTT,什么时候该用哪个?
只要“时间 + 文字”时优先考虑简单格式;要精确样式和位置看 ASS;面向 HTML 视频的字幕和 timed text 则看 WebVTT。真正容易踩坑的是格式转换会丢掉什么。
先用这张表决定格式
| 需求 | SRT | WebVTT | ASS |
|---|---|---|---|
| 简单对白 + 时间轴 | 适合 | 适合 | 可以,但通常没必要 |
| 复杂字体、描边、位置和特效 | 不适合保存复杂样式 | 能力与网页 cue 相关 | 适合 |
| HTML 视频的 text track | 需看播放器支持 | 原生目标场景 | 不是浏览器原生 text-track 格式 |
| 人工直接打开修改 | 很容易 | 较容易 | 字段更多,适合专业字幕编辑器 |
SRT:交换简单字幕时最省事
SRT 核心就是序号、起止时间和文本。它适合普通对白、人工校时和跨软件交换。不要把某个播放器对 HTML 标签或额外样式的兼容,当成 SRT 在所有播放器里都能稳定保留的能力。
1 00:00:02,000 --> 00:00:05,000 第一句字幕
WebVTT:面向 Web 的 timed text
W3C 的 WebVTT 规范把它定义为与 HTML 媒体元素配套的 Web Video Text Tracks 格式,可用于字幕、说明、章节以及与音视频时间对齐的元数据。文件以 WEBVTT 标识开头,并支持 cue settings 等网页播放相关能力。
WEBVTT 00:02.000 --> 00:05.000 第一句字幕
ASS:当样式和屏幕位置本身就是作品的一部分
ASS 常用于需要样式、定位、描边、分层和效果的字幕。Aegisub 的字幕编辑流程围绕样式、Layer、Actor、Effect 等字段工作,所以它更适合排版和动画字幕,而不是单纯为了保存一句对白。
格式转换最重要的是先判断会丢什么
ASS 转 SRT 时,复杂样式和精确位置没有等价字段可放,不能把“成功导出”理解成“完全保真”。WebVTT 转成其他格式时,cue settings 等网页特有信息也可能没有对应项。
转换前保留源文件。需要简单兼容时导出一份 SRT;需要样式时继续保存 ASS;网页播放器则按实际浏览器/播放器要求输出 WebVTT。
参考资料
- W3C WebVTT:WebVTT 的用途和语法规范。
- Aegisub 官方文档:ASS 字幕编辑字段与样式工作方式。