跳到内容
获取 App

什么是 SRT 文件?格式、示例与创建方法

•1 min read• 366 views •最后更新: 10 月 2, 2026
An old mechanical stopwatch resting on a printed page in strong daylight

要点速览

SRT 文件(SubRip Subtitle,扩展名 .srt)是一个纯文本字幕文件:由带编号的字幕块组成,每块都有以 时:分:秒,毫秒 写成的开始和结束时间,以及要显示的文字。它不含视频或音频,可用任何文本编辑器打开,几乎所有播放器和视频平台都接受它。你可以手动写一个,用纯文本生成,或从文字稿中导出,然后在上传前用校验工具检查。

如果你曾在视频播放器里打开字幕,很可能就是一个 SRT 文件在起作用。它是至今仍在日常使用的最古老的字幕格式之一,也是最简单的文件格式之一,这正是它无处不在的原因。

这一页把整个格式集中讲清楚:文件里有什么,每个部分的确切规则及一手来源,如何创建和修复,以及它与 WebVTT 有什么不同。

SRT 文件内部是什么样子?

SRT 文件就是一串字幕块,每个字幕块都有相同的四个部分:序号、时间行、一两行文字,以及一个空行。用记事本或 TextEdit 打开任何 .srt 文件,你都会看到这样的块:

1
00:00:01,600 --> 00:00:04,200
欢迎回到频道。

2
00:00:04,400 --> 00:00:07,900
今天我们来看看
字幕文件到底是怎么工作的。

3
00:00:08,100 --> 00:00:10,000
<i>(关门声)</i>

从上往下读,第二个字幕块的意思是:从视频的第 4.4 秒到第 7.9 秒显示这两行字。没有文件头,没有样式部分,也没有二进制数据,所以文件很小,几乎任何程序打开、编辑和保存它都不会出问题。

SRT 格式有哪些规则?

最接近 SubRip 参考文档的,是档案机构和容器格式保存的描述。Library of Congress 的格式说明把时间码写成 时:分:秒,毫秒,即 00:00:00,000,开始和结束之间用箭头 -->,而 Matroska 字幕文档描述的是同样的四部分字幕块。

SRT 字幕块的各个部分,及每个部分的规则
部分规则示例
序号单独一行的整数,从 1 开始递增2
时间行开始和结束写成 时:分:秒,毫秒,之间用 --> 分隔,两侧各有一个空格00:00:04,400 --> 00:00:07,900
毫秒分隔符用逗号,不是句点;句点属于 WebVTT,400
文字一行或多行一起显示;文件中的换行就是屏幕上的换行今天我们来看看
空行结束这个字幕块;下一个序号开始下一块(空行)
格式简单的标签,如 <i>、<b> 和 <u>,许多播放器支持,另一些会忽略<i>(关门声)</i>

有两个细节比其他所有问题加起来破坏的文件还多。第一是逗号:用句点写的时间行,00:00:04.400,是 WebVTT 的习惯,有些工具在 SRT 中会拒绝它。第二是空行:缺了空行的字幕块会和下一块连在一起,播放器要么把它们合并,要么丢掉一块。

编码

请把 SRT 文件保存为 UTF-8。它涵盖所有文字,从带重音符号的拉丁字母到阿拉伯文、中文和表情符号,也是当今播放器所期望的。旧版 Windows 工具生成的文件有时用的是某种地区性的旧编码,这就是带重音的字母变成问号或一串怪符号的原因。在文本编辑器中重新另存为 UTF-8 就能解决。有些程序还会在 UTF-8 文件开头加一个看不见的字节顺序标记;多数播放器会忽略它,但如果某个严格的工具拒绝第一条字幕,首先要试的就是保存为不带该标记的 UTF-8。

行长是阅读规则,不是格式规则

格式本身并不限制一行可以有多长;限制来自风格规范。Library of Congress 的说明提到每行 32 个字符的限制,BBC Subtitle Guidelines 对广播规定 37 个字符,Netflix English (USA) Timed Text Style Guide 则允许每行 42 个字符、最多两行。播放器无论如何都会显示更长的行,通常是自动折行,所以这个限制关乎的是人们能否来得及读完字幕,而我们 SRT 校验工具里的阅读速度检查,正是按你选择的规范来衡量这一点。

SRT 文件有什么用途?

  • 视频平台:把 SRT 和视频一起上传,观众就能得到可以开关的字幕。
  • 桌面和电视播放器:VLC 和许多其他播放器会加载放在视频文件旁边、同名的 SRT。
  • 翻译:翻译人员替换文字行而保持时间不变,每种语言得到一个 SRT。
  • 编辑软件:常见的视频编辑软件都能把 SRT 作为字幕轨道导入。
  • 无障碍:为聋人和听障观众制作的字幕,带有方括号中的声音描述和说话人姓名,都可以放进普通 SRT 的文字行里。

怎样创建 SRT 文件?

从视频自动生成

对于 YouTube 视频,把链接粘贴到 YouTube 文字稿工具中,然后在文字稿页面上点击 SRT:时间来自视频自己的字幕。对于你自己的录音和文件,SozAI 应用可以转写 99 种语言的音频并导出字幕。

从你已有的文字生成

如果你有纯文本的稿件或文字稿,免费的 TXT 转 SRT 生成器会把每个段落变成一个字幕块,并按其长度以每分钟 150 词给出时长,不短于 2 秒,也不长于 8 秒。请先拆分长段落:超过 20 个词的字幕块会触到 8 秒的上限,结果快得读不完。它在你的浏览器中运行,不会上传任何内容。

手动编写

对于一小段视频,在文本编辑器里手写 SRT 完全合理:按四部分的块来写,保存为 UTF-8 的 subtitles.srt,就完成了。超过一两分钟的视频,手动定时就变得繁琐,上面两种方式中的任何一种都更快。

为什么我的 SRT 文件不能用?

常见的 SRT 问题、通常的原因和解决办法
问题通常的原因解决办法
字幕完全不显示扩展名错误、编码错误,或时间行格式不对用 SRT 校验工具检查文件,它会指出有问题的字幕块
字幕整体提前或延后相同的时间视频有片头或剪辑,而文件不知道用字幕时间平移工具一次性移动所有时间码
字幕随着视频播放越来越不同步文件是按另一种帧率定时的,例如 23.976 对 25参见字幕为什么会不同步
带重音的字母显示成乱码以旧编码保存重新另存为 UTF-8
平台拒绝该文件它要的是 WebVTT用 VTT 与 SRT 转换器转换

SRT 与 WebVTT 和基于帧的时码有什么不同?

WebVTT(.vtt)是 HTML5 视频播放器使用的 W3C 格式。W3C WebVTT 规范在句点之后写三位数的毫秒,并让小时可以省略,文件以一行 WEBVTT 文件头开始;它还增加了 SRT 没有的定位和样式。时间是同一个时刻的不同写法,所以两者互转只涉及标点和文件头,在 VTT 与 SRT 中有更详细的说明。

视频编辑软件是按帧而不是毫秒计时的,即 SMPTE 时码,HH:MM:SS:FF。SRT 存的是真实时间,所以当字幕是根据剪辑的时码制作时,帧率决定结果:在每秒 29.97 帧时,一小时的非丢帧时码在真实时间里比标签所说的长 3.6 秒。我们的时码转换器可以把 SMPTE 时码(包括丢帧)转换成 SRT 时间戳,也可以反向转换。

如果你只需要文字而不要任何时间,字幕转文字工具会从 SRT 或 VTT 中去掉编号和时间码,只留下可读的段落。

答案

Frequently Asked Questions

怎样打开 SRT 文件?

任何文本编辑器都能打开:Windows 上的记事本、Mac 上的 TextEdit,或代码编辑器。要配合视频观看,请把 SRT 放在与视频同名的视频文件旁边,再用 VLC 之类的播放器打开视频,它会自动加载。视频平台则把 SRT 当作单独上传的字幕。

SRT 就是隐藏式字幕吗?

不是。SRT 是一种文件格式,隐藏式字幕只是它的一种用途。为聋人和听障观众制作的字幕还会描述声音,比如关门声,并说明是谁在说话;这些都可以放进 SRT 文件的文字行里,所以同一种格式既能承载普通字幕,也能承载这类字幕。

SRT 文件里包含视频吗?

不包含。SRT 文件只有文字:字幕序号、时间行和要显示的字。即使是一部长电影,它通常也只有几千字节。视频保留在它自己的文件里,由播放器或平台在播放时把两者合在一起。

SRT 文件中的时间戳是什么格式?

时、分、秒和毫秒,毫秒前用逗号:00:00:04,400。开始和结束写在同一行,用箭头隔开,00:00:04,400 --> 00:00:07,900。WebVTT 用句点代替逗号写同一个时间,这是手写的 SRT 被拒绝的最常见原因。

一行字幕可以有多少个字符?

格式没有限制;风格规范有。Netflix English (USA) Timed Text Style Guide 允许每行 42 个字符、最多两行,BBC Subtitle Guidelines 对广播规定 37 个字符。更长的行仍然会显示,但观众可能来不及读完。我们的 SRT 校验工具可以按其中任一规范检查文件。

能在手机上编辑 SRT 文件吗?

可以。SRT 是纯文本,所以手机上的任何文本编辑器都能修改文字。不过在小屏幕上手动改时间容易出错;要把所有时间码移动相同的量,请使用浏览器工具,比如字幕时间平移工具,它在手机上可用,而且不会上传文件。

Merey Tleugazin

SozAI 创始人。正在为全球专业人士打造将语音转为文本的工具。

SozAI
SozAI — 免费下载即时转录音频和视频
获取 App