SRT改后缀成VTT仍失败,怎样核对小数点和时间字段

2026-10-24

SRT与VTT的毫秒分隔符不同,直接改后缀不完成转换。WebVTT时间戳使用小数点和三位毫秒,分与秒各有范围限制;长节目允许两位以上小时。先核对这些字段,再判断导入器是否支持该格式。

这组文件怎样比较

本题提供同一句长时节目字幕的真实SRT和VTT,时间位于十二小时之后,刻意避开只检查短片时发现不了的小时字段问题。它们是格式输入,没有配套十二小时影片,不应被理解为本机完整播放了如此长的节目。

按原始结构逐项检查

  1. 把每个时间戳拆成可选小时、两位分钟、两位秒和三位毫秒,分别验证。不要先把字符串交给通用日期解析器,因为日期工具可能自动补齐字段或接受逗号,把作者语法问题悄悄变成另一个时间值,随后难以追查原始错误。

  2. 有效时间转成整数毫秒再做比较,十二小时零点一二五秒对应43200125毫秒。这个整数用于本题断言,显示时仍保留原始字符串;如果把它格式化成两位小数,虽然看上去更短,却已经失去了一部分输入精度。

  3. cases.json中保存故意非法的时间字符串,覆盖逗号毫秒、六十秒字段和不足两位的小时字段。JSON本身是合法数据文件,公开程序逐项确认有限语法检查会拒绝这些字符串,没有把坏语法文件伪装成可播放字幕让接收方误用。

容易误读的地方

不要把所有逗号替换成小数点:正文里的“甲、乙”或英文数值标点也可能被改坏。转换程序应只处理已识别的时间行,并补上正确文件头和块结构;处理后用原始文字清单核对,确保修复时间语法没有顺带改写展品名称。

下载与本地读回

明确标注的反例字符串、observed.csv、observed.json、sample.srt、sample.vtt。

下载全部附件到同一个独立目录,用 python verify.py 运行本题独立核验脚本。依赖为Python 3.12.4标准库;程序不联网、不连接设备,读取本题文件并在终端输出检查结果。本地实际执行回执保存实际命令、退出码和完整输出。

运行结果会列出有效cue和被拒绝的字符串。它说明本地检查覆盖了所列字段,不表示某播放器遇到非法字段一定整文件报错;实现可能跳过该cue或采取容错。验收记录应分别写作者文件是否合规,以及目标版本实际上怎样处理。

本文依据WebVTT 2026年5月20日候选推荐草案;这是工作中的规范版本。脚本只覆盖文中列出的语法,不是全规范验证器,未测试浏览器的容错与实际呈现。

把结果带回交付

若转换后的时间仍偏移,继续查视频起点、剪辑基准和字幕是否来自同一版本,不要用修改时间格式去补固定延迟。时间字段合法只回答“能否按约定解释”,不回答“这句话是否与画面事件对齐”,两个结论要分别留证。

相关背景见字幕 / 字符叠加播放实现,还可从多媒体播放专题继续查找文件处理方法。需要核对实际工程的接收条件时,可携带本题文件与读回结果进行工程对接咨询。

一级依据

来源核对日期:2026-10-24。引用支持文件机制;原创输入的本地结果不代表客户素材或现场系统已经通过验收。

需要展厅软硬件方案或定制开发?

加微信,把这一页发到你手机上

扫码加站长企业微信,会自动把这一页的链接发给你。问软件授权、报价,或者现场遇到问题,也可以直接聊。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。