Skip to content

如何将SRT转换为VTT:网页视频字幕完全指南 | AllSubConverter

- 3 min read

如果你曾在网页上嵌入视频后发现字幕怎么也加载不出来,罪魁祸首几乎总是格式问题。网上流传的字幕文件大多是 SRT 格式,但浏览器需要的是 VTT。本指南将解释原因,并教你如何在几秒钟内将 SRT 转换为 VTT

为什么网页播放器需要 VTT

HTML5 的 <video> 元素在设计时就考虑了无障碍访问,它提供了 <track> 子元素用于显示字幕和隐藏式字幕。但问题是,<track> 元素官方只支持一种文本轨道格式:WebVTT(Web 视频文本轨道)。

如果你直接把 .srt 文件指向 <track>,大多数浏览器会直接忽略它。字幕按钮虽然出现,文件也下载了,但什么都不显示。这就是为什么对于任何在网页上发布视频的人来说,格式转换都是不可回避的一步。

简单来说:HTML5 只认 VTT。如果你提供的是 SRT,字幕就等于隐形。

SRT 与 VTT 的差异

这两种格式看起来很相似,文本内容通常也完全一致。差异虽小,但要求非常严格:

方面 SRT VTT
文件头 必须以 WEBVTT 开头
时间分隔符 毫秒前用逗号(00:01:02,500 毫秒前用句点(00:01:02.500
序号 必须有(1、2、3……) 可选
字幕设置 不支持 支持(align:center line:90%
内联样式 不支持 支持 <b><i><u>

其中两条时间戳规则是导致播放失败的关键。浏览器解析 VTT 时期望毫秒分隔符是句点,如果遇到 SRT 使用的逗号,整个字幕块就会被当作格式错误而跳过。

WEBVTT 文件头要求

每个有效的 VTT 文件都必须在第一行以 WEBVTT 字符串开头,后面跟一个空行。如果没有这个文件头,浏览器会直接拒绝整个文件。一个最小的 VTT 文件如下:

WEBVTT

00:00:01.000 --> 00:00:04.000
欢迎回到本系列节目。

00:00:04.500 --> 00:00:07.000
今天我们来转换网页字幕。

对比一下 SRT 格式,它有序号且时间戳用逗号分隔:

1
00:00:01,000 --> 00:00:04,000
欢迎回到本系列节目。

2
00:00:04,500 --> 00:00:07,000
今天我们来转换网页字幕。

步骤详解:SRT 转 VTT

  1. 打开转换器。进入 SRT 转 VTT 工具。无需安装或注册。
  2. 上传你的 SRT 文件。拖放文件、粘贴文本,或从设备中选择。支持批量处理多个文件。
  3. 运行转换。工具会自动插入 WEBVTT 文件头,将所有逗号时间戳分隔符替换为句点,并规范化字幕格式。
  4. 下载 VTT 文件。复制结果或保存到视频旁边,使用相同的文件名让浏览器自动关联。
  5. 接入播放器。<track> 元素中引用文件即可。

一个典型的 HTML5 配置如下:

<video controls>
  <source src="intro.mp4" type="video/mp4">
  <track label="中文" kind="subtitles"
         srclang="zh" src="intro.vtt" default>
</video>

浏览器兼容性的好处

转换为 VTT 不仅仅是为了通过解析器检查,它还解锁了真正的浏览器功能:

  • Chrome、Firefox、Safari 和 Edge 中原生字幕控件,无需任何 JavaScript
  • 通过 kind="captions" 属性,屏幕阅读器可识别无障碍字幕
  • 支持从右到左和垂直书写模式
  • 通过 kind="chapters" 实现章节标记
  • 逐条字幕定位,可以将字幕推离画面中的文字区域

VTT 还能与 Video.js、Plyr、Shaka Player 和 YouTube IFrame API 等主流网页播放器完美配合,一份转换后的文件即可同时用于自定义播放器和现成播放器。

常见陷阱

  • 重复文件头。如果源文件已有一行多余的 WEBVTT,简单的复制粘贴可能产生两行。转换器会自动去重。
  • BOM 和编码问题。VTT 文件应以 UTF-8 无 BOM 格式保存,否则某些播放器会误读文件头。
  • MIME 类型。文件应以 text/vtt 类型提供。严格的浏览器会拦截 application/octet-stream 类型的文件。
  • CORS。当 VTT 文件与页面不同域时,服务器必须发送正确的 CORS 头,否则字幕会静默失败。

准备好让字幕在网页上正常显示了吗?

一键将 SRT 文件转换为浏览器兼容的 VTT 格式,免费、私密、即时完成。

免费转换 SRT 为 VTT →

如果你需要反方向操作,为桌面播放器或电视获取纯文本字幕,可以阅读我们的 VTT 转 SRT 指南

相关文章

Related Reading