hysAnalyser --- 常见MPEG-TS问题指南

前言

本文详细介绍 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. Github:https://github.com/zymill/hysAnalyser

  2. 百度盘:https://pan.baidu.com/s/15EtyxUBhvokfXC2rJp_smQ?pwd=mpts

功能概述

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或知乎

参考链接

  1. 知乎-发布地址和授权说明
  2. MPEG-1/2/4
  3. ITU官方
  4. AVS工作组
  5. ETSI
  6. CSDN:hysAnalyser 综述 --- 一个特色TS流分析工具
  7. flvAnalyser综述 https://cloud.tencent.com/developer/article/2344723
  8. hysAnalyser综述 https://cloud.tencent.com/developer/article/2517652
  9. hysAnalyser从MPEG-TS导出ES功能说明
  10. hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明
  11. hysAnalyser --- 支持文件转播UDP/RTP实时流功能
相关推荐
runner365.git4 天前
webrtc服务端如何录像
webrtc·录像·fmp4·mpegts
Code Slacker4 天前
第八届传智杯传统非遗设计挑战赛练习题库(一)
智能电视
九河云9 天前
电网“数字配电房”:局放AI模型故障定位缩到30厘米
人工智能·安全·数字化转型·智能电视
KmjJgWeb10 天前
金属切削刀具分类与识别:基于YOLOv26的高精度检测系统(含代码实现)
yolo·智能电视
想你依然心痛11 天前
AI 音效新征程:HunyuanVideo-Foley 视频配音实战
人工智能·音视频·智能电视
3GPP仿真实验室12 天前
【MATLAB源码】6G:感知辅助毫米波 MIMO 信道估计仿真平台
开发语言·matlab·智能电视
小咖自动剪辑13 天前
AI 智能视频无损放大工具:支持超分辨率与智能补帧
人工智能·音视频·智能电视
乐迪信息15 天前
乐迪信息解决港口船型识别难题!AI算法盒子检测船舶类型
人工智能·算法·智能电视
大飞记Python15 天前
老旧电视焕新教程:ADB+甲壳虫助手实现应用自由管理
adb·智能电视·去广告
想进部的张同学16 天前
RK3588 + Docker + GStreamer 实现 RTSP 推流(MJPEG AVI → H.264),VLC 成功拉流
docker·音视频·h.264