MTC 只收到四个 Quarter Frame 能定位吗:怎样标记完整与残缺时码
一组MTC Quarter Frame通常要收齐八个片号,才有完整的时码字段。中间缺片、重复或顺序改变,应先标成残缺,不能用旧片段补出一个看似连续的位置。完整字段还不等于当前输出画面时刻,分片传输本身存在时间关系。
先固定输入与适用条件
本例只重组MIDI 1.0 F1数据,不处理LTC音频,不驱动任何时间线。合成完整值为01:02:03:04、25帧码型;另有缺片和倒序输入。附加的“25帧”是码型解释,不是对真实设备扫描或播出速率的测量,也不等于影片容器已经设置相同帧率。
本篇的OSC内容限定1.0规范,MIDI内容限定1.0字节消息;未涉及MIDI 2.0的UMP编码。桥接动作属于接收应用约定,不能从协议格式推断产品已经支持。
按字段与边界执行
-
先将每个F1后的数据字节拆成片号与低四位内容,片号应为零到七。保留到达顺序,不能只用字典覆盖同片号后宣布收齐。
-
确认八片连续按零到七或七到零出现;缺片、重复、混合方向均输出不可用。本例取完整窗口,不尝试猜测跨窗口补片。
-
组合帧、秒、分、时及码型字段,再检查秒分范围和对应帧数边界。保留原始字段值,避免应用补偿时间与编码值混在一列。
-
桥接到播放位置前,明确正向Quarter Frame传输的时间补偿与目标应用的定位约定。Full Frame用于完整定位的语义也需单独处理,不能当成普通八片之一。
用具体样例核对结果
完整数据片为04、10、23、30、42、50、61、72,重组为01:02:03:04,码型索引1。缺掉片号3的版本被拒绝,完整倒序可恢复同样字段并标方向为reverse。附件报告只给原始编码时间,不擅自加两帧作为“当前影片位置”;RFC对传输时间关系的说明不等于所有软件的定位实现相同。
通过条件包括八片顺序完整、字段范围合理、方向明确、补偿策略独立记录。收到了七个不同片号还不够;只检查位掩码而不检查顺序,也可能把两个不同时间窗口拼接。真实接入应记录首尾到达时间和中途Full Frame事件,不能仅凭恢复出的一个时分秒帧声称同步已经锁定。
下载与复现
analyze.py、input.json、result.json。
input中有三组明确边界,result保存完整性与拒绝理由。对接时把原始编码时间、传输观察时刻和应用定位时刻分开交付,避免MTC与上一批LTC音频流程混用。
把输入与脚本保存到同一个本地目录后执行 python analyze.py,脚本只读取输入、计算并重写同目录的结果文件。先保留原始附件副本,再将自己的脱敏输入另存为新版本,记录输入摘要与执行日期;不要把合成字段覆盖成看似真实的现场日志。
已用 Python 3.12.4 实际运行附件算法并检查断言。结果来自同目录合成输入;没有接入真实NDI源、控制器、灯具、接收卡或LED屏,不能据此填写现场验收通过。
对接下一步与一级来源
基础背景可看LTC 时码同步入门。相关流程收在展厅中控专题;需要项目对接时,带上本文输入及结果向SoftControl核对实际能力。
一级来源核对日期:2026-10-24。原始协议规则、本文原创运算和目标系统行为应分别留证;附件计算正确,不等于设备已经按该参数工作。
相关阅读
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。