跳到主要内容
SubtitleMatrix

SBV 字幕格式

格式转换YouTube SBV

这种格式能表达什么

文本样式
仅纯文本
屏幕定位
否
卡拉 OK 计时
否
字幕条内换行
是
时间轴
每条字幕都有开始与结束时间
时间精度
1 毫秒
时间以帧号存储
否
从右到左的文字
是

示例

一份典型的 SBV 文件,以及从里面读出了什么

文件

0:00:01.000,0:00:03.500
The quick brown fox.

0:00:04.000,0:00:06.250
Jumps over the lazy dog.

0:00:07.000,0:00:09.000
Two lines here.
And a second one.

从中读出了什么

3 cues, 4 lines of text

  0:00:01.000 → 0:00:03.500
    The quick brown fox.
  0:00:04.000 → 0:00:06.250
    Jumps over the lazy dog.
  0:00:07.000 → 0:00:09.000
    Two lines here.
    And a second one.

Outside the cues:
  nothing — SBV stores cues and nothing else

右栏不是转换后的文件,而是本站从左边这份文件里读出来的内容,也是它每一次转换的起点。

一份带脏数据的 SBV 文件,以及还能读出什么

文件

00:00:01.000 , 00:00:03.000
Hello, world.

Some stray caption text
00:00:05.000,00:00:07.000
This block had a line before its timecode.

not a timecode at all
just prose on two lines

00:00:09.000,00:00:09.000
Zero length.

00:00:11.000,00:00:13.000
No trailing newline after this one.

从中读出了什么

4 cues, 4 lines of text

  0:00:01.000 → 0:00:03.000
    Hello, world.
  0:00:05.000 → 0:00:07.000
    This block had a line before its timecode.
  0:00:09.000 → 0:00:09.001
    Zero length.
  0:00:11.000 → 0:00:13.000
    No trailing newline after this one.

Outside the cues:
  nothing — SBV stores cues and nothing else

Reported while reading — repaired or skipped, never silently:
  1 × blocks with no readable timecode pair (they were skipped)
  1 × cues whose end time was not after their start time (they were given a 1ms duration)

真实文件常带 BOM、Windows 换行、时间码前的杂行,或者根本读不出的时间码。这些都不会抛错:读不出来的部分会被报告出来,而不是悄悄丢掉。

把 YouTube SBV 转成其他格式

每一个都完全在你的浏览器里运行。标签标明了那个方向要付出什么代价,打开之前就能看到。

SBV 转 CSV:文字和时间轴都不会丢,可以直接下载结果;文件不上传,支持一次拖入多个。

这个方向不会丢失内容 —— 源格式的每一项特性在目标格式里都有地方可去。

SBV 转 JSON:文本与时间轴完整保留,这一方向没有损失;文件在浏览器里处理,不上传,可批量转换。

这个方向不会丢失内容 —— 源格式的每一项特性在目标格式里都有地方可去。

SBV 转 SMI:文本与时间轴完整保留,这一方向没有损失;文件在浏览器里处理,不上传,可批量转换。

这个方向不会丢失内容 —— 源格式的每一项特性在目标格式里都有地方可去。

SBV 转 SRT:这一方向无损,文字、时间轴与换行原样保留;全程在本机完成,不上传,也能批量处理。

这个方向不会丢失内容 —— 源格式的每一项特性在目标格式里都有地方可去。

SBV 转 TTML:文本与时间轴完整保留,这一方向没有损失;文件在浏览器里处理,不上传,可批量转换。

这个方向不会丢失内容 —— 源格式的每一项特性在目标格式里都有地方可去。

SBV 转 VTT:文字和时间轴都不会丢,可以直接下载结果;文件不上传,支持一次拖入多个。

这个方向不会丢失内容 —— 源格式的每一项特性在目标格式里都有地方可去。

转换为此格式

SBV 是 YouTube 早期导出的字幕格式,通常出现在刚下载下来的字幕包里。这一页是它的说明页:它到底能存什么、存不了什么,以及可以转去的每一种格式各有一页。

它简单到一眼能看完。每条字幕是两行:第一行两个时间码,`H:MM:SS.mmm,H:MM:SS.mmm`,中间用逗号隔开,秒与毫秒之间用点;第二行起是正文,直到空行为止。没有 cue 序号,没有文件头,没有样式表,也没有定位——播放器给出全部外观。时间精确到毫秒,但一条 cue 之外的东西它一概不存。

上方那张能力表就是全部,没有藏着的功能。哪一行写“否”,就是转进 SBV 时真的会丢掉的东西。转出 SBV 时,SRT、VTT、SMI、TTML、JSON、CSV 这几个方向是无损的,因为 SBV 能表达的东西它们都装得下;其余方向各有自己的损失清单,每一页都会在打开文件之前讲清楚。

右栏展示的不是转换结果,而是本站从左边这份文件里读出了什么:逐条 cue 的起止与正文、cue 之外有什么(SBV 里通常什么都没有),以及读的时候修好或跳过的地方。所有转换都在浏览器里跑,文件不上传、不需要账号——受保密协议约束的素材、患者资料或尚未解禁的播出内容都用得上这一点。

常见问题

SBV 文件是什么?

`.sbv` 是 YouTube 导出的字幕格式:一行两个时间码、逗号分隔,下面是正文。结构简单、好生成,大多数播放器都能读;它只存 cue,没有任何文件级结构。

SBV 格式能存样式吗?

不能。它存的是 cue,而一条 cue 就是两个时间加一段文本。文件里没有字体、颜色或位置的声明,这些全由播放器决定。

SBV 的每条 cue 都有开始和结束时间吗?

有。时间写成 `0:00:04.126`,精度到毫秒,这个数字是精确的,所以一条 cue 可以很短、很长,也可以和下一条重叠,文件不会额外暗示什么。

SBV 能无损转成哪些格式?

SRT、VTT、SMI、TTML、JSON 和 CSV——SBV 能表达的东西这几种都装得下。上方能力表里两侧都写“是”的功能,就是能原样过去的那些;其余方向各有一份损失清单。

SBV 文件能用文本编辑器打开吗?

能,而且内容一眼能看懂:一行两个时间码,下面是正文,空行隔开下一条。两个时刻之间用逗号,秒与毫秒之间用点——这一点常被记混。

SBV 里的时间码是什么形状?

是 `H:MM:SS.mmm,H:MM:SS.mmm`:一小时以内省略小时位,两个时刻写在同一行、用逗号隔开。时间精确到毫秒,与 SRT、VTT 的精度相同。