跳到内容

免费工具

SRT 转 VTT 转换器

把 SubRip 字幕转换成网页可用的 WebVTT。拖入 .srt 文件,拿到的 .vtt 会带有浏览器要求的头部,以及 HTML5 视频要求的时间码标点。

  • 在浏览器中运行
  • 不会上传任何内容
  • 无需注册

将文件拖到这里

支持 .srt、.vtt、.txt 文件

使用方法

SRT 转 VTT 转换器,三步完成

01

拖入 SRT 文件

把 .srt 拖到框内,或点击浏览选择文件。文件不会离开你的设备。

02

转换为 VTT

自动添加 WEBVTT 头部,所有时间码的毫秒分隔符从逗号变为点。

03

下载 .vtt 文件

复制结果,或直接下载,即可挂到 HTML5 视频的字幕轨道上。

为什么 SRT 在浏览器里播放不出字幕

SubRip 和 WebVTT 看起来几乎一样,这正是问题令人困惑的地方:把一个 .srt 挂到 <track> 元素上,视频照常播放,字幕却不出现,也没有任何报错。HTML5 视频根本不识别 SubRip 格式——它只认 WebVTT,而这两种格式之间有两处细小的差异,播放器不会通融。

真正要紧的两处差异

第一,WebVTT 文件必须以单独一行的 WEBVTT 开头,缺了这个头部,无论内容是什么,文件都会被直接拒绝。第二,WebVTT 用一个点把秒和毫秒分开,而 SubRip 用逗号:00:00:01.500 对应 00:00:01,500。SubRip 在每个字幕块上方写的序号,在 WebVTT 里是可选项,转换时会被去掉——它们不承载任何含义,只会增加噪音。

转换会改动什么,又不会改动什么

时间信息会被原样复制,不做任何四舍五入、平移或重新计时。字幕内部的换行也会保留,两行的字幕转换后依然是两行。没有被带过来的,是 SubRip 本来就没有的东西:WebVTT 可以携带位置、对齐方式和区域等设置,而这个转换器不会凭空生成这些设置。你得到的是一个干净、有效、使用默认定位的文件,这在绝大多数场景下正是浏览器所需要的。

它在你自己的设备上运行

文件的读取和转换都在浏览器里完成,不会上传,不会被存储,也不需要注册账号。系统接受最大 10 MB 的文件,这已经远远超过任何字幕文件的实际需要——一部长片的字幕文件通常不到 100 KB。

答案

SRT 转 VTT 常见问题

为什么我的 SRT 文件在 HTML5 视频里什么都不显示?

因为浏览器不识别 SubRip 格式。元素只接受 WebVTT,而且失败时没有任何提示——视频照常播放,字幕就是不出现。把文件转换成 .vtt 就能彻底解决这个问题。

SRT 和 VTT 到底有什么区别?

只有两点。VTT 文件必须以 WEBVTT 这一行开头,而且用点分隔毫秒而不是逗号:00:00:01.500 而不是 00:00:01,500。字幕的其余部分——时间、文本、换行——完全一样。

字幕序号会丢失吗?

会,而且是特意去掉的。WebVTT 把这些数字当作可选的标识符,而不是顺序编号,没有任何东西会去读取它们。去掉它们只会让文件更干净,不会造成信息损失。

时间会发生变化吗?

不会。开始和结束时间会精确到毫秒原样保留,不会被四舍五入或重新计时。

样式和位置设置会保留下来吗?

本来就没有可保留的东西。SubRip 没有位置或区域设置,所以输出文件使用 WebVTT 的默认设置。如果你需要这些设置,之后得手动添加。

我的文件会被上传到什么地方吗?

不会。转换过程用 JavaScript 在你的浏览器里完成。文件不会被发送到任何服务器,不会被存储,也不需要注册账号。

文件最大能转换到多少?

最大 10 MB。字幕文件本身很小——即便是一部三小时的电影,字幕文件也很少超过 200 KB——所以你几乎不会碰到这个限制。

能反过来把 VTT 转回 SRT 吗?

可以。VTT 转 SRT 转换器就是做这件事的,而通用字幕转换器可以处理这两个方向,还支持 SBV 和 ASS 格式。

需要完整转录?

上传音频或粘贴 YouTube 链接,即可获取带说话人标签、时间戳和摘要的完整 AI 转录。

获取 App — 免费

iOS 和 Android 免费使用。无需账号。