字幕结构问题扫描
或者粘贴字幕文本
选项
允许在上一条字幕结束和下一段开始之间出现的黑屏毫秒数。空档是从目前为止到达的最远结束时间量起的,而不是紧邻的前一条,所以一条长字幕压在几条短字幕下面时,不会凭空算出一段屏幕上从未出现过的空隙。这个数字起什么作用取决于你所在的页面:补空隙页面会合上比它宽的空隙(0 是常见值,表示两端正好相接),而检查页会列出所有比它宽的区间并保持文件不动。无论哪种,小于或等于这个值的都保持原样。
一个时长 —— 1000、1s、1.5s 和 00:00:01,000 都可以。这是“停留得够久、读得完”和“一闪而过”之间的界线。低于这条线时会发生什么取决于你所在的页面:补空隙页面会把短字幕多留一会儿,多出来的时间从后面的空隙里扣,保证任何一条都不会盖住下一条的字,文件里最后一条后面没有别的,就直接延长;而检查页会列出所有低于这条线的字幕,文件保持不动。
一个框,两个选项,每个都有自己的页面。完全没有文本的字幕条占着时间轴却什么也不显示 —— 任何读法下这都不对,所以报告把它标为错误。没有字母的字幕条则是有内容但没有词:用音符代替歌词、单独的数字、三条横线。广播字幕会刻意使用这些,所以报告把它们标为需要看一眼,而不是错误,实测那一列会显示实际存在的字符。
时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。
当你还不知道文件到底哪里有问题时,先跑这一页。它用一趟把字幕文件送进六项结构检查——字幕条重叠、字幕条之间的空隙、空白字幕、无对白字幕、开始时间倒序、显示时长越限——然后返回一份按检查分节的报告。每节无论有没有发现都会印出来,这正是关键:只列问题的报告,会让你分不清检查过没问题还是根本没跑。
每项检查保留自己的说法。重叠按共享毫秒量,空隙按空屏毫秒量,时长对着你设的两个限值比,两项顺序检查报成文档级发现,因为被排序或被修复的字幕条在文件里已经留不下可以指认的位置。各节的数量相加不等于文件的问题总数,也不应该相等:同一条字幕可以同时过短、空白又重叠,每一项由最会描述它的规则各报一次。报告给你的是问题的形状,不是总数。
报告头本身也是答案的一部分:文件名、读取格式、字幕条数、运行了几项检查,以及读取过程中修复了什么——无法按原样保存的时间码,或者必须先搬动才能成立的字幕条。修复记录正是顺序错乱和零长度会出现在发现栏里却不带序号的原因。扫描只负责定位,之后再用对应的单项页逐项处理与修复。
需要填的限值有两个:空隙上限与最短显示时长;最长时长不是必填,默认七秒。支持十种同时带起止时间的格式,LRC 与纯文本会被四项检查直接判为不适用,扫描它们只会得到一节节空白,看起来却像一张健康证明。报告 PDF 与 CSV 各一份,文件不上传。
示例
一份有几种毛病的文件
字幕
1
00:00:01,000 --> 00:00:03,000
Where were you?
2
00:00:03,500 --> 00:00:04,000
3
00:00:04,500 --> 00:00:09,000
I was working late.
4
00:00:09,300 --> 00:00:12,000
Until when?
报告发现了什么
Checks run 6
Cues 4
Overlapping cues — 1 found
Gaps between cues — 2 found
Cue duration outside the limit — 1 found
Cues with no words — 1 found
Cues out of sequence — Nothing found
Cues ending before they start — Nothing found
四条字幕、四处缺陷,六个检查节里有两节是空的。顺序那一节的空白是结果而不是报告缺了一块——它告诉你这项检查跑过且通过了。空白字幕与过短字幕是同一条字幕,被两条描述方式不同的规则各记了一次。
一份必须先修复才能读的文件
字幕
1
00:00:09,000 --> 00:00:11,000
I was working late.
2
00:00:01,000 --> 00:00:02,000
Where were you?
3
00:00:05,000 --> 00:00:05,000
Until when?
报告发现了什么
Lost while reading Timing × 1, Cue order × 2
Cues out of sequence — 1 found
Cues ending before they start — 1 found
Gaps between cues — 1 found
Cue duration outside the limit — 1 found
三条字幕、三个问题,其中一个必须在任何检查之前由读取器修好。报告头记下两笔修复,而第 3 条被补出的一毫秒,又在一秒下限的时长一节里作为实测值回来——同一个缺陷在同一份报告里从两个方向各说了一遍。
常见问题
字幕结构问题扫描会跑哪六项检查?
字幕条重叠、超过空隙上限的字幕条之间的空隙、空白字幕、无对白字幕、开始时间倒序的字幕条,以及显示时长落在最短与最长限值之外的字幕条。每项在报告里各占一节,每次都按同样顺序印出,无论有没有发现。
为什么全部通过时每个检查仍然占一节?
因为没发现和没检查是两个不同的答案,只列问题的报告会让你分不清它们。六节意味着六项检查真的跑了;一节空白表示那项检查看过并且通过,那是可以依赖的结果,不是信息的缺席。
各节的数量相加等于文件的问题总数吗?
不等于,也不应该相等。同一条字幕可以同时过短、空白又重叠,每一项由最会描述它的规则各报一次,所以同一条可能出现三节里。不要做加法,逐节往下读,把每一节当成它自己的答案。
运行字幕结构问题扫描前要填哪些限值?
两个:空隙上限(你愿意接受的最长停顿)与最短显示时长(一条字幕最短可以停多久)。最长时长不必填,默认七秒。三个数都会印在各自产生的发现旁。
为什么字幕结构问题扫描有些发现没有字幕条序号或时间码?
因为它们是文档级发现。顺序问题与被修复的零长度时间码都产生在读取过程中——等到能检查时,字幕条已经被排序或修好——所以修复次数才是证据,文件里没有剩下可以诚实指认的位置。
应该用字幕结构问题扫描代替单项检测页吗?
用它定位问题,再用单项页处理。每一页会把一种缺陷讲透、设好自己的限值,并链到修复那类问题的操作;扫描是入口,不是它背后六页的替代品。
哪些字幕格式能做字幕结构问题扫描?
十种同时带起止时间的格式:SRT、WebVTT、ASS、SSA、SBV、SMI、MicroDVD、TTML、JSON 与 CSV。LRC 与纯文本会被六项里的四项判为不适用,扫它们只会得到一节节空白,看起来却像一张健康证明。