SubRip

打开保存纯文本

最简单的字幕格式,也是几乎所有播放器都支持的格式:编号的文字块,每块都有开始和结束时间。没有文件头,几乎没有样式,也没有官方的行位置设定。正因如此,它无处不在。

概览

扩展名.srt
媒体类型application/x-subrip(未注册)
规范无。由播放器实际接受的内容决定。
时间精度毫秒
文本编码文件中不声明编码。UTF-8 最安全;字节序标记(BOM)对一些老播放器和电视有帮助。Subtitld 打开时会检测较旧的编码。
样式斜体、粗体、下划线、删除线和颜色,通过非官方标签实现
位置格式本身不支持。借自 SubStation Alpha 的 {\an8} 及其同类写法被广泛支持。
在容器中Matroska 中为 S_TEXT/UTF8;转为 MP4 时为 mov_text

字幕的结构

字幕文件是一列文字块。每个块包含四个部分,且顺序固定。

3
00:00:27,000 --> 00:00:30,500
...you have your robotics, and I
just want to be awesome in space.
 
  1. 从 1 开始的数字。必需,不过大多数播放器会忽略它。

  2. 2 · 时间

    开始时间、箭头 -->、结束时间。箭头两边要有空格。

  3. 3 · 文本

    一行或多行。通常建议不超过两行,便于阅读。

  4. 4 · 空行

    结束当前块。没有它,很多播放器会把下一个编号当作文本。

时间码

用逗号,不用句点。 00:00:27.000 是 WebVTT 的写法。有些播放器会容忍句点,严格的则会拒绝打开文件。这是 SRT "打不开" 最常见的原因。Subtitld 两种写法都能读取,写入时总是使用逗号。

格式标签

这些标签都不属于任何标准,但多年来播放器之间已形成共识。请适度使用;并非所有平台都会显示它们。

标签 效果 支持情况
<i>…</i> 斜体,用于画外音 几乎所有播放器
<b>…</b> 粗体 大多数桌面播放器
<u>…</u> 下划线 大多数桌面播放器
<s>…</s> 删除线 部分桌面播放器,包括 VLC 和 mpv
<font color="#ffd700"> 文字颜色,可用十六进制代码或颜色名 桌面播放器;网页上常被忽略
<font face="…" size="…"> 字体和字号 少数桌面播放器
{\an8} 移到顶部,借自 SubStation Alpha VLC、mpv 及其他

字幕位置

{\an1} 到 {\an9} 的排列方式与数字小键盘相同。代码放在字幕文字的最开头。

左 中 右
上 {\an7} {\an8} {\an9}
中 {\an4} {\an5} {\an6}
下 {\an1} {\an2},默认值 {\an3}
Subtitld 的字幕编辑器:一行为黄色,选中的一行为斜体,下方是格式工具栏
Subtitld 的编辑器直接显示格式的效果,而不是标签。选中文字后使用其下方的工具栏,或按 Ctrl+I、Ctrl+B 和 Ctrl+U;网格决定字幕在屏幕上的位置。预览会按播放器的显示方式绘制。

打开损坏的 SRT

SRT 文件来源五花八门,很多都不完全遵守约定。Subtitld 根据时间行而不是空行来找到每条字幕,因此可以打开以下这些文件:

  • 任意编码:带或不带字节序标记的 UTF-8、UTF-16,或 Windows-1252 等旧编码;
  • 用句点代替逗号、小时数只有一位、小数位数不是三位,或使用短箭头(->);
  • 缺少编号,空行缺失或多余,或字幕块中间有空行;
  • 结束时间后面某些工具写入的坐标;
  • 顺序错乱的字幕,它会重新排好。

Subtitld 中的 SRT

保存在 .srt 中
  • 每条字幕的文字和换行
  • 斜体、粗体、下划线、删除线、颜色和位置
  • 开始和结束时间,精确到毫秒
  • 字幕的顺序
无处可存
  • 说话人、他们的脸和颜色(名字可以放在文字前面)
  • 与原文并列的译文(可以替代原文,或放在原文下方)
  • 配音和元数据

保存 .usfx 项目即可保留这些内容。

Subtitld 的纯文本标签页,以 SRT 显示字幕,底部有 SRT、MD 和 JSON 切换
纯文本视图会在你编辑时把字幕写成 SRT。手动输入时间码,时间线会随之移动;底部可切换为 Markdown 或 JSON。

导出 SRT

依次点击 导出,再选择 字幕 和 SRT,可以设置以下选项:

  • 文本原文、译文,或两者都要,译文放在下方。
  • 说话人名字不写出,或放在文字前(Thom:…)。
  • 格式保留,或删除;适用于会把标签显示为文字的平台。
  • 偏移时间把所有字幕整体提前或推后相同的时长。
  • 编码UTF-8;带字节序标记的 UTF-8,适用于老播放器和电视;UTF-16;或 Windows-1252。
  • 换行符Linux 和 macOS 用的 LF,或 Windows 用的 CRLF。

无论选择什么选项,文件都是标准的 SubRip:字幕按开始时间排序,从 1 开始编号,毫秒前使用逗号。空字幕会被省略;字幕内部的空行也会被省略,因为大多数播放器会把它当作字幕的结束。

SRT 还是 WebVTT?

SubRip .srt WebVTT .vtt
第一行 第一个编号 WEBVTT
毫秒 逗号之后 句点之后
编号 必需 可选的 cue 名称
位置 {\an8} 及其同类,非官方 cue 设置:line、position、align
样式 非官方标签 标签,以及通过 ::cue 使用的 CSS
说话人 只能作为文字的一部分 语音标签:<v Thom>
在网页浏览器中 需要转换 原生支持,配合 <track>
适合用于 播放器、编辑器、上传 网页视频

趣闻

~2000

这种格式以 SubRip 命名。SubRip 是一个 Windows 程序,它通过 OCR 从 DVD 上读取字幕,并把它们写成文本。

WebSRT

WebVTT 最初叫 WebSRT,是为网络改编的 SubRip,之后才加入文件头、cue 设置和 CSS。

0 页

从来没有任何组织发布过它的规范。逗号、箭头和空行,是一个持续了四分之一个世纪的约定。

相关格式

有 .srt 需要修正吗?

在 Subtitld 中打开它,连同视频一起,在波形上重新打轴。

下载 Subtitld