格式知识 约 6 分钟
SRT、VTT、ASS 字幕格式:区别、兼容性与转换
三种字幕格式对应三个时代:SRT 是播放器时代的最小公约数,VTT 是网页视频的标准,ASS 是字幕组样式的天花板。转换本身秒级完成,真正要知道的是——转过去会丢什么。
能力对比
| 维度 | SRT | VTT | ASS |
|---|---|---|---|
| 时间轴写法 | 00:00:01,000(逗号) | 00:00:01.000(句点) | 0:00:01.00(厘秒) |
| 样式能力 | 无 | 基础(颜色、位置) | 完整(字体、描边、特效) |
| 播放器兼容 | 几乎全平台 | 现代播放器与浏览器 | 桌面播放器,移动端差 |
| 网页标准 | 需转换 | 原生支持(track 元素) | 不支持 |
| 典型场景 | 分发、归档 | HTML5 视频 | 特效字幕、字幕组成品 |
转换时的损失方向
ASS 转 SRT:所有样式信息被剥离——字体、颜色、定位、卡拉 OK 特效全部丢失,只留纯文本与时间轴。双行特效字幕(一行中文一行注释)会展平为普通两行。
SRT 转 ASS:文本无损进入,但样式是转换器生成的默认模板,不是原字幕组的设计。
SRT 与 VTT 互转:内容与时间轴无损,只有时间轴分隔符(逗号与句点)的机械转换。这是唯一完全对称的转换对。
按使用场景选格式
嵌入 MP4 做软字幕轨:SRT。MP4 容器官方支持的字幕格式是 mov_text,SRT 转进去兼容性最稳,电视与手机都能开关。
网页播放:VTT。HTML5 的 track 元素原生加载,无需任何转换器。
存档字幕组作品:保留 ASS。转成 SRT 等于把排版设计扔进垃圾桶,不可逆。
编码问题
老字幕文件常见 GBK/GB18030 编码,在按 UTF-8 读取的播放器里全是乱码。字幕转换在格式互转时按 UTF-8 重新输出,同时治好乱码。
反向问题也存在:个别老播放器只认 GBK——那种播放器同时代通常也只认 SRT,转码工具链里顺手解决。