hysAnalyser --- 逐包分析使用说明(增加PID过滤)

摘要

本文主要介绍 hysAnalyser 逐包分析的使用方法,并提供了图示说明。
注释:本文是 hysAnalyser — 逐包分析MPEG-TS的功能说明 优化补充和完善。

现将 hysAnalyser 新版本(v1.2.002)发布给网友使用。使用过程中,若遇到问题请您通过 Github官方地址 https://github.com/zymill/hysAnalyser 提issue,如果紧急也可以通过邮箱 hybase@qq.com 反馈!

工具概述

hysAnalyser 是一款专业 MPEG-TS 数据分析工具,定位于
1)音视频开发和测试人员:和MEPG-TS有关开发、调试、测试辅助;
2)和MPEG-TS相关业务系统的运维人员:如数字电视、OTT、互联网流媒体等领域,协助用户跟踪和分析查错和定位TS数据、DVB业务数据表问题,并且还可以支持定制化的MPEG-TS素材制作和转存。

关于它的完整介绍,作者写过综述,有兴趣的可以访问如下地址(包含授权注册说明):

知乎:hysAnalyser v1.2.002版本发布

腾讯云:TS流分析专栏 https://cloud.tencent.com/developer/column/105278

一、逐包分析功能介绍

hysAnalyser 在任务分析完成后,可以通过两个入口进入逐包分析,如第一副图所示。
逐包分析主要包括以下功能
1.TS包列表:序号,偏移地址,PID,起始标识,包类型,时间戳(PCR,PTS,DTS),图像类型(标识I、B、P)等
2.视频附加信息:视频Nal unit标识VPS/SPS/PPS/SEI等
3.PSI/SI附加信息:PAT/PMT/SDT/BAT等section 版本号,关注观察版本变化
4.数据预览:包数据的十六进制格式预览
5.解析结果1:TS 4个字节的包头解析
6.解析结果2:TS包头的调整字段解析
7.解析结果3:PAT/PMT/SDT/BAT/NIT/EIT/RST/TDT/TOT/DIT/SIT等常用数据表的解析及呈现
8.解析结果4:PES包头部数据的解析结果

二、主界面及操作指引

2.1.操作指引

数据过滤方法一:通过下拉框选对应包类型,可以独立显示目标数据。
数据过滤方法二:通过PID筛选;
在这里插入图片描述

2.2.鼠标右键菜单功能

主要用于

  1. 显示选定PID
  2. 快速定位附近关联数据(包括:相邻PAT,相邻PMT,相邻SDT,相邻PCR,相邻PTS、DTS,相邻关键帧)
  3. 同步字错误列表
  4. 数据另存文件,方便记录和备份目标数据。方便单独分析和存档。

在这里插入图片描述

三、详细案例

下面是各种功能的演示抓图,希望能帮助到需要的朋友。

1.TS包头、调整字段和PES头部数据解析

在这里插入图片描述

2.PAT(Program Association Table)解析

在这里插入图片描述
一个PAT中 pmt_pid重复案例。

在这里插入图片描述

3.PMT(Program map table)分析

节目映射表
在这里插入图片描述

4.含加密描述符的PMT

在这里插入图片描述

5.含SCTE-35的PMT

Program map Table with SCTE-35
在这里插入图片描述

6.SDT(Service Description Table)解析

节目描述表
在这里插入图片描述

7.BAT(Bouquet Association Table)解析

Bouquet Association Table
在这里插入图片描述

8.NIT(Network Information Table)解析

Network Information Table
在这里插入图片描述

9.EIT(Event Information Table)解析

Event Information Table
在这里插入图片描述

10.CAT解析

在这里插入图片描述

11.TDT解析

Time and Date Table
在这里插入图片描述

12.TOT解析

Time offset table
在这里插入图片描述

13.SCTE-35数据表解析

在这里插入图片描述

解析思路

解析要求

1. 基本流程

  • 过滤TS包的PID(PAT固定为0x0000)
  • 检查payload_unit_start_indicator定位表起始
  • 解析表头字段(table_id, section_length等)
  • 处理循环结构(program loop, ES loop等)
  • 验证CRC32(除TDT/DIT等短格式表)
  • 处理描述符(descriptor)嵌套结构

2. 关键检查点

  • section_syntax_indicator(1=长格式,0=短格式)
  • current_next_indicator(仅处理1=当前有效表)
  • 版本控制(version_number变化时需更新)
  • 段重组(section_numberlast_section_number

3. 时间处理

  • 40位时间格式:前16位为MJD(Modified Julian Date),后24位为UTC时间(BCD编码)
  • 转换公式:MJD ≈ JD - 2400000.5

软件下载

方式一
Github地址 https://github.com/zymill/hysAnalyser
方式二
百度盘下载地址 https://pan.baidu.com/s/15EtyxUBhvokfXC2rJp_smQ?pwd=mpts

参考链接

  1. 知乎:hysAnalyser v1.0.008版本发布
  2. 优快云:hysAnalyser 综述 — 一个特色TS流分析工具
  3. flvAnalyser综述 https://cloud.tencent.com/developer/article/2344723
  4. hysAnalyser综述 https://cloud.tencent.com/developer/article/2517652
  5. hysAnalyser从MPEG-TS导出ES功能说明
  6. hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值