MicroDVD 转 CSV
或者粘贴字幕文本
选项
时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。
这次转换会改变什么
有 1 项会被丢弃或需要你决定
- 帧率
源文件以帧号存储时间——每个时间戳都取决于你提供的帧率
这份清单来自这两种格式的能力矩阵,而不是你加载的这份具体文件。如果具体文件用到了格式允许、但矩阵没有建模的特性,可能会丢得更多。
这一页把 MicroDVD 写成 CSV:第一行是表头 `start,end,text`,之后一条 cue 一行,时间是 `00:00:04.000` 这样的时钟写法。CSV 里没有帧号,也没有“这份文件按多少 fps 写”的位置,所以转换的第一步一定是把帧号除以帧率。
帧率仍然按页面框、文件声明、默认 25 的顺序取。填错的表现不在开头:四秒处可能只差几帧,看起来没问题,跑到一小时就按比例偏出好几秒。这也是帧率框放在页面上的原因——它决定整条时间轴,不是某个边角参数。
会丢的是帧率这一维:CSV 存得下毫秒,却没有任何字段记录“原来的第 100 帧”或“这份字幕是按 25 fps 写的”。多行 cue 并不会被拆成两行,而是放进同一个 `text` 单元格,里面用换行分隔,整格按 CSV 规则加引号——带逗号、带引号、或首尾有空白的格子同样会被引号包住。
产物按开始时间升序,编码固定 UTF-8、LF 换行、无 BOM;UTF-16 或 Windows 单字节编码的源文件会先解码,结果面板会说明。批量时串行处理、可取消、打成一个 ZIP,全程不上传。
示例
一份典型的 MicroDVD 文件转成 CSV
输入
{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.
输出
start,end,text
00:00:04.000,00:00:06.000,The quick brown fox jumps over the lazy dog.
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.
输出
start,end,text
00:00:04.000,00:00:06.000,Leading zeros in the frame numbers.
00:00:12.000,00:00:13.600,An unrecognized line above was kept in place.
00:00:16.000,00:00:18.000,"Trailing spaces are kept. "
真实文件常见的损坏:混合换行、BOM、散布的空白、带前导零的帧号、认不出的行。可以对照上面那份干净样例,看解析器能容忍到什么程度。
常见问题
MicroDVD 转 CSV 的产物有几列?
三列:`start`、`end`、`text`。时间是 `00:00:04.000` 形式的时钟写法,正文在第三列,一条 cue 占一行。
MicroDVD 转 CSV 时,一条两行字幕怎么放进单元格?
放进同一个 `text` 单元格,两行之间是换行,整格按 CSV 规则用双引号包住。它仍然是一条字幕,不会被拆成两行记录。
MicroDVD 转 CSV 会写帧号还是时间码?
只写时间码。`{100}{150}` 会先按帧率换算成秒,再写成 `00:00:04.000,00:00:06.000`;帧号本身不保留,CSV 也没有地方记录帧率。
MicroDVD 转 CSV 时正文里有逗号会被拆成两列吗?
不会。格子里的逗号、双引号、换行或首尾空白都会触发引号包裹,双引号本身按 CSV 规则写成两个。
MicroDVD 转 CSV 时帧率框留空会怎样?
先看文件第一行的声明;文件没有声明才用默认的 25,并在有损说明里写明默认值被用上了。两种情况下时间轴都会按那个值整体换算。
CSV 再转回 MicroDVD 会丢掉什么?
丢掉帧率。CSV 里只有时钟时间,回转时要重新指定帧率,取整到帧;这次取整与原始帧号不是同一个数。