← 返回博客
字幕教程

SRT 和 VTT 到底该选哪个?看播放位置就够了

SRT 和 VTT 都能保存字幕文字与时间轴,真正影响选择的是字幕要在本地播放器、剪辑软件还是网页视频里使用。

SRTWebVTT字幕格式

你手里有一份 SRT,电脑播放器能正常显示,上传网页却提示格式不支持;换成 VTT 后可以用了,打开文件又发现台词几乎没变。既然内容一样,为什么还要分两种格式?

别急着找所谓“更高级”的那一个。本地播放、剪辑交付常见 SRT,网页的 HTML 视频轨道更常见 VTT。两者都把台词和出现时间写在文本文件里,翻译质量不会因为改了扩展名自动变好。

打开文件,区别其实很小

SRT 的一条字幕通常有序号、起止时间、台词和空行。时间写成“00:01:12,500”,毫秒前是逗号。美国国会图书馆的 SRT 格式说明也把这四部分列了出来,并提醒 SRT 的样式能否显示,仍取决于读取它的软件。

VTT 文件第一行要写“WEBVTT”,时间里的毫秒改用句点,例如“00:01:12.500”。字幕块可以不写连续数字,时间后面还能带位置、对齐和宽度等设置。W3C 的 WebVTT 规范还定义了说话人标记、语言标记、章节、注释和网页样式。一份普通中文字幕用不到大半设置,网页仍按这套结构读取文件。

拿同一句台词来看,SRT 可能是“18”加一行时间再加台词;转换成 VTT 后,序号可以保留,也可以省去,逗号会变成句点,文件顶部多出 WEBVTT。台词和起止时刻本身没有理由变化。若转换后整段译文被改写了,那已经不只是格式转换。

本地看视频,先看播放器要什么

视频和字幕都在电脑里,最省事的做法是查看播放器、剪辑软件或交付平台列出的格式。对方明确收 SRT,就交 SRT;只收 VTT,就转成 VTT。不要因为 VTT 能写更多设置,便把现成且正常工作的 SRT 全部换掉。

SRT 结构简单,出错时也容易用文本编辑器检查:序号有没有乱,箭头是不是“-->”,时间里的逗号和空行还在不在。它没有统一的字符编码规定,碰到中文乱码时,应先确认文件按 UTF-8 保存。把乱码文件直接改名为 .vtt,并不会修好文字。

样式也别想当然。某个播放器认 SRT 里的斜体或颜色,不代表另一台电视也认;VTT 的位置和样式设置同样要看播放器是否实现。W3C 的字幕说明提到,不同浏览器和播放器对位置、样式的支持并不总是一致。需要稳定交付时,先用目标播放器看开头、中段和结尾,比在文本里堆样式保险。

字幕要放到网页,VTT 更顺手

网页里的 video 元素可以用 track 加载字幕轨。MDN 的 track 元素说明给出的就是 .vtt 文件,并用 kind 区分 subtitles、captions、chapters 和 metadata。还可以写 srclang 与 label,让播放器在菜单里显示“中文”“日文”等轨道名称。

这里说的 captions 不只是翻译对白,通常还会记录有意义的声音、说话人等信息;subtitles 更偏向帮助听得见声音、却听不懂原语言的人。文件同样是 VTT,网页通过 track 的 kind 告诉浏览器该怎么理解它。若你只是给自己在本地看日剧,不必为了这些网页能力改变原来的工作文件。

网站后台要求上传 VTT 时,别只把文件名从 .srt 改成 .vtt。浏览器会检查 WEBVTT 文件头和时间写法,内容不合格式就可能整轨不显示。用转换器生成后,抽查第一条和最后一条的时间,再看中文有没有乱码。大和字幕的 SRT / VTT 转换工具只改文件结构与时间码,不重新翻译台词,文件在浏览器本地处理。

转换前,留住一份原文件

实际做项目时,可以把校对过的 SRT 或 VTT 留作母版,再为播放器、网站或剪辑软件导出需要的格式。这样平台突然改要求,你不用从旧导出文件反推;发现转换丢了换行或样式,也能回到母版重做。

转换后至少对四件事:字幕条数有没有少,第一条和最后一条时间是否相同,换行是否保留,中文是否正常。带说话人、定位或样式的 VTT 转回 SRT 时,目标格式和播放器未必能保住全部信息,先拿短片段试一次,再处理整部视频。

文件已经在本地播放器里正常工作,就继续用它;网页明确使用 HTML 字幕轨,准备 VTT;交给别人时,以对方写明的接收格式为准。格式定下来,时间轴、翻译和校对才是这份字幕真正要花时间的部分。

SRT 和 VTT 有什么区别?本地播放与网页字幕怎么选