视频和字幕 · 字幕工具包
字幕重定时的工作原理:将每个提示移动固定偏移量
· 工作原理
字幕 时间码 浏览器处理
当每个字幕迟到或早到相同的量时,解决方法是时间码算术。这篇文章解释了重定时如何改变每个提示的开始和结束、零时发生的情况以及如何首先测量偏移。
每个字幕出现在讲话者之后两秒——这是恒定偏移产生的症状
当每个字幕在匹配的台词之后出现大约两秒时,就不需要单独移动提示块。恒定的偏移量对每个提示应用相同的算术。它恒定的事实就是诊断:如果字幕正确开始并在四十分钟内漂移得更远,则重新缩放或帧速率校正是不同的操作。在接触整个文件之前检查开头、中间和结尾。
测量偏移 - 在第一行清晰的对话上暂停并将视频时钟与提示的开始时间进行比较
在一行清晰的对话处暂停并记下视频开始的时间。将其与第一个匹配的字幕开始时间进行比较。如果音频从 00:01:10.000 开始,字幕从 00:01:11.850 开始,则提示延迟 1,850 毫秒,因此调整为 −1,850 ms。视频后面的第二个检查点测试相同的差异是否仍然存在。偏移量来自于观察您的录音;该工具无法从不相关的单词中推断出它。
时间码算术 — 将 HH:MM:SS,mmm 转换为毫秒,添加偏移量,再转换回来
SRT 将提示表示为 HH:MM:SS,mmm; WebVTT 通常在毫秒前使用点。使用 (((小时×60+分钟)×60+秒)×1000)+毫秒将组件转换为毫秒。将所选偏移量相加一次,然后将结果分解回小时、分钟、秒和三个毫秒数字。将时间保留为整数可以避免在处理数百个提示时出现一系列浮点舍入错误。解析器和序列化器在算术之后选择特定于格式的标点符号。
移动两个提示边界可以保留持续时间,除非钳位为零
对于普通提示,在开始和结束处添加相同的偏移量:从 02:00.000 到 02:03.500 的字幕在移位前后持续 3.5 秒。只改变开头就会延长它;只改变末端就会压缩它。 ToolAcre 的 shiftCues 映射已解析的提示并更新两个值,而无需重写标题文本,因此标点符号或演讲者标签仍附加到同一提示。检查第一行和后面的一行,以确保您选择的操作是移位,而不是帧速率重新缩放。
钳位为零——在视频开始之前移动的提示会发生什么情况以及为什么它们不能有负时间
负时间戳不是有效的字幕时间。 ToolAcre 将过零的开始或结束钳制回零,并报告有多少线索受到影响。这是持续时间保留的一个重要例外:最初 0.8-2.8 秒长的提示移动了 −1.85 秒,具有负开始和 0.95 秒结束,因此其持续时间不再是两秒。较早的提示可能会将两端钳位为零。检查或删除固定的开场线索,而不是声称结果在开始时是准确的。
示例:将 40 分钟讲座的字幕移动 -1,850 ms — 在提示之前和之后,在开始、中间和结束时进行检查
对于四十分钟的讲座,请考虑 00:10.000–00:12.400 和 20:15.000–20:17.000 的提示。 −1,850 ms 移位产生 00:08.150–00:10.550 和 20:13.150–20:15.150。 39:55.000 处的最后提示也提前了 1.85 秒:与对话的距离在所有三个检查点都应保持不变。如果第一个线索正确时最后一个线索仍然不同步很多秒,则撤消更改并调查漂移。
这不包括随着时间的推移而增长的漂移,这是固定偏移量无法修复的
固定偏移无法解决以不同速度编辑的音轨、丢失帧的视频剪辑、可变帧速率转换或与不同版本对齐的字幕。它也无法恢复字幕文件中缺少的对话。 SRT和VTT之间的格式转换是一个单独的操作;不应假定重新定时可以翻译单词或改进可访问性描述。保留源文件,直到人们观看了视频中的代表性提示。
要点:测量一次,移动所有内容 - Subtitle Toolkit 的重定时功能如何将偏移量应用到文件中的每个提示
测量一次常数差,将其应用于每个开始和结束,并特别注意过零的提示。 Subtitle Toolkit 在本地进行毫秒级解析和写入,因此您的字幕文本不会上传。有价值的检查不是下载是否完成;而是下载是否完成。问题是第一、中间和最后一句台词现在与它们的提示相匹配。