设置字幕最小空隙
或者粘贴字幕文本
选项
上一条字幕结束与下一条开始之间要留下的黑屏毫秒数。80 毫秒是 25 fps 下的两帧,足以让两条字幕不被读成一条;广播机构通常要求几帧。如果一对字幕比这更近,会把前一条缩短来腾出空隙 —— 它永远不会短于 1 毫秒;实在分不开的一对会被报告出来,而不是强行处理。
两条字幕之间的空白有两端:前一条的结束和后一条的开始。结束 移动前一条的结束时间,所以合上空隙会把那条字幕变长,拉开空隙会把它变短;后一条字幕的时间连毫秒都不变。开始 则移动后一条的开始时间,前一条不动。选你更信任的那一端 —— 通常是台词最后被说出的那条,因为字幕不该在话还没听到之前就出现。
时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。
这一页给字幕之间的空屏设一个下限:给出毫秒数,任何两条字幕都不会比这个间隔更近。某一对靠得太近时,由前一条让出时间——它提前结束——后一条保留文件给它的每一毫秒。把下限设为 80 毫秒(输入框的默认值),原本挤在一起的两行会重新被读成两件事。
它与填充空隙是相反的请求,两者不能合并。一个要求空白不多于 N 毫秒,另一个要求不少于 N;把两者放进同一页,结果会取决于哪条约束最后运行,而面板上写的却是另一回事。所以它们是两页,做的事也确实不同:填隙针对闪烁,这一页针对两个人的台词黏在一起。
80 毫秒不是随手定的:它是 25 fps 下的两帧,多数观众能察觉的最短间隔。如果你的规范按帧写,就在帧率框里填帧率再换算:24 fps 下四帧是 167 毫秒,29.97 下两帧是 67 毫秒。帧率也是 MicroDVD 帧号时间码读写时使用的值,在这种格式上尤其要填对。
移动哪一端是真实的选择,不是形式。End(默认)把前一条的结束时间往回拉,台词仍然完整说完,只是稍早离屏;Start 把后一条的出现时间往后推,前一条的时间保持完整,但下一行会在被听到之后才出现——当你更信任前一条时选它。文件不上传,SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV 都接受。
示例
两条字幕只隔十毫秒
输入
1
00:00:01,000 --> 00:00:02,000
First line.
2
00:00:02,010 --> 00:00:03,000
Second line.
3
00:00:03,400 --> 00:00:04,000
Third line.
输出
1
00:00:01,000 --> 00:00:01,930
First line.
2
00:00:02,010 --> 00:00:03,000
Second line.
3
00:00:03,400 --> 00:00:04,000
Third line.
第一对相隔 10 毫秒,于是前一条在 1930 而不是 2000 结束,间隔变成正好 80。第二对相隔 400 毫秒,远在上限之外,两条一个毫秒都没动。注意两对里后一条都未受影响——只有太窄间隔左侧的字幕会失去时间。
正好 80 的间隔,和 79 的间隔
输入
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:02,080 --> 00:00:02,500
Second.
3
00:00:02,579 --> 00:00:03,000
Third.
输出
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:02,080 --> 00:00:02,499
Second.
3
00:00:02,579 --> 00:00:03,000
Third.
下限是最小值,不是目标值:正好 80 毫秒已经满足要求,保持原样;79 毫秒差一毫秒,第二条就精确让出那一毫秒。边界两侧放在同一份文件里,是为了让你看到判据是“至少”,这也是所有间隔都等于该数字的文件会原样返回的原因。
常见问题
字幕最小空隙的 80 毫秒默认值是怎么来的?
25 fps 下的两帧。低于这个量级,两条字幕之间的间隔在多数观众看来会像一条两行的字幕,而不是两次交接,而最小空隙要消除的正是这种混淆。规范若按帧写——四帧、六帧、广播规范里的若干帧——把帧率框填成项目帧率再换算:24 fps 下四帧是 167 毫秒,29.97 下两帧是 67 毫秒。
设置最小空隙和填充空隙能同时做吗?
不能,这是有意分开的。这一页只把间隔拉开:本来就比你的数字更远的一对保持原样。同时要求“不多于 N”和“不少于 N”会自相矛盾,所以两者分居两页;只有文件本来就同时满足两边时,结果才会相同。想让字幕首尾相接或互相靠拢,用填充空隙。
字幕太短、让不出时间时最小空隙怎么处理?
保持原样,那一对仍然比你要求的更近。一毫秒的字幕让不出 80 毫秒,把它缩到没有会产生播放器画不出的字幕——比原来的紧贴更糟。页面会把这次运行报告为“没有变化”,而不是强行凑数;改动列表为空是对“没有空间”的诚实回答,不是设置被忽略。
为什么字幕最小空隙默认缩短前一条而不是推迟后一条?
让一行稍早离屏,比让下一行稍晚出现更安全。End(默认)下每个说出的词仍被它所属的字幕覆盖,只裁掉尾巴;Start 会把后一条的整个出现时间推后,让它的第一个词在听到之后才上屏。两种边都提供,是因为确有文件需要后者,但安全的那个是默认。
MicroDVD 的帧号会让最小空隙取整吗?
它改变文件怎么写回,不改变页面做什么。MicroDVD 存的是帧号而不是时钟值,帧率框负责把 1000 毫秒的开始时间在读写两侧换成帧号。在这种格式上,不是整帧数的下限会被取整到最近一帧,这是间隔精度上的真实限制;25 fps 下 80 毫秒正好两帧,默认值落在整数上。
设置最小空隙会把后一条推成重叠吗?
不会。只有前一条的结束时间在动,而且只能向前移,最坏情况是它让出全部时间、停在自己的开始处,绝不会伸进后一条的位置,也不会制造重叠。本来就有重叠的地方不会被这一页改动,因为已经交叉的一对没有间隔可拉;那种文件应该先去做重叠消除。