当前位置: 首页 > news >正文

hysAnalyser --- 逐包分析MPEG-TS的功能说明

前言

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

关于它的完整介绍,作者已写过综述,有兴趣的可以访问如下地址:
知乎:hysAnalyser v1.0.008版本发布
CSDN:hysAnalyser 综述 — 一个特色TS流分析工具

摘要

本文主要介绍工具的逐包分析功能,提供基本操作指引、实际案例说明。
工具逐包分析功能的开发宗旨:
1)操作便捷,注重使用体验,异常结果尽可能的明示;
2)支持所有用户关注的包类型过滤条件,可以极大方便用户缩小数据范围,提升定位问题的速度;
3)支持主流格式,PSI/SI, ES数据导出等,支持快速切换和定位、可以为用户开发定制化功能;

现将 hysAnalyser 新版本(v1.0.008)分享给网友使用,希望能帮助到更多音视频开发的爱好者。
使用过程中,若遇到问题请您通过 Github官方地址 https://github.com/zymill/hysAnalyser 提issue,如果紧急也可以通过邮箱 hybase@qq.com 反馈!

逐包分析功能概述

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包头部数据的解析结果

主界面及操作指引

1.操作指引

数据过滤方法一:通过下拉框选对应数据表类型,可以独立显示目标数据。
数据过滤方法二:通过鼠标右键菜单,只显示指定PID数据;

图1.主界面

2.鼠标右键菜单功能

主要用于

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

在这里插入图片描述

详细案例

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

1.TS包头调整字段解析

在这里插入图片描述

2.PAT(Program Association Table)解析

在这里插入图片描述

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数据表解析

在这里插入图片描述

14. 待补充案例

工具已经支持,案例待补充

  1. RST (Running Status Table)
  2. DIT (Discontinuity Information Table)
  3. SIT (Selection Information Table)

解析思路

解析要求

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

ATSC和DVB标准的差异

表类型DVB标准ATSC标准差异说明
网络信息NITVCT (Virtual Channel Table)ATSC使用VCT描述频道映射
时间信息TDT/TOTSTT (System Time Table)ATSC合并时间日期和时区
事件信息EITEIT+ETT (Extended Text Table)ATSC分离文本和事件信息
服务信息SDTVCT+MTT (Master Guide Table)ATSC使用分层结构
加扰信息CATDCCT (Data Carousel Control Table)ATSC使用不同的CA系统
特殊表DIT/SIT无直接对应ATSC无等价表

软件下载

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

参考链接

  1. MPEG-1/2/4
  2. ITU官方
  3. AVS工作组
  4. ETSI
  5. 知乎:hysAnalyser v1.0.008版本发布
  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功能说明

相关文章:

  • 图文详解Java集合面试题
  • 量化面试绿皮书:1. 海盗分金博弈
  • 树莓派3B小练习
  • 【JMeter】性能测试知识和工具
  • Spring AI Image Model、TTS,RAG
  • 区块链可投会议CCF B--EDBT 2026 截止10.8 附录用率
  • 基于React + TypeScript构建高度可定制的QR码生成器
  • Codeforces Round 1028 (Div. 2) C. Gellyfish and Flaming Peony
  • MCU SoC
  • 【Dv3Admin】系统视图系统配置API文件解析
  • 举办中国户外运动展哪个城市较理想
  • Vert.x学习笔记-EventLoop与Context的关系
  • LTSPICE仿真电路:(三十二)差动放大器电流源
  • RPA办公自动化工具初体验
  • 使用 DeepSeek API 搭建智能体《无间》- 卓伊凡的完整指南 -优雅草卓伊凡
  • 【Oracle】数据备份与恢复
  • “候选对话链”(Candidate Dialogue Chain)概念
  • 历年中山大学计算机保研上机真题
  • 【极客日常】分享go开发中wire和interface配合的一些经验
  • DRW - 加密市场预测
  • 广州定制型网站建设/广西关键词优化公司
  • 小灯具网站建设方案/seo关键词排名优化要多少钱
  • 清河网站制作/网站怎么找
  • 网站怎样做链接/无锡百度关键词优化
  • 空间印象商业空间设计/系统优化
  • aspx网站使用什么做的/怎么弄推广广告