Please enable Javascript to view the contents

字幕文件格式全面概述之 SRT

 ·  ☕ 3 分钟

前段时间写了个网页小工具:字幕工具箱 - 免费的在线字幕工具集合。在这个过程中,我发现字幕文件格式有很多种,而且每种格式都有自己的特点。这篇文章就来全面概述一下字幕文件格式。


我们看视频时,除了面画和声音,字幕也是一个重要的元素,可以大大提高视频内容的可访问性。字幕主要有两种格式:

基于文本的格式:这些格式(如 SRT 或 SSA)将字幕存储为纯文本,您可以使用常规文本编辑器轻松阅读甚至编辑。

二进制格式:二进制格式,例如 IDX/SUB 和 STL,我们可能会在 DVD 和蓝光光盘中找到这些内容。

因为我写的字幕工具箱 - 免费的在线字幕工具集合,全是基于文本字幕的,所以在这篇文章中,只介绍基于文本的字幕格式,这也是我们最为常用的字幕格式。

SubRipper (.srt)

SubRipper 格式(通常称为 SRT),是最广泛使用的字幕格式。其结构也非常简单,主包含三个部分:

  • 序列号:将其视为一个标签,表示哪个字幕是第一个、第二个、第三个等等。

  • 时间码:以 --> 分隔的两个时间戳(格式为:HH:MM:SS,sss),表示字幕何时开始和结束。

  • 内容文本:这是实际的字幕,即您在屏幕上看到的文字。它可以是从口头对话到字幕的任何内容。

以下为电影《让子弹飞》SRT字幕节选:

2404
02:02:20,820 --> 02:02:23,971
你和钱对我都不重要

2405
02:02:25,740 --> 02:02:26,889
那谁重要?

2406
02:02:30,900 --> 02:02:34,017
没有你,对我很重要

在此 SRT 示例中,每个片段都有序列号、时间码和字幕内容。当您播放视频时,播放器会读取 SRT 文件并在正确的时间显示每个片段。

SRT 字幕样式

SRT 字幕格式是纯文本格式,但也可以包含一些基本的文本格式,具体取决于处理应用程序。格式源自 HTML 标签,用于粗体、斜体、下划线和颜色:

  • 字幕加粗 – <b>…</b>
  • 斜体 – <i>…</i>
  • 下划线 – <u>…</u>
  • 字幕颜色 – <font color="color name or #code">…</font>

标签可以嵌套;某些实现只支持整行格式。

SRT 编码方式

SRT 默认编码方式是 Windows-1252. 但是,也提供了许多 Windows 代码页和 Unicode 编码的输出选项,例如 UTF-8 和 UTF-16,带或不带字节顺序标记(BOM)。因此,.srt 文件没有官方的字符编码标准,这意味着任何 SubRip 文件解析器都必须尝试使用字符集检测。Unicode BOM 通常用于帮助检测。

YouTube 仅支持 UTF-8。FFmpeg 中字幕文件的默认编码是 UTF-8。

SRT 字幕的优点

SRT 字幕简单、通用且易于编辑,是字幕世界的瑞士军刀。

兼容性强:大多数软件视频播放器都支持 SubRip 文件格式。许多字幕创软件以及媒体播放器都直接支持SubRip格式。2008年8月,YouTube在“隐藏式字幕”选项下为其视频播放器添加了字幕支持——内容制作者可以上传SubRip格式的字幕。自此,SubRip格式成为了字幕制作的标准。

易编辑:SRT 文件是纯文本文件,可以使用任何文本编辑器打开和编辑。结构简单,易于理解。

参考资料

分享

码中人
作者
码中人
Web Developer