前言
本文详细介绍 MPEG-TS 常见的一些问题,并列举了部分实际案例,加深读者对这些问题的理解和掌握。这些问题 hysAnalyser 在分析之后均显著提示,便于用户直观感知,从而有利于快速定位和排除问题,提升工作效率。
诚然,这也是hysAnalyser 的 开发宗旨 之一,开发宗旨如下:
- 1)分析异常尽可能的显著提示;
- 2)时间戳,码率等数据采用图像曲线,方便直观跟踪变化;
- 3)带类型过滤的逐包分析;
- 4)及时支持新的音视频编码格式,支持为用户定制化开发所需的功能;
一、常见问题概述
在MPEG-TS业务中,常见的播放问题有黑屏,花屏,视频马赛克,无声音,声音啸叫,声画卡顿、声画不同步,切台黑屏,缺失预期的频道节目等等。
通常这些问题和PAT、PMT、时间戳、音视频格式、ES加密等相关,基于对业务的影响,笔者把它们分为了三小类,如下图所示。

二、重要提示类别
通常这种问题,可能是 MPEG-TS 语法允许的,不算错误。但是在出现时,经常会影响业务的正常运行,不深入分析,这类问题经常还不容易快速定位。
具体如下:
1. PAT 变更
在广电的MPTS直播常见,节目变更:变更后,可能造成节目缺失等
告警图示

逐包分析结果

2. PMT变更
在广电的MPTS直播常见,节目变更:变更后,可能造成节目缺失,音视频异常等;
(同上)
3. PCR回溯
- 在广电和OTT直播节目中,因PCR周期出现常见
- 在PCR处理错误的节目中,因复用PCR错误,如小于前面的PCR值而出现
(常见,不提供案例图)
4. PSI间隔超正常范围
TR 101290的统计指标结果,可能造成切台慢,节目信息不及时等
(常见,不提供案例图)
5. PAT描述节目无数据
节目处理异常时,可能出现。可能造成节目缺失,播放黑屏
告警图示

PID统计结果

6. PAT存在无节目次数
PAT复用处理错误,可能因无法解析PAT,出现切台后黑屏过长,甚至无法播放
告警图示

逐包分析结果

7. PID无数据
复用丢失PID数据,可能造成无声音,无视频等情况
告警图示

PID统计结果

8. PES加密
加密节目,常常对应CA解扰失败,从而引起播放失败。
告警图示

9. PES大小不匹配
- 复用错误
- 数据丢失
- 文件不完整等
(常见,不提供案例图)
三、严重错误类别
通常这种问题不是 MPEG-TS 语法允许的,是重要错误。在出现时,必然会影响业务的运行。
具体情况不再赘述,直接参考实际案例。
1. 同步字错误
- 数据丢失造成
- 数据源本身不是正常的TS数据
告警图示

逐包分析结果

2. 流中无有效 PMT 包
- 数据复用时缺失PMT包
告警图示

PSI/SI 统计

3. 连续计数器错误
- 数据丢包现象
(常见错误, TR 101290 重要指标)
4. PCR 错误
- PCR非线性增长,出现不规整的跳变,反转等
告警图示

时间戳曲线图示

5. PCR 无数据
- 流中无PCR数据
告警图示

PCR曲线图示

6. PTS 错误
- PTS或DTS错误,主要是非线性的增长,出现不规整的跳变、反转或缺失PTS、DTS等
告警图示

时间戳曲线图示

7. PTS < DTS (同帧)
- 同一帧音视频,通常要求 PTS >= DTS
(很少见,通常为源编码的时戳故障,遇到播放器时间戳严谨时,可能造成播放静帧)
8. CRC 错误
- PSI/SI section中的CRC错误,可能是数据错误或源复用打包错误

9. PMT-PID 重复
- 广电MPTS节目中不同节目出现PMT-PID重复,可能造成播放异常。

10. PID错乱
- 数据源大规模异常:可能是加密等其他异常造成
告警图示

出现大量的无关联的PID:


11. 媒体格式解析错误
- 数据源PES加密,造成不能解析到音视频格式
- 数据源非正常音视频,字幕数据,造成解析异常
告警结果

四、其他告警类别
通常这类问题,不一定影响业务,但对于一些对指标要求严谨的播放器或复用器,可能造成业务失败的情况。
这类告警,将继续根据需要完善和补充。
1. PTS与PCR的差值过大
- 数据源复用时,PTS和PCR差值过大
告警图示

PTS与PCR差值曲线图示

下载地址
功能概述
1)MPEG-TS离线文件分析(PSI/SI,时间戳、码率、音视频同步,PES列表,RTP封装包列表等)
2)HLS实时流接入(M3u8列表,分片缓存等分析);
3)UDP实时流监测(实时码率曲线,PCR曲线,TR 101290统计, PSI/SI, 音视频详情)
4)支持MP1/MP2/MP3/AAC/AC3/EAC3, MPEG-1/2/4,H.264/AVC、H.265/HEVC、H.266/VVC,AVS1/AVS+/AVS2/AVS3, Audio Vivid(AV3A)等编码格式 ;
5)逐包分析:支持PAT/PMT/SDT/NIT/BAT/EIT/CAT/RST/TDT/TOT/DIT/SIT数据表解析, 可通过PID过滤和快速定位;
6)支持导出分析结果数据,包括PES(ES)、PCR,时间戳,码率,DTS间距等;
7)ES分析和导出:支持按PES格式 或 ES格式导出数据;支持输出 H.264/HEVC/VVC/AVS1/AVS+/AVS2/AVS3 Nalunit/GOP/Picture List,更多 ES 详情可结合 flvAnalyser
8)流转换功能:从多节目流按需配置参数提取节目流, 单节目TS转存MP4/MKV;
9)高级功能:流编辑修改PID,修改时间戳,修改界面名称,删除指定PID数据;
10)流播发功能:TS按PCR周期播发 UDP 或 RTP(over UDP),可作为直播源使用。
11)定制化功能:非 MPEG-TS/DVB 标准数据支持;
ES 分析功能在flvAnalyser 已具有,如果朋友们迫切需要,可以通过 flvAnalyser 做ES分析。后期笔者再逐步完善和补充。
(提示:部分功能需软件授权后才能使用,授权方法请参考GitHub或知乎)
参考链接
- 知乎-发布地址和授权说明
- MPEG-1/2/4
- ITU官方
- AVS工作组
- ETSI
- CSDN:hysAnalyser 综述 --- 一个特色TS流分析工具
- flvAnalyser综述 https://cloud.tencent.com/developer/article/2344723
- hysAnalyser综述 https://cloud.tencent.com/developer/article/2517652
- hysAnalyser从MPEG-TS导出ES功能说明
- hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明
- hysAnalyser --- 支持文件转播UDP/RTP实时流功能