跳到主要内容
全部文章
对比

SRT 和 VTT 有什么区别?字幕格式该选哪个

一文讲清 SRT 和 VTT 两种字幕格式:语法差异、各平台支持情况,以及什么场景该用哪一种。

作者 发布于 更新于

SRT 和 VTT 有什么区别?字幕格式该选哪个

导出字幕时被要求在 SRT 和 VTT 之间二选一,你可能想过:这真的有区别吗?有,但该选哪个取决于你要发布到哪里。下面把两种格式、它们的差异和各自的适用场景讲清楚。

SRT 是什么?

SRT 是 SubRip Text 的缩写,是历史最久、支持最广的字幕格式之一,最初是 2000 年代初为 SubRip 软件设计的。格式非常简单:序号、时间范围、字幕文字,每个字幕块都按这个结构重复。

一个典型的 SRT 文件长这样:

1
00:00:01,000 --> 00:00:04,500
Welcome to the show. Today we're talking about transcription.

2
00:00:05,200 --> 00:00:08,800
Our guest has been in the audio industry for over a decade.

注意时间戳里秒和毫秒之间用的是逗号,这是 SRT 特有的写法。SRT 没有正式规范,不支持元数据,也不支持定位。很多播放器能识别少量基础标签,比如表示斜体的 <i>,但支持程度不一,所以最好把 SRT 当作纯文本对待。

VTT 是什么?

VTT 指 WebVTT(Web Video Text Tracks),是由 W3C 制定规范、专为网页设计的格式(W3C WebVTT)。结构和 SRT 相似,但有几处关键区别。

VTT 文件以 WEBVTT 头部开头,时间戳用句点而不是逗号,并且支持可选的样式和定位:

WEBVTT

00:00:01.000 --> 00:00:04.500
Welcome to the show. Today we're talking about transcription.

00:00:05.200 --> 00:00:08.800 align:right
Our guest has been in the audio industry for over a decade.

VTT 还支持字幕块设置(cue settings,包括定位、对齐、尺寸)、通过 CSS 设置行内样式,以及不作为字幕显示、但可供 JavaScript 使用的元数据字幕块。它的能力更强,但前提是你发布的平台真的用得上这些能力。

SRT 和 VTT 的主要区别

样式支持。 SRT 没有标准的样式写法。VTT 在浏览器中支持字幕块定位和基于 CSS 的样式。如果你需要在网页上实现定位字幕或统一样式的字幕,用 VTT。

时间戳写法。 SRT 用逗号(00:00:01,000),VTT 用句点(00:00:01.000)。差别很小但很关键:很多解析器对此要求严格,混用会导致字幕失效。

文件头部。 VTT 文件第一行必须是 WEBVTT,SRT 文件没有头部。所以手动生成和解析 SRT 会稍微简单一点。

元数据和章节。 VTT 支持 NOTE 块(注释)和不显示的元数据字幕块,SRT 不支持。如果你在做一个要用章节标记或定时元数据的网页播放器,VTT 是正确选择。

浏览器支持。 HTML5 的 <track> 元素读取的就是 VTT 格式(MDN)。不借助 JavaScript 库或先做格式转换,浏览器无法通过 <track> 播放 SRT。

各平台支持情况

平台SRTVTT来源
YouTube支持支持YouTube 帮助
Vimeo支持支持(推荐)Vimeo 帮助
Facebook支持(文件名形如 video.en_US.srt)不支持Facebook 帮助
HTML5 视频(<track>)不支持(需 JS)支持MDN
WordPress 视频区块不支持支持WordPress 文档
Final Cut Pro支持不支持Apple 支持

规律是:对剪辑软件和接受字幕文件的社交平台来说,SRT 是稳妥的选择;对你自己掌控的网页播放器来说,VTT 才是正确选择。YouTube 和 Vimeo 这类平台两种都收。至于 Instagram 和 TikTok 的普通帖子,应用会自己生成字幕,不接受上传字幕文件;想用自己的字幕,就把字幕直接压进视频画面。

什么时候用 SRT

以下情况用 SRT:

  • 往 Facebook 上传字幕
  • 使用 Final Cut Pro、Premiere Pro 或 DaVinci Resolve 等视频剪辑软件
  • 需要最大兼容性,且不需要样式
  • 要把字幕文件发给可能使用各种不同工具的客户或合作者

SRT 是稳妥的默认选项。不确定平台支持什么的时候,SRT 几乎总能用。

什么时候用 VTT

以下情况用 VTT:

  • 在网站上用 HTML5 <track> 元素嵌入视频
  • 给 WordPress 视频区块添加字幕
  • 需要在网页上使用定位字幕或带样式的字幕
  • 在开发自定义的网页视频播放器

如果视频以网页为主、播放器由你掌控,VTT 是正确选择。

用 PodText 同时生成两种格式

你不必一开始就做选择。PodText 的视频转文字工具可以转录视频文件,并同时导出 SRT 和 VTT,以及纯文本和 Markdown。同样的导出也适用于音频和播客单集。上传文件、拿到文字稿,然后下载你需要的格式,或者两种都下。具体步骤见如何给视频加字幕。

如果同一个视频要发到多个地方,这一点很实用:社交媒体上传用 SRT,网站内嵌播放器用 VTT,全部来自同一份文字稿。

比起格式选择,更重要的是字幕本身要准确。先拿到一份干净的文字稿,再导出成平台需要的格式。

参考来源

核对日期:2026-09-26。

  1. W3C, WebVTT: The Web Video Text Tracks Format
  2. MDN Web Docs, <track>: The Embed Text Track element
  3. YouTube Help, Supported subtitle and closed caption files
  4. Vimeo Help Center, Troubleshooting: Caption file types
  5. Facebook Help Center, What is the naming convention for SubRip (.srt) files?
  6. WordPress Documentation, Video block
  7. Apple Support, Import closed captions into Final Cut Pro for Mac

继续阅读