VTT内嵌样式导出后丢失,怎样检查STYLE块位置与边界
VTT内嵌STYLE块应位于文件头之后、首个cue之前。样式内容不能包含空行或时间箭头子串;如果导出器把样式移到字幕之后,即使某个实现容错接受,也不能据此认定文件满足当前草案的作者规则。
这组文件怎样比较
本题以一段只针对粗体文字的样式、一个NOTE和一条cue组成最小文件。样式使用简单颜色声明,目的是检查块顺序,不是证明目标软件支持任意CSS。网页中可用的布局属性不能直接当作WebVTT样式属性承诺交付。
按原始结构逐项检查
-
先按块列出类型顺序,确认首个cue出现之前已经读完所有STYLE。注释可以插在样式块之间,因此不要把“第二块必须是cue”写成规则;应跟踪是否已经见过cue,随后再遇到STYLE时报告顺序问题。
-
检查样式块内部的空行和箭头限制时,保留原始行号,便于定位导出器插入的格式化换行。CSS美化工具常会自动加空行,在普通样式表里仅影响排版,在VTT里却可能结束整个块;处理后必须回到VTT结构重新读取。
-
本例公开程序只核对STYLE、NOTE、cue的顺序与所列限制,并保留一个错误顺序字符串列表作为反例。它没有实现CSS解析器,也不判定颜色是否达到观看要求;输出中的“样式属性支持未测”应与结构结果一起保存。
容易误读的地方
若制作软件将样式用HTML注释包裹,需要注意结束标记含时间箭头子串的问题,不应原样复制到STYLE。先按照规范支持的方式清理,再审查CSS本身。盲目删除所有含箭头的行可能同时移除真正的cue时间行,应只在已识别块内处理。
下载与本地读回
observed.csv、observed.json、styles.vtt。
下载全部附件到同一个独立目录,用 python verify.py 运行本题独立核验脚本。依赖为Python 3.12.4标准库;程序不联网、不连接设备,读取本题文件并在终端输出检查结果。本地实际执行回执保存实际命令、退出码和完整输出。
运行时应看到块顺序为STYLE、NOTE、cue。后置STYLE示例仅证明检查器知道本题要拒绝的顺序,不表示浏览器一定整文件失败;实现可能忽略部分样式或采用其他恢复方式。作者合规、加载接受和实际呈现分别填写,避免混成一句“样式支持”。
本文依据WebVTT 2026年5月20日候选推荐草案;这是工作中的规范版本。脚本只覆盖文中列出的语法,不是全规范验证器,未测试浏览器的容错与实际呈现。
把结果带回交付
交接时提供未压缩的字幕源和导出副本,注明引用的是2026候选草案,修改CSS后同时核对块边界与关键文字。若接收软件不支持内嵌样式,可提供经项目确认的外部样式方案或降级字幕,但仍需保留原始结构与具体支持测试。
相关背景见字幕 / 字符叠加播放实现,还可从多媒体播放专题继续查找文件处理方法。需要核对实际工程的接收条件时,可携带本题文件与读回结果进行工程对接咨询。
一级依据
来源核对日期:2026-10-24。引用支持文件机制;原创输入的本地结果不代表客户素材或现场系统已经通过验收。
相关阅读
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。