字幕按时长拆分
或者粘贴字幕文本
选项
一个时长 —— 3000、3s、1m30s 和 00:00:03,000 都可以。任何在屏幕上停留超过这个时长的字幕都会被分成若干段,所以一条 8 秒的字幕在这里填 3000 会变成三条,时间平均分配,与各段文本长短无关。当问题在于字幕停留太久时用这个;当问题在于文本太多时,用另一页上的字符数框。
时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。
这一页把在屏幕上停留超过上限的字幕条分成若干段。上限默认 7000 毫秒——七秒,多数体例给出的单条字幕天花板——如果你是按秒而不是按字符了解文件,这就是你要的页。一条八秒的字幕、上限三秒,会变成三段各约 2667 毫秒。
段数由时长算出,不用手工数,时间在各段之间平均分配。文字随后在离这些等分点最近的词边界处切开,所以各段字符数很少完全相同。这是有意的:你要的是时长,工具保证的就是时长,文字只能在整词的范围内尽量跟上。
被拆字幕之外什么都不会移动。正好等于上限的字幕保持原样,没有任何一条超长的文件会逐字节返回——这个工具只做拆分,所以上限设高了是对陌生文件最安全的第一次运行。把上限调低会得到更短的段、更多的段,但各段加起来仍然精确等于原来的区间。
与这里每一页一样,文件在浏览器标签页里读取、拆分、写回,不上传任何字节。SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV 都接受,条数变化的文件按时间轴顺序从 1 编号写出。
示例
八秒字幕对三秒上限
输入
1
00:00:00,000 --> 00:00:08,000
The rain kept falling all through the night and no one in the house could sleep.
输出
1
00:00:00,000 --> 00:00:02,667
The rain kept falling all
2
00:00:02,667 --> 00:00:05,333
through the night and no one
3
00:00:05,333 --> 00:00:08,000
in the house could sleep.
分成 2667、2666、2667 毫秒三段——取整的零头总得落在某处,最后一段拿走剩余部分,于是区间正好在 8000 毫秒闭合。切点落在 all 与 one 之后,那是三分之一与三分之二处最近的词边界,所以三段分别是 25、28、25 个字符,而不是各 26 个。
正好等于上限的字幕,和超出一毫秒的字幕
输入
1
00:00:01,000 --> 00:00:04,000
Exactly three seconds long.
2
00:00:05,000 --> 00:00:08,001
Just one millisecond too long.
输出
1
00:00:01,000 --> 00:00:04,000
Exactly three seconds long.
2
00:00:05,000 --> 00:00:06,501
Just one millisecond
3
00:00:06,501 --> 00:00:08,001
too long.
第一条正好 3000 毫秒,整条保留;第二条 3001 毫秒,从中间切开。这是“长于上限”的诚实读法,也是上限低一毫秒就会把每条正好落在该值的字幕翻倍的原因。定数字之前先检查文件里的时长。
常见问题
按时长拆分的 7 秒上限来自哪里?
七秒是单条字幕最常被引用的天花板,它其实是阅读速度规则的化身:普通读者每秒约读 15 到 20 个字符,一条两行 84 字符的字幕需要接近五秒,读得慢的人还要更多。广播规范并不统一——若干欧洲体例定在六秒——所以把这个框当起点,并核对你交付对象的规定。工具只执行框里的数字,自己不作判断。
页面怎么决定一条字幕要拆成几段?
用时长除以上限并向上取整,所以 8000 毫秒对 3000 毫秒是三段,8000 对 4000 是两段。各段随后平均分配区间,因此边界落在原字幕的三分之一、二分之一处,而不是落在其中的句子或行上。想让切点跟着文字走,应使用按字符或按句拆分的那两页。
时长上限设到 1 毫秒会拆出几千段吗?
每条字幕最多 200 段,而且还有一条在实践中更要紧的限制:一段不能短于一毫秒。所以九秒的字幕配上 1 毫秒上限会得到 200 段而不是 9000 段,报告会说上限未能达到。这是防止误敲一个键就把一条字幕变出一份文件的护栏,不是现实中会碰到的限制。
按时长拆分会影响整份文件的时间轴吗?
不会。被拆字幕的各段正好填满原字幕占据的区间,其它每条字幕精确到毫秒保持原时间。唯一会变的是编号,因为条数变化的文件会按时间轴顺序从 1 写出。如果被拆的字幕原本带样式,样式留在第一段,报告会说明有多少新段没有样式。
字幕停留太久但只有一行字,该用这页吗?
只能部分解决。这一页能把这样的字幕切成两段,但两段都只承载同一行短字的其中一部分,通常不算改善——读者把同样的话分两次读完。因为没别的事情发生而赖着的字幕,更适合直接修时间本身,也就是平移与比例缩放两页,同时确认它是否本来就该覆盖对白中的一个停顿。
文件太大时按时长拆分还能处理吗?
最大读取 64 MB,远大于任何字幕轨道:一小时影片约 100 KB。超过上限时页面会明确说明而不是悄悄失败,因为那种体积几乎肯定不是字幕文件。特别大的真实文件——比如整季——最好按集分批跑,每份下载都能检查过再继续。