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 单字节编码,会先解码并在结果面板里说明。