导出与字幕文件
怎么把 SRT 文件转成 VTT,或者把 VTT 转成 SRT?
简短回答
改三处就行:VTT 文件以 WEBVTT 一行开头,毫秒前用点而不是逗号,还可以带 SRT 不支持的 cue 设置和注释。转换工具几秒钟就能完成,而且不改动文字和时间轴。只改文件后缀是不够的。网页播放器和 HTML5 视频用 VTT;LinkedIn、Facebook 和大多数剪辑软件用 SRT。
2 分钟阅读
SRT 和 VTT 有什么区别?
同一条字幕分别用两种格式写:
1
00:00:01,000 --> 00:00:03,500
Welcome back to the channel.
WEBVTT
00:00:01.000 --> 00:00:03.500
Welcome back to the channel.
| SRT | VTT(WebVTT) | |
|---|---|---|
| 第一行 | 第一条字幕 | WEBVTT |
| 毫秒 | 用逗号分隔:00:00:01,000 | 用点分隔:00:00:01.000 |
| 小时 | 总要写出 | 为零时可以省略 |
| 字幕编号 | 通常需要 | 可选 |
| 位置和样式 | 不属于格式本身 | 有位置、对齐等 cue 设置 |
| 常见用途 | 各平台和剪辑软件 | 网页播放器和 HTML5 视频 |
VTT 是 W3C 格式,文件头、时间戳和 cue 设置都在 WebVTT 规范里有定义。SRT 没有正式规范,所以不同软件能接受的 SRT 细节不完全一样。
SRT 怎么转成 VTT?
- 在开头加上
WEBVTT和一个空行。 - 把每个时间行里毫秒前的逗号改成点,只改这里。
- 字幕编号保留或删掉都行,两种都是有效的 VTT。
- 以 UTF-8 保存,后缀用 .vtt。
VTT 怎么转成 SRT?
- 删掉
WEBVTT那一行,以及所有NOTE或STYLE块。 - 删掉结束时间后面的 cue 设置,比如
align:start。 - 把小时补全(
00:01.000改成00:00:01,000),毫秒前用逗号。 - 从 1 开始给字幕编号,以 UTF-8 保存,后缀用 .srt。
会议录像和网页播放器常常给你 VTT 文件,而 LinkedIn 和很多剪辑软件要的是 SRT。
直接改文件后缀可以吗?
不行。文件头和时间戳格式都不一样,只改后缀的文件通常导入失败,或者显示不出字幕。
怎么把这两种文件转成纯文本?
删掉编号和时间行,只保留文字,就能当文稿或博客草稿用。能导出 TXT 的转换工具会帮你做这一步。
在 CaptionBolt 里怎么做
想快速转换,可以用 CaptionBolt 的免费工具 Subtitle Converter:它能把 SRT 转成 VTT、VTT 转成 SRT、两者都转成 TXT,还能把 SRT 转成简单的 ASS 文件,全部在浏览器里完成,文件不会上传到任何地方。
- 粘贴字幕或上传文件。
- 选择转换方式,比如 SRT 转 VTT。
- 下载文件或复制结果。
转换器会保留文字和时间轴,并丢掉 SRT 放不下的 VTT cue 设置和注释。如果你要从视频生成字幕,CaptionBolt 可以直接导出这些格式:Pro 包含 MP4, SRT, ASS, TXT,Max 另加 VTT(MP4, SRT, ASS, VTT, TXT)。更多细节见怎么把 SRT 转成网页视频用的 VTT、怎么把 VTT 转成 SRT和SRT 与 VTT 对比。
什么时候换别的做法更好
- 你的 VTT 文件依赖位置或样式设置。 SRT 保留不了,那就继续用 VTT,或者转换后仔细检查结果。
- 你有几百个文件。 写个小脚本或用命令行工具,可以一次转换整个文件夹。
相关问题
怎么把 SRT 字幕文件加到视频里?
先决定观众能不能关掉字幕。想让字幕可开关,就在 YouTube、LinkedIn 或 Facebook 上把 SRT 和视频一起上传,或者在播放器、视频文件里把它加成字幕轨。想让字幕永久显示,就用 HandBrake、FFmpeg 或剪辑软件把 SRT 烧录进画面。TikTok 和 Instagram 不接受字幕文件,发这两个平台就要把字幕烧录进去。
怎么编辑 SRT 文件又不把它弄坏?
只改文字,保留结构:每条字幕由一个编号、一行形如 00:00:01,000 --> 00:00:03,500 的时间和一到两行文字组成,字幕之间空一行。不要改箭头和逗号,每条的开始时间要早于结束时间,并以纯 UTF-8 保存。字幕编辑器会帮你检查这些,这样文件依然能导入 YouTube、LinkedIn 或剪辑软件。
怎么从视频生成 SRT 字幕文件?
先让语音识别生成初稿,再校对并导出 SRT。如果视频在你自己的 YouTube 频道上,可以在 YouTube 工作室免费下载字幕文件。否则就用能导出 SRT 的字幕或转写工具,比如 CaptionBolt 的 Pro 套餐,或者在字幕编辑器里自己打字幕。使用前一定要检查人名、数字和时间轴。
怎样把字幕导入 Premiere Pro、DaVinci Resolve 或 Final Cut Pro?
导出一个 SRT 文件,作为字幕轨导入:Premiere Pro、DaVinci Resolve 和 Final Cut Pro 都能读取 SRT,你还可以在软件里重新设置样式。SRT 只保留文字和时间,这些软件也不读取带样式的 ASS 文件,所以想要逐词弹出的动态字幕,就给剪好的成片加字幕,再发布带字幕的 MP4。