跳到主要内容
SubtitleMatrix

MicroDVD 转 SRT

格式转换MicroDVD(SUB)
或者粘贴字幕文本

选项

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

这次转换会改变什么

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

  • 帧率

    源文件以帧号存储时间——每个时间戳都取决于你提供的帧率

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

MicroDVD 把一条字幕存成一对帧号加正文:文件写的是从第 100 帧到第 150 帧,而不是从 1.2 秒到 1.8 秒。要变成 SRT,第一步是把帧号换算成时间,而这一步需要帧率——也就是这份字幕当初是按多少帧写的。文件第一行有声明时可以用它,但页面上的帧率框永远优先,框留空才轮到声明,两者都没有就落到默认的 25。

换算本身是除法:帧号除以帧率得到时刻。25 fps 下第 100 帧是四秒,第 150 帧是六秒,于是这条字幕写成 `00:00:04,000 --> 00:00:06,000`。正文里的竖线是格式的硬换行写法,产物里变成换行,两行仍留在同一条 cue 里,不会被拆成两条。

帧率填错不是精度问题,而是整条时间轴按比例偏。23.976 的素材按 25 读,开头几秒几乎看不出来,一小时后会差出可见的秒数;SRT 里也没有任何字段能记录这个值。所以帧率框放在页面上,而不是埋在某个默认值里。

产物按开始时间升序,帧号本身不保留。输出是 UTF-8、LF、无 BOM;源文件若是 UTF-16 或 Windows 单字节编码,会先解码并在结果面板说明。批量时串行处理、可取消、ZIP 打包,全程在浏览器里,不上传。

示例

一份典型的 MicroDVD 文件转成 SRT

输入

{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.

输出

1
00:00:04,000 --> 00:00:06,000
The quick brown fox jumps over the lazy dog.

2
00:00:08,000 --> 00: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.   

输出

1
00:00:04,000 --> 00:00:06,000
Leading zeros in the frame numbers.

2
00:00:12,000 --> 00:00:13,600
An unrecognized line above was kept in place.

3
00:00:16,000 --> 00:00:18,000
Trailing spaces are kept.   

真实文件常见的损坏:混合换行、BOM、散布的空白、带前导零的帧号、认不出的行。可以对照上面那份干净样例,看解析器能容忍到什么程度。

常见问题

MicroDVD 转 SRT 该用哪个帧率?

用这份字幕当初对应的视频帧率:电影常见 23.976 或 24,PAL 是 25,北美广播是 29.97。文件第一行的声明可以参考,但复制来的 `.sub` 经常被写死成 25,所以页面框里填你手上视频的真实帧率更可靠。

MicroDVD 转 SRT 时帧率框留空会怎样?

继续转换:文件有声明就用声明,没有就按 25 算,并在报告里写明用了默认值。25 对 PAL 正确,对别的素材会偏——24 fps 的片子放到结尾大约差 4%。

MicroDVD 的 `{100}{150}` 怎么变成 `00:00:04,000`?

帧号除以帧率。25 fps 下 100 ÷ 25 = 4 秒,150 ÷ 25 = 6 秒,于是写成 4.000 到 6.000;SRT 用逗号分隔毫秒。

MicroDVD 正文里的竖线在 SRT 里变成什么?

变成换行。竖线是 MicroDVD 的硬换行分隔符,产物把两行写进同一条 cue,播放器会一起显示。

MicroDVD 转 SRT 后,原来的帧号还在吗?

不在。SRT 只存时钟时间,帧号不会写在时间码旁边。需要帧号(例如交给按帧工作的视频工具)请保留原始文件。

MicroDVD 转 SRT 的产物是什么编码?

固定 UTF-8、LF 换行、无 BOM,与源文件无关。源文件若是 UTF-16 或 Windows 单字节编码,会在读入时解码,结果面板会说明。

相关工具