跳到主要内容
SubtitleMatrix

TXT 转 MicroDVD

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

选项

时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。

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

这次转换会改变什么

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

  • 时间

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

  • 帧率

    该格式以帧号存储时间——时间取决于你提供的帧率

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

TXT 转 MicroDVD 需要两步:先按页面上的“时长”参数给每行排一个时间槽(第一行从 0 开始,之后接着上一行),再按帧率把毫秒换成整数帧号。产物第一行 `{1}{1}25` 声明文件按 25 fps 计算,每条字幕写成 `{起始帧}{结束帧}` 加正文。

帧率是这一页的关键参数:它决定同样的毫秒数落成第几帧。填成目标视频的帧率;填对了从头到尾对齐,填错了开头几乎看不出来、越到后面偏得越多,同一条 cue 在 25 fps 与 29.97 fps 下也会落到不同的帧号。

有损说明列两项:时间轴是生成的,以及产物依赖帧率。TXT 没有样式、定位和卡拉OK,所以其余内容原样进入正文;一条多行段落用 `|` 连成一行,读回来仍属于同一条字幕。

整季的文件可以一次拖入,串行转换后打包成一个 ZIP;文件始终留在本机。

示例

一份典型的 TXT 文件转成 MicroDVD

输入

The quick brown fox jumps over the lazy dog.

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

输出

{1}{1}25
{0}{50}The quick brown fox jumps over the lazy dog.
{50}{100}Second paragraph, first line.
{100}{150}Second paragraph, second line.

这份产物丢掉了时间轴(它由本站排定)与帧率独立性;首行的 `{1}{1}25` 声明换算用的帧率。

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

输入


Hello world.

Second block.

输出

{1}{1}25
{0}{50}Hello world.
{50}{100}Second block.

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

常见问题

TXT 转 MicroDVD 的时间是怎么算出来的?

先按“时长”参数(默认 2000 毫秒)逐行排时间槽,再按帧率把毫秒换成帧号。生成的时间轴是这一步排的,TXT 里没有原始时间可读。

TXT 转 MicroDVD 的帧率填错会怎样?

开头偏差很小,但每一秒都会多累积一点,片子越长错得越多。例如按 25 fps 排的槽位拿 23.976 的视频播放,几分钟后就能看出字幕慢慢提前。

TXT 转 MicroDVD 产物第一行的 {1}{1}25 是什么意思?

这是 MicroDVD 的帧率声明:花括号里的两个 1 是惯例写法,在声明行里没有实际时长含义;末尾的 25 表示整份文件按 25 fps 解释。播放器读第一行就知道怎么换算时间。

TXT 转 MicroDVD 时多行段落怎么写成一行?

用竖线 `|` 连接,例如 `第一行|第二行`。这是 MicroDVD 的硬换行写法,读回来仍属于同一条字幕。

TXT 转 MicroDVD 每行默认多长?

默认 2000 毫秒;按 25 fps 换算就是 50 帧,所以每行占 `{0}{50}`、`{50}{100}` 这样的连续帧段。

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

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

相关工具