跳到主要内容
SubtitleMatrix

TXT 转 SBV

格式转换纯文本稿
或者粘贴字幕文本

选项

当源文件没有结束时间时使用(纯文本、LRC)。输出里的时间轴是在这里生成的,不是转换来的,所以填多少就是多少。

这次转换会改变什么

有 1 项会被丢弃或需要你决定

  • 时间

    时间轴本身——源文件不记录任何时间,因此输出的时间轴是生成的,而不是转换来的

这份清单来自这两种格式的能力矩阵,而不是你加载的这份具体文件。如果具体文件用到了格式允许、但矩阵没有建模的特性,可能会丢得更多。

TXT 转 SBV 会给每行文字补一个时间槽,写成“开始,结束”加正文的块。第一行从 0 开始,之后每行接着上一行的结束,单行长度由“时长”参数决定,默认 2000 毫秒。时间写成“时:分:秒.毫秒”,起止两个值用逗号分开,这是 SBV 与 SRT 最容易分辨的差别之一。

SBV 写到毫秒,生成的时间槽不会被再舍入一次;产物没有编号,也没有文件头,空行只用来分隔块。TXT 里的空白行是段落标记,不会变成空白字幕,空白行只用来分隔块,不参与计时。

有损说明只列一项:时间轴不是文件里读出来的。TXT 本来没有样式、定位和卡拉OK,所以没有别的可丢。生成的起点是等间距的,要贴合画面仍需后续对轴;生成时间由行序决定,改时长不会重排字幕。

多个文件可以一次转换,结果打包成 ZIP 下载;解析与写出都在浏览器内,文件不上传。

示例

一份典型的 TXT 文件转成 SBV

输入

The quick brown fox jumps over the lazy dog.

Second paragraph, first line.
Second paragraph, second line.

输出

0:00:00.000,0:00:02.000
The quick brown fox jumps over the lazy dog.

0:00:02.000,0:00:04.000
Second paragraph, first line.

0:00:04.000,0:00:06.000
Second paragraph, second line.

这份产物丢掉了时间轴(它由本站排定);每行文字变成一条带毫秒起止的 SBV 块。

同一转换遇到带 BOM 与空行的 TXT

输入


Hello world.

Second block.

输出

0:00:00.000,0:00:02.000
Hello world.

0:00:02.000,0:00:04.000
Second block.

真实文件常带 BOM、Windows 换行、前后空白和多层空行。可以对照上面那份干净样例,看看解析器能容忍到什么程度。

常见问题

TXT 转 SBV 的时间码是怎么生成的?

第一行从 0 开始,之后每行接着上一行的结束,单行长度取“时长”参数(默认 2000 毫秒)。时间轴是这一页排出来的,TXT 里没有任何原始时间。

TXT 转 SBV 的产物有编号吗?

没有。SBV 的每条字幕只由“一行两个时间 + 若干行正文”组成,没有 SRT 那样的序号,也没有文件头;块与块之间用空行分开。

TXT 转 SBV 每行默认持续多久?

默认 2000 毫秒,也就是 2 秒。改“时长”参数会让所有行一起变长或变短,最后一条的结束时间等于行数乘以这个值。

TXT 转 SBV 时空白行会生成空字幕吗?

不会。空白行只作段落分隔,不产生时间块;只有含文字的行才占一个时间槽,所以产物里没有正文为空的条目。

TXT 转 SBV 的时间会被舍入吗?

不会。SBV 的时间精度是毫秒,生成的时间槽按毫秒写出;默认 2 秒的槽位是整数秒,不存在可见误差。

TXT 转 SBV 的输出用什么编码?

输出固定是 UTF-8、Unix 换行符、不带 BOM。输入 TXT 若是 UTF-16 或 Windows 单字节编码,会先解码并在结果面板里说明。

相关工具