JT/T 1078 与媒体

JT/T 1078 媒体诊断:包头、RTP 时序、PS 与 H.264

黑屏可能来自信令、传输丢失、时间戳处理、PS 重组或编码数据。本指南按层隔离问题。

从一个授权媒体会话开始

选择一个脱敏 SIM、逻辑通道和会话区间,将控制面开始和停止事件与媒体连接关联并保留包顺序。从共享样例中删除真实端点和标识。实时与回放流应分开,因为其信令、SSRC 分配和时序预期可能不同。

先解析 JT/T 1078 标识、包序列号、压缩 SIM、通道和数据/分包类型。基础区域后的消息头字段取决于类型。应验证多个连续包,避免偏移边界或错误条件布局偶然看似正确。

区分传输序列和媒体时间

RTP 序列号在同一 SSRC 内诊断顺序、缺口和重复。应处理 16 位回绕,并区分迟到乱序与永久丢失。无法推断观察点之前的抓包丢失。确定根因前应将序列缺口与网络计数和后续包比较。

RTP 时间戳使用媒体时钟,不是墙上时间。获取协商时钟率,并把一个帧或访问单元中共享时间戳的包分组。规律但比例错误的毫秒值通常表示时钟假设错误。Marker 用法和分片规范提供额外帧边界背景。

重组载荷后再扫描 PS

删除实际 RTP 消息头,包括 CSRC 条目和扩展,并按传输规范依序重组载荷字节,然后才扫描 MPEG-PS Pack、System、Map 和 PES 起始码。000001 模式只是边界线索,仍需验证声明长度和周围语法。

丢包可能在距离可见解码错误很远的位置破坏 PS 段。记录构成每个重组区域的 RTP 序列范围,这能把错误 PES 或缺失节目流映射连接到造成问题的传输缺口。

识别 H.264 边界但不过度推断

完成 PS 和 PES 提取后,确定基本流使用 Annex-B 起始码还是长度前缀 AVC。对于 Annex-B,定位 SPS、PPS、IDR、非 IDR Slice 和其他 NAL 类型。参数集应在依赖图像前可用,但 NAL 类型本身不能验证位流语法或解码成功。

把第一个失败区间保存为分层回归样例:信令元数据、JT/T 包头、RTP 序列/时间戳、重组 PS 偏移和 H.264 单元列表。这样后续修复测试真实依赖链,而不是孤立解析器。

使用逐层故障记录

记录最先违反不变量的层:授权会话映射、JT/T 包头、包序列、媒体时钟、RTP 载荷偏移、PS 长度或编码边界。后续解码症状不应替代最早可复现失败作为根因候选。