指南
把 SRT 转成 VTT,给 HTML5 和网页播放器用
剪辑软件导出的是 SRT,网页播放器、课程站或 CMS 要的是 WebVTT。在浏览器里转时间和纯文本,不上传、不注册。
字幕在剪映、Premiere 或文本编辑器里做好了,文件是 .srt。HTML5 播放器、video.js、课程站或 CMS 的字幕栏要的是 WebVTT(.vtt)。这篇讲的就是这一步交接:一份干净的 SRT,变成 <track> 能加载的 .vtt。文件留在你的设备上。
SRT 和 VTT 都只带时间和纯文本。浏览器播放器认的是 VTT。多数桌面剪辑软件仍然先导出 SRT。
1. 先确认播放器要的是 VTT
- HTML5 / 浏览器播放器 —
<track kind="captions" src="captions.vtt">要的是 WebVTT。 - 课程平台 — 很多上传栏写的就是 VTT 或 WebVTT。
- CMS / 帮助中心里的视频 — 产品和文档站的字幕经常接
.vtt。 - 桌面剪辑软件和剪映 — 它们通常要 SRT。对方只导入 SRT 时,不要转成 VTT。
不确定下一步该用哪种格式,先看格式说明。
2. 导出一份干净的 SRT
导出 SubRip(.srt)。导出对话框里有编码选项时,选 UTF-8。
- 用文本编辑器打开 SRT。应能看到序号、
00:00:01,000 --> 00:00:04,000这样的时间轴,然后是对白。 - 对白本身要对。转换不会改写文稿。
- 中文或其他非拉丁文字已经是乱码的话,先另存为 UTF-8,再转换。
CueConvert 只保留时间和纯文本,不会重做字幕样式。来源如果是带样式的 ASS,离开 ASS 之前先看ASS 样式被丢掉时。
3. 在 SRT 转 VTT 页面上转换
- 拖入一个或多个
.srt,或点击选择。批量免费。单文件和整批的上限写在那一页上。 - 点转换到 VTT。
- 需要的话先看预览,再下载。一批成功的文件会打成一个 zip。失败的会单独列出。
不用注册。转换不会把文件上传出去。
4. 把 VTT 接到 HTML5 播放器
<video controls src="video.mp4">
<track kind="captions"
src="captions.vtt"
srclang="zh-CN"
label="中文"
default>
</video>
- 主机需要单独声明类型时,把
.vtt按text/vtt提供。 - 尽量让视频和 VTT 在同一来源;字幕地址跨域时,要给它配 CORS。
kind="captions"用于对白。无障碍策略要求字幕轨时,用kind="subtitles"。srclang写成这条字幕实际的语言。- 播放几分钟,把字幕开关打开。抽查开头、中间和结尾,不要只看第一句。
video.js、Plyr 或 CMS 的字幕栏,也是上传同一份 .vtt,按对方文档里写的 WebVTT 来接。
5. 剪辑软件又要回 SRT
VTT 转 SRT 把网页用的文件转回 SubRip。目标是时间和文本。网页上才有的 VTT 样式,不会留在一份纯 SRT 里。
常见错误和做不到的事
目的地选错了。 VTT 经常导不进 Premiere 或剪映。那些工具要的是 SRT。先对上目的地(格式说明)。
以为样式会留下来。 SRT 就是纯文本加时间。来源如果是 ASS,样式是故意丢掉的。见ASS 样式被丢掉时。
编码。 乱码通常是 SRT 不是 UTF-8。先改好 SRT,再转换。
图像字幕和广播格式。 CueConvert 只处理 SRT、VTT、ASS/SSA 和 SBV。PGS、SUB/IDX、TTML、SCC、STL 不支持。
批量大小。 上限写在工具页上。超了就拆开做。
权利。 只转换你有权使用的文件。
简短问答
CueConvert 会上传我的 SRT 吗? 不会。转换在浏览器里完成,不用注册。
批量免费吗? 免费,不超过工具页上写的上限。成功的文件打成一个 zip 下载。
时间轴还准吗? 目标是保留来源里的时间和文本。下载后在播放器里抽查。
能把 VTT 转回 SRT 吗? 可以。用 VTT 转 SRT。
样式很多的 ASS 呢? 只在纯对白就够用时再转。样式是故意丢掉的。