如何将 VTT 转换为 SRT(以及什么时候真正需要这样做)
VTT 和 SRT 看起来很相似,但并不是所有地方都同样接受这两种格式。本文介绍什么时候把 VTT 转换成 SRT 真正有意义,以及转换的具体过程。
如果你是从网页视频或 HLS 流中提取字幕,很可能得到的是 .vtt 文件。这在浏览器里没问题,但一旦你想把这些字幕用在别的地方,往往就会碰壁。
VTT 在哪些地方会遇到问题
- 视频编辑软件。 Premiere Pro、Final Cut、DaVinci Resolve,以及大多数桌面非线性编辑软件,对 SRT 的导入支持都更成熟。VTT 的导入支持则因版本而异,时好时坏。
- 上传到各种平台。 虽然 YouTube 两种格式都接受,但不少小型平台、媒体播放器和老旧系统只认
.srt。 - 较旧或嵌入式设备。 智能电视、机顶盒,以及一些媒体服务器软件(Plex、Jellyfin、Emby),历来对 SRT 的支持都比 VTT 更可靠,尤其是在较旧的固件版本上。
如果你是要把字幕从网页环境中移出,用到通用的视频工具里,SRT 通常是更安全的选择。
转换过程中实际发生了什么变化
把 VTT 转换成 SRT 是机械性的操作,不涉及任何创造性改动:字幕内容和时间信息本身都不会改变。
- 去掉
WEBVTT头部这一行(SRT 不使用它)。 - 时间码的分隔符从点号变成逗号:
00:00:01.000变成00:00:01,000。 - 如果还没有序号,会自动加上连续的序号。
- VTT 特有的样式(cue 定位、
<c>说话人/颜色标签)会被去掉,因为 SRT 没有对应的功能。如果你的 VTT 文件大量依赖定位或带颜色的说话人标签,这些视觉信息不会被保留下来,只会保留文字和时间信息。
这一点是唯一需要注意的实际损失:如果你的字幕只是普通对话,没有特殊样式,那么这次转换基本上是无损的。如果用到了 VTT 的样式功能,你会保留文字和时间信息,但保留不了视觉格式。SRT 根本没有地方存放这些信息。
转换
你完全不需要手动处理这些。我们的VTT 转 SRT 转换器完全在你的浏览器里运行。不需要上传任何内容,粘贴或拖放你的文件,它就会立即原地重写头部信息、时间码格式,以及 cue 编号。