MicroDVD 转 SBV
或者粘贴字幕文本
选项
时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。
这次转换会改变什么
有 1 项会被丢弃或需要你决定
- 帧率
源文件以帧号存储时间——每个时间戳都取决于你提供的帧率
这份清单来自这两种格式的能力矩阵,而不是你加载的这份具体文件。如果具体文件用到了格式允许、但矩阵没有建模的特性,可能会丢得更多。
这一页把 MicroDVD 写成 SBV:第一行是 `0:00:04.000,0:00:06.000` 这样的起止时间,下一行起是正文,两条字幕之间空一行。没有序号,也没有表头。
时间码是精确的:帧号按帧率换算成毫秒,SBV 写三位小数,所以换算结果原样落进去,不会像 ASS 或 SSA 那样降到厘秒。帧率的来源仍然是页面框、文件声明、默认 25——页面框优先,文件里的 23.976 声明只能在你把框留空时生效。
这一页丢的只有帧率:SBV 里没有帧号,也没有记录帧率的字段。样式与定位本来就不在 MicroDVD 里,不会在这里凭空出现。`|` 直接写成下一行,两行仍在同一条 cue 里。
产物按开始时间升序,UTF-8、LF、无 BOM;源文件编码不同会先解码。一次拖入多个文件时串行处理、可取消,最后打成一个 ZIP,不上传。
示例
一份典型的 MicroDVD 文件转成 SBV
输入
{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.
输出
0:00:04.000,0:00:06.000
The quick brown fox jumps over the lazy dog.
0:00:08.000,0:00:10.400
Faster than
the last one.
产物丢掉了帧率;其余逐行一致。
同一转换遇到一份脏文件
输入
{1}{1}23.976
{0100}{0150}Leading zeros in the frame numbers.
[INFORMATION]
{300}{340}An unrecognized line above was kept in place.
{400}{450}Trailing spaces are kept.
输出
0:00:04.000,0:00:06.000
Leading zeros in the frame numbers.
0:00:12.000,0:00:13.600
An unrecognized line above was kept in place.
0:00:16.000,0:00:18.000
Trailing spaces are kept.
真实文件常见的损坏:混合换行、BOM、散布的空白、带前导零的帧号、认不出的行。可以对照上面那份干净样例,看解析器能容忍到什么程度。
常见问题
MicroDVD 转 SBV 的产物长什么样?
每条 cue 两段:一段是 `0:00:04.000,0:00:06.000`,紧跟着正文,两条之间空一行。没有序号,也没有文件头。
MicroDVD 转 SBV 会丢毫秒吗?
不会。SBV 写三位小数,帧号换算出来的毫秒原样写出;这一页的损失清单里只有帧率。
MicroDVD 的 `|` 在 SBV 里怎么表示?
写成换行,两行仍然属于同一条字幕,时间码只出现一次。
MicroDVD 转 SBV 时帧率填 23.976 与 25 有什么区别?
整条时间轴按比例移动。同一个 `{100}` 在 25 下是 4.000 秒,在 23.976 下约 4.171 秒;开头几秒差距很小,成片结尾会拉到可见的秒数。
MicroDVD 转 SBV 的产物是什么编码?
UTF-8、LF 换行、无 BOM。源文件若是 UTF-16 或 Windows 单字节编码,会先解码再转换,结果面板会说明这次解码。
SBV 再转回 MicroDVD 会丢掉什么?
丢掉帧率。SBV 只有时钟时间,写回 MicroDVD 时要重新指定帧率并取整到帧。