SRT 转 SBV
或者粘贴字幕文本
这次转换会改变什么
这个方向不会丢失内容 —— 源格式的每一项特性在目标格式里都有地方可去。
这份清单来自这两种格式的能力矩阵,而不是你加载的这份具体文件。如果具体文件用到了格式允许、但矩阵没有建模的特性,可能会丢得更多。
SBV 是 YouTube 早期字幕文件用的格式,这一页把 SRT 改写成一份 SBV。结构很简单:起始时间、逗号、结束时间,然后正文,两条字幕之间空一行。
SRT 的编号没有地方可放,因此被丢弃;其余都带过去。时间改写成 SBV 写法 0:00:01.000——小时一位、毫秒前用点——指向的时刻和原来的 00:00:01,000 完全一样。行内标签原样通过,一条两行字幕仍是两行,因为 SBV 靠空行而不是编号分隔字幕。
这个方向不丢内容:时间轴、换行、文字都保留;被去掉的编号只是序号,不是信息。如果之后要转回 SRT,编号会按顺序重新生成。
转换在浏览器里完成,文件不上传;单个文件或整季文件都可以,队列按顺序处理、可取消,结果打包成 ZIP。输出统一为 UTF-8、Unix 换行、无 BOM,源文件是 UTF-16 或 Windows 单字节编码时会先解码。文件名保留,只改扩展名。
示例
一份典型的 SRT 文件转成 SBV
输入
1
00:00:01,000 --> 00:00:03,500
Hello there.
2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.
3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.
输出
0:00:01.000,0:00:03.500
Hello there.
0:00:03.500,0:00:06.000
<i>Whispering</i> now.
And a second line.
0:00:06.000,0:00:09.250
<b>Bold</b> statement.
这个方向没有丢内容:编号被去掉,时间、换行与文字原样保留。
同一转换遇到一份脏文件
输入
1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.
2
00:00:03,500 --> 00:00:06,000
3
00:00:08,000 --> 00:00:09,000
Last one.
输出
0:00:01.000,0:00:03.500
<b>Bold</b> and <i>italic</i>.
0:00:03.500,0:00:06.000
0:00:08.000,0:00:09.000
Last one.
空行与多余空白正是 SBV 用来分隔字幕的符号,脏文件里更常见;解析器按结构读,不按行号猜。
常见问题
SRT 转 SBV 后字幕编号去哪了?
丢弃。SBV 不用编号区分字幕,两条字幕之间空一行就够了;读回 SRT 时编号会按顺序重新生成。
SRT 转 SBV 的时间码怎么写?
0:00:01.000:小时只有一位,毫秒前用点,起止时间之间用逗号。指向的时刻与 SRT 完全相同。
SRT 转 SBV 会丢行内标签吗?
不会。尖括号标签原样通过,不加引号也不改写;SBV 的正文就是普通文本。
SRT 转 SBV 后一条两行字幕还在吗?
在。字幕后空一行才分隔下一条,所以一条字幕里的两行不会被误读成两条字幕。
SRT 转 SBV 是无损的吗?
是。时间轴、换行与文字全部保留;只有编号没有落点,而编号不是内容。
上传 YouTube 时该选 SBV 还是 SRT?
两者都被接受。SBV 是更老的路径,SRT 在别处支持更广,长期保存适合用 SRT 当母版。