逐字提示时间写在字幕内部,怎样检查VTT内联时间戳
VTT可以在一条cue内部写入时间标签,用于给词语划定激活时点。内联时点必须严格晚于cue起点、早于终点,并晚于同一cue内之前的时点;文件合法并不等于目标播放器一定按预期高亮每一个字。
这组文件怎样比较
样例cue从一秒到四秒,正文中插入两秒和三秒标记。它们使用整条媒体时间轴上的时刻,不是距离cue开始后的两秒与三秒;如果误当相对值,后一个标记就可能被计算到区间之外,需先统一时间基准再制作。
按原始结构逐项检查
-
先读取外层开始和结束,转换为整数毫秒,随后只在payload里提取尖括号时间标签。不要把时间行的两个数值也混入内联列表,否则严格递增检查可能看似成立,却完全没有回答词语时点是否位于cue内部。
-
按文本出现顺序比较时点,不能先排序修复。词语顺序是字幕表达的一部分,排序时间值但保持文字不动会改变指示关系;如发现逆序,应回到台本或对齐结果确认哪个词的时刻错误,再保存新的字幕副本。
-
本题将一秒、四秒和零点九秒作为边界反例值放进合法JSON,程序确认这些值不在严格开区间内。与起点或终点恰好相等仍不满足这里的作者规则,不能因为普通字幕区间判断常用端点包含就把同一套比较条件复用过来。
容易误读的地方
如果需要第一个词从cue开始即激活,可以让它出现在首个内联标记之前,而不是硬塞一个等于起点的时间标签。文本结构与时点要一起设计,避免添加冗余标记后只靠播放器容错;接收方的高亮样式也需单独确认。
下载与本地读回
明确标注的反例字符串、observed.csv、observed.json、words.vtt。
下载全部附件到同一个独立目录,用 python verify.py 运行本题独立核验脚本。依赖为Python 3.12.4标准库;程序不联网、不连接设备,读取本题文件并在终端输出检查结果。本地实际执行回执保存实际命令、退出码和完整输出。
公开脚本实际读到2000和3000两个毫秒时点,并核对其顺序及边界。它没有播放配音或测量强制对齐精度,也没有生成逐字高亮录像;将此文件用于生产时,应结合真实配音逐词审阅,而不是只沿用示例中的整秒时间。
本文依据WebVTT 2026年5月20日候选推荐草案;这是工作中的规范版本。脚本只覆盖文中列出的语法,不是全规范验证器,未测试浏览器的容错与实际呈现。
把结果带回交付
交付产物除字幕文件外,还应有cue边界、词语时点和来源配音版本的对应关系。重剪影片导致整体偏移时,外层cue和内联标签都要一起移动;只修改时间行会让正文标记留在旧位置,表面上每句出现了,句内提示却仍然失准。
相关背景见字幕 / 字符叠加播放实现,还可从多媒体播放专题继续查找文件处理方法。需要核对实际工程的接收条件时,可携带本题文件与读回结果进行工程对接咨询。
一级依据
来源核对日期:2026-10-24。引用支持文件机制;原创输入的本地结果不代表客户素材或现场系统已经通过验收。
相关阅读
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。