跳到主要内容
SubtitleMatrix

字幕换行均衡

文本样式重排换行
或者粘贴字幕文本

选项

一个框,五个选项,每个选项都有自己的页面。重排 会把每条字幕重新按列宽折行,既能把过长的行缩短,也可能把短行合并上来。只拆长行 只处理超过列数的行,其余原样保留。均衡 保持每条字幕原有的行数,只在行之间挪动词,让最长的那一行尽可能短。合并 把每条字幕并成一行。限制 对已经在行数上限内的字幕不做任何改动。这一页会把框填成标题里点名的选项,并且不列出其他选项。

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

这一页把一条 cue 已经有的几行拉匀:行数保持文件写的样子,只在行与行之间挪词,让最长的那行尽量短。一条 63 列与 5 列的两行 cue 出来是 33 与 35;旁边本来就匀的那条一动不动。

这是它与“按行长重排”和“拆分长行”的分界。重排按你给的列数工作,可以增行也可以减行;拆分只动超过列数的行。这里行数根本不是输入——它是从文件里读到的事实,被当成你和播放器已经定下的事——唯一改变的是词落在哪一行。

页面遵循的规则是“最长的行尽量短”,这不等同于把词平均分配。词的长度不同,平均词数会得到一长一短两行;页面问的是“如果还是这么多行,能窄到什么程度”,然后按那个宽度排。实际效果是两行看起来一样长,而那正是屏幕上能看出来的东西。

有些 cue 完全不动,页面用“没有改动”表示,而不是声称跑成功了:只有一行的 cue 没有第二行可以挪词;每行只有一个词的 cue 已经是最窄;以破折号开头的行标记说话人切换,这些块彼此分开,把一个人台词的一半挪到另一个人的行里不是拉匀而是搅混。11 种允许 cue 内多行的格式可用(SRT、WebVTT、ASS、SSA、SBV、SAMI、LRC、MicroDVD、TTML、JSON、CSV),纯文本每条只有一个 cue、一行,所以排除。文件不上传。

示例

第二行很短、第一行很长

输入

1
00:00:01,000 --> 00:00:04,000
We could take the train and be there by six
or wait for the later one.

输出

1
00:00:01,000 --> 00:00:04,000
We could take the train and be there
by six or wait for the later one.

第一行 43 列、第二行 26 列,页面把 `by six` 从第一行挪到第二行就停手:36 与 33 是这一对能拉到的最近距离,再推下去第二行反而更长。仍是两行,词数与顺序不变,时间码与编号没动。

中文一行对英文一行

输入

WEBVTT

00:00:01.000 --> 00:00:04.000
你好
Good morning to you everyone

输出

WEBVTT

00:00:01.000 --> 00:00:04.000
你好 Good morning
to you everyone

中文那行两个字、4 列,对上 28 列的英文——没有读者会说这算均衡,页面也这么认为。它把 `Good morning` 提上去,得到 17 与 15 列。若按字符数算,中文行会被当成两个单位长,几乎什么都不动,页面要修的不均衡就留在了那里。

常见问题

换行均衡到底改变了什么?

只改词在 cue 里的位置。行数不变,词数与顺序不变,起止时间与 cue 编号都是文件自己的。行数已经符合播放器或台内规范、只是某一行明显更长时,用这一页。

为什么不把单词平均分到每行?

因为词的长短不同,平均词数反而排不匀:一行 `I`、一行 `internationalization` 各是一个词,宽度却是 1 列与 20 列。页面求的是“仍用这么多行时能窄到多少”,所以两行接近的是宽度而不是词数。

以破折号开头的说话人切换行为什么没被合并?

破折号标记换人说话,这些块各自单独均衡,而不是互相均衡。14 列与 18 列的两行还是 14 与 18:把一个说话人台词的一部分挪到另一个人的行里,等于把两个人放在同一行,正好是破折号要防止的事。

中文行和英文行怎么比较长短?

按屏幕列数:拉丁字母占 1 列,汉字与日文假名占 2 列。两个字的中文行是 4 列而不是 2,所以它与 28 列的英文行并不均衡;按字符数算的规则会算错,屏幕上看起来歪。

只有一行、或者每行只有一个词的 cue 会怎样?

原样返回,报告里也不计数。一行没有第二行可挪;每行一个词的 cue 已经到这条 cue 能到的最窄。两种情况都不重写文件,报告保持为空,而不是把处理过当成改动过。

哪些格式支持换行均衡?

允许一条 cue 装多行的 11 种:SRT、WebVTT、ASS、SSA、SBV、SAMI、LRC、MicroDVD、TTML、JSON、CSV。纯文本每条只有一个 cue、一行,均衡永远不会有事可做,所以不在列表里。

相关工具