hysAnalyser 综述 --- 一个特色TS流分析工具

前言

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

开发宗旨

  • 1)分析异常尽可能的显著提示;
  • 2)时间戳,码率等数据采用图像曲线,方便直观跟踪变化;
  • 3)带类型过滤的逐包分析;
  • 4)及时支持新的编码格式,支持为用户定制化开发;

作者在这里做个综述,并提供发布地址。方便网友查找和下载。

主要功能概述

hysAnalyser是一款 MPEG-TS 数据分析工具 (Github:https://github.com/zymill/hysAnalyser

备用:百度盘下载地址 https://pan.baidu.com/s/15EtyxUBhvokfXC2rJp_smQ?pwd=mpts

1)MPEG-TS离线文件分析(PSI/SI,时间戳、码率、音视频同步,PES列表,RTP封装包列表等)

2)HLS实时流接入(M3u8列表,分片缓存等分析);

3)除主流的MPEG-1/2/4,H.264/AVC、H.265/HEVC外,工具扩展支持了 H.266/VVC, AVS2, AVS3等编码格式 ;

4)逐包分析:支持PAT/PMT/SDT/NIT/BAT/EIT/CAT/RST/TDT/TOT/DIT/SIT数据表解析;

5)支持导出分析结果数据,包括PES(ES)、PCR,时间戳,码率,DTS间距等;

6)流转换功能:从多节目流按需配置参数提取节目流,转存MP4/MKV;

7)流编辑功能:修改PID,修改时间戳,修改节目名称和ID,删除指定PID数据等;

8)支持解析SCTE-35 (始于版本v1.0.006)

ES 分析功能在flvAnalyser 已具有,如果朋友们迫切需要,可以通过 flvAnalyser 做ES分析。后期笔者再逐步完善和补充。

(提示:部分功能需软件授权后才能使用,授权方法请参考GitHub或知乎

说明:

1)flvAnalyser 全免费 (除了flv分析外,还具备H264/H265/H266/AVS3等ES数据的分析和预览)

2)hysAnalyser 大部分功能可免费使用。部分功能需要授权才能使用,需要的朋友可以参考文章结尾的授权说明!

知识库推荐

在这里插入图片描述

功能介绍

一、分析结果概述

离线文件:多节目流的分析概况和重要提示,如图所示,如果流有错误和变更,工具会有显著提示。
在这里插入图片描述

二、HLS网络接入

启动HLS接入

在这里插入图片描述

HLS工作动态

在这里插入图片描述

HLS缓存位置

在这里插入图片描述

三、PID分布

用于跟踪PID数据统计,如果PID缺失数据时,会有显著提示
在这里插入图片描述

四、格式分析

音视频编码参数的分析详情,支持导出(请参考导出案例)
在这里插入图片描述

五、码率分析

基于PCR间隔的码率曲线,跟踪CBR,VBR的码率变化

恒定码率(CBR)

在这里插入图片描述

可变码率(VBR)

在这里插入图片描述

六、PCR分析

支持PCR独立分析,曲线主要用于观察流PCR的变化:跳变,回溯,反转等现象下,PCR曲线不是连续的。
在这里插入图片描述

pcr异常案例

在这里插入图片描述

七、时间戳分析

同步分析,时间异常分析:方便观察突变,串流,时间戳缺失等
在这里插入图片描述

如果PSI/SI相同时,串流的现象:同一个节目下容易出现两条时间戳曲线
在这里插入图片描述

八、时间戳DTS间距

用于观察帧间隔的微观变化。如果数据丢失,或复用错误,曲线将异常。通常帧率恒定的流,DTS间隔应该是稳定的。如图所示。否则是变帧率或者有数据丢失。

在这里插入图片描述

异常案例1:从DTS间距异常,可以直观获得时间错跳变异常(有利于获知视频播放卡顿,偶现花屏的根源)

在这里插入图片描述

异常案例2:从DTS间距可以直观音频的局部缺失

在这里插入图片描述

九、时间戳差值

用于检查复用PCR和PTS/DTS之间关系,PTS-PCR的差值,正常应该控制在缓存范围内。不能出现负值,也不能太大。该曲线同时可以用于观察音视频同步的稳定性。
在这里插入图片描述

异常案例:PTS-PCR差值出现负值(ts打包异常的典型案例)

在这里插入图片描述

十、ETR290告警

常规ETR290 错误统计
在这里插入图片描述

PSI/SI信息的统计后续补充完善。

十一、PES列表

在这里插入图片描述
PES导出指南(始于v1.0.003)
在这里插入图片描述

十二、RTP包分析

直播RTP包封装格式下的分析和跟踪

在这里插入图片描述

跟踪同一个组播地址流是否数据包会有重发

如图所示
在这里插入图片描述

十三、逐包分析

1. ts包全量列表

在这里插入图片描述

2.PSI/SI过滤逐包分析:涵盖 PAT/PMT/SDT/CAT 等

在这里插入图片描述

3.PES起始包和PCR:主要包括PES头部解析,PCR解析,GOP头部参数探测等基本内容

在这里插入图片描述

4.右键菜单,PID过滤和快捷定位

右键菜单操作指引
在这里插入图片描述
选择PID
在这里插入图片描述

5.同步字错误列表及样例

在这里插入图片描述
在这里插入图片描述
更多功能,可以自行试用。

十四、数据结果的导出

1.导出时间戳

在这里插入图片描述

导出数据是文本格式。

样例如下

Author : hybase@qq.com (qq: 23207689) 
Date   : 2025-05-03 20:49:07
===== [Start] =====

文件名称: E:\material\\_utfiles\_hysAnalyser\mpts\mpts\_tr.ts
节目信息: service id= 101  央视1套
PID 数目: 2
时间长度: 

 idx\_0   pid= 272 MPEG-2 Video         |  start=     7762245990(90KHz) (dlt\_ms=        0) |  end=     7773089190(90KHz) (dlt\_ms=        0)  | age=     10843200(90KHz) (120.480 s)  | (dlt\_age= 0.000 s)
 idx\_1   pid= 275 MPEG-2 Audio         |  start=     7762211917(90KHz) (dlt\_ms=     -378) |  end=     7773083197(90KHz) (dlt\_ms=      -66)  | age=     10871280(90KHz) (120.792 s)  | (dlt\_age= 0.312 s)


=========== start pid= 272 (0x110)==================
pid\_idx= 0     pid= 272 (0x110) MPEG-2 Video    pts/dts 数目: 252

 pid= 272  |  idx=        0  |  offset=       108288 (0x      1a700)  pkt\_num=        576   |     | pcr=      2328659120866(27MHz)     7762197069(90KHz)     86246634(ms)        0(ms)| pts=     7762256790(90KHz)     86247297(ms) | dts=     7762245990(90KHz)     86247177(ms)        0(ms)
 pid= 272  |  idx=        1  |  offset=      2197720 (0x     2188d8)  pkt\_num=      11690   |     | pcr=      2328672893842(27MHz)     7762242979(90KHz)     86247144(ms)      510(ms)| pts=     7762299990(90KHz)     86247777(ms) | dts=     7762289190(90KHz)     86247657(ms)      480(ms)
 pid= 272  |  idx=        2  |  offset=      4053468 (0x     3dd9dc)  pkt\_num=      21561   |     | pcr=      2328684827579(27MHz)     7762282758(90KHz)     86247586(ms)      441(ms)| pts=     7762343190(90KHz)     86248257(ms) | dts=     7762332390(90KHz)     86248137(ms)      480(ms)
 pid= 272  |  idx=        3  |  offset=      6039124 (0x     5c2654)  pkt\_num=      32123   |     | pcr=      2328697679870(27MHz)     7762325599(90KHz)     86248062(ms)      476(ms)| pts=     7762386390(90KHz)     86248737(ms) | dts=     7762375590(90KHz)     86248617(ms)      480(ms)
 pid= 272  |  idx=        4  |  offset=      8503616 (0x     81c140)  pkt\_num=      45232   |     | pcr=      2328713285692(27MHz)     7762377618(90KHz)     86248640(ms)      577(ms)| pts=     7762429590(90KHz)     86249217(ms) | dts=     7762418790(90KHz)     86249097(ms)      480(ms)
 pid= 272  |  idx=        5  |  offset=     10563720 (0x     a13088)  pkt\_num=      56190   |     | pcr=      2328726135855(27MHz)     7762420452(90KHz)     86249116(ms)      475(ms)| pts=     7762472790(90KHz)     86249697(ms) | dts=     7762461990(90KHz)     86249577(ms)      480(ms)

2.导出媒体格式信息

Author : hybase@qq.com (qq: 23207689) 
Date   : 2025-05-03 20:53:46
===== [Start] =====

文件名称: E:\material\\_utfiles\_hysAnalyser\mpts\mpts\_tr.ts
节目总数: 7

+-- 节目号:101 (PMT PID=70 (0x46) 名称:央视1)
  - PID:272(0x110) 视频 MPEG-2 Video
    \* ES PID                 : 272 (0x110)
    \* Service ID             : 101 (0x65)
    \* Stream type            : 2 (0x2)
    \* Codec name             : MPEG-2 video
    \* Profile and level      : Main@Main
    \* Play duration          : 00:02:00 (120 s)
    \* Format Reference frame : 1 帧
    \* Format BVOP            : Yes
    \* GOP size               : M=Unknown, N=12
    \* Display resolution     : 720 x 576
    \* Coded resolution       : 0 x 0
    \* Pixel format           : yuv420p
    \* Pixel bit depth        : 8 bit
    \* Frame rate             : 25.0000 fps
    \* Average bit rate       : 3117 Kbps
    \* Scan type              : Interlaced
    \* Scan order             : Top field first
    \* QMin                   : 2
    \* QMax                   : 31
    \* Display Aspect ratio   : [4:3]
    \* Sample Aspect Ratio    : [16:15]
    \* Color Range            : tv
    \* Chroma Sample location : left
    \* Time base              : 1/90000
    \* Stream data bytes      : 44.961 MB

  - PID:275(0x113) 音频 MPEG-2 Audio
    \* ES PID                 : 275 (0x113)
    \* Service ID             : 101 (0x65)
    \* Stream type            : 4 (0x4)
    \* Format Codec name      : MP2 (MPEG audio layer 2)
    \* Play duration          : 00:02:00 (120 s)
    \* Sample rate            : 48000 Hz
    \* Sampel bits            : 16 bit (format: s16p)
    \* Channel number         : 1 channels
    \* Channel layout         : mono
    \* Average bit rate       : 131 Kbps
    \* Stream data bytes      : 1.897 MB

  - PCR:128(0x80)

... (省略)

Author : hybase@qq.com (qq: 23207689) 
Date   : 2025-05-03 20:53:46
===== [End] =====

3.导出PTS-PCR时间差信息

Author : hybase@qq.com (qq: 23207689) 
Date   : 2025-05-03 20:54:32
===== [Start] =====

文件名称: E:\material\\_utfiles\_hysAnalyser\mpts\mpts\_tr.ts
节目信息: id= 101  央视1套
PID 数目: 2


=========== start pid= 272 (0x110)==================
pid\_idx= 0     pid= 272 (0x110) MPEG-2 Video    pts/dts 数目: 252

 pid= 272  |  idx=        0  |  offset=       108288 (0x      1a700)  pkt\_num=        576   |     | pcr=      2328659120866(27MHz)     7762197069(90KHz)     86246634(ms) | pts=     7762256790(90KHz)     86247297(ms) | dts=     7762245990(90KHz)     86247177(ms) | pts-pcr=      59721(90KHz)      663(ms) | dts-pcr=      48921(90KHz)      543(ms)
 pid= 272  |  idx=        1  |  offset=      2197720 (0x     2188d8)  pkt\_num=      11690   |     | pcr=      2328672893842(27MHz)     7762242979(90KHz)     86247144(ms) | pts=     7762299990(90KHz)     86247777(ms) | dts=     7762289190(90KHz)     86247657(ms) | pts-pcr=      57011(90KHz)      633(ms) | dts-pcr=      46211(90KHz)      513(ms)
 pid= 272  |  idx=        2  |  offset=      4053468 (0x     3dd9dc)  pkt\_num=      21561   |     | pcr=      2328684827579(27MHz)     7762282758(90KHz)     86247586(ms) | pts=     7762343190(90KHz)     86248257(ms) | dts=     7762332390(90KHz)     86248137(ms) | pts-pcr=      60432(90KHz)      671(ms) | dts-pcr=      49632(90KHz)      551(ms)
 pid= 272  |  idx=        3  |  offset=      6039124 (0x     5c2654)  pkt\_num=      32123   |     | pcr=      2328697679870(27MHz)     7762325599(90KHz)     86248062(ms) | pts=     7762386390(90KHz)     86248737(ms) | dts=     7762375590(90KHz)     86248617(ms) | pts-pcr=      60791(90KHz)      675(ms) | dts-pcr=      49991(90KHz)      555(ms)
 pid= 272  |  idx=        4  |  offset=      8503616 (0x     81c140)  pkt\_num=      45232   |     | pcr=      2328713285692(27MHz)     7762377618(90KHz)     86248640(ms) | pts=     7762429590(90KHz)     86249217(ms) | dts=     7762418790(90KHz)     86249097(ms) | pts-pcr=      51972(90KHz)      577(ms) | dts-pcr=      41172(90KHz)      457(ms)
 pid= 272  |  idx=        5  |  offset=     10563720 (0x     a13088)  pkt\_num=      56190   |     | pcr=      2328726135855(27MHz)     7762420452(90KHz)     86249116(ms) | pts=     7762472790(90KHz)     86249697(ms) | dts=     7762461990(90KHz)     86249577(ms) | pts-pcr=      52338(90KHz)      581(ms) | dts-pcr=      41538(90KHz)      461(ms)
 pid= 272  |  idx=        6  |  offset=     12060388 (0x     b806e4)  pkt\_num=      64151   |     | pcr=      2328736229295(27MHz)     7762454097(90KHz)     86249489(ms) | pts=     7762515990(90KHz)     86250177(ms) | dts=     7762505190(90KHz)     86250057(ms) | pts-pcr=      61893(90KHz)      687(ms) | dts-pcr=      51093(90KHz)      567(ms)
 pid= 272  |  idx=        7  |  offset=     14025364 (0x     d60294)  pkt\_num=      74603   |     | pcr=      2328749078391(27MHz)     7762496927(90KHz)     86249965(ms) | pts=     7762559190(90KHz)     86250657(ms) | dts=     7762548390(90KHz)     86250537(ms) | pts-pcr=      62263(90KHz)      691(ms) | dts-pcr=      51463(90KHz)      571(ms)
 pid= 272  |  idx=        8  |  offset=     16005380 (0x     f43904)  pkt\_num=      85135   |     | pcr=      2328761940266(27MHz)     7762539800(90KHz)     86250442(ms) | pts=     7762602390(90KHz)     86251137(ms) | dts=     7762591590(90KHz)     86251017(ms) | pts-pcr=      62590(90KHz)      695(ms) | dts-pcr=      51790(90KHz)      575(ms)
 pid= 272  |  idx=        9  |  offset=     18111732 (0x    1145cf4)  pkt\_num=      96339   |     | pcr=      2328774784036(27MHz)     7762582613(90KHz)     86250917(ms) | pts=     7762645590(90KHz)     86251617(ms) | dts=     7762634790(90KHz)     86251497(ms) | pts-pcr=      62977(90KHz)      699(ms) | dts-pcr=      52177(90KHz)      579(ms)
 pid= 272  |  idx=       10  |  offset=     19742444 (0x    12d3eec)  pkt\_num=     105013   |     | pcr=      2328785798162(27MHz)     7762619327(90KHz)     86251325(ms) | pts=     7762688790(90KHz)     86252097(ms) | dts=     7762677990(90KHz)     86251977(ms) | pts-pcr=      69463(90KHz)      771(ms) | dts-pcr=      58663(90KHz)      651(ms)
 pid= 272  |  idx=       11  |  offset=     21368644 (0x    1460f44)  pkt\_num=     113663   |     | pcr=      2328796828247(27MHz)     7762656094(90KHz)     86251734(ms) | pts=     7762731990(90KHz)     86252577(ms) | dts=     7762721190(90KHz)     86252457(ms) | pts-pcr=      75896(90KHz)      843(ms) | dts-pcr=      65096(90KHz)      723(ms)
 pid= 272  |  idx=       12  |  offset=     23596068 (0x    1680c24)  pkt\_num=     125511   |     | pcr=      2328812427680(27MHz)     7762708092(90KHz)     86252312(ms) | pts=     7762775190(90KHz)     86253057(ms) | dts=     7762764390(90KHz)     86252937(ms) | pts-pcr=      67098(90KHz)      745(ms) | dts-pcr=      56298(90KHz)      625(ms)

4.导出码率信息

Author : hybase@qq.com (qq: 23207689) 
Date   : 2025-05-03 20:55:21
===== [Start] =====

文件名称: E:\material\\_utfiles\_hysAnalyser\mpts\mpts\_tr.ts
PCR 数目: 3558
最大码率: 35420.000 Kbps 	position pkt\_num= 57175
最小码率: 28725.000 Kbps 	position pkt\_num= 1938335
平均码率: 30906.868 Kbps 

idx=        0  |  pkt\_num=              824  |  pcr\_diff\_ms=       34 |  bitrate= 33361.012  Kbps  |    
idx=        1  |  pkt\_num=             1577  |  pcr\_diff\_ms=       33 |  bitrate= 33327.801  Kbps  |    
idx=        2  |  pkt\_num=             2337  |  pcr\_diff\_ms=       34 |  bitrate= 33366.431  Kbps  |    
idx=        3  |  pkt\_num=             3085  |  pcr\_diff\_ms=       33 |  bitrate= 33455.832  Kbps  |    
idx=        4  |  pkt\_num=             3845  |  pcr\_diff\_ms=       33 |  bitrate= 34072.380  Kbps  |    
idx=        5  |  pkt\_num=             4614  |  pcr\_diff\_ms=       34 |  bitrate= 33761.706  Kbps  |    
idx=        6  |  pkt\_num=             5391  |  pcr\_diff\_ms=       34 |  bitrate= 34034.703  Kbps  |    

十五、流转换

1.常用转换和修改功能

在这里插入图片描述

2.高级编辑-提取节目案例

在这里插入图片描述

3.提取之后文件结果验证

在这里插入图片描述

4.转存MP4

在这里插入图片描述
在这里插入图片描述

5.修改时间戳

在这里插入图片描述

6.修改PCR PID为视频PID

在这里插入图片描述

7.重置PID

在这里插入图片描述

8.移除空包

在这里插入图片描述

9.移除PID

在这里插入图片描述
移除结果对比
在这里插入图片描述

十六、TS剪辑

1.TS文件的裁剪

可用于:

  • 大文件裁剪成小文件
  • 通过逐包分析,定位到关键帧位置,将不完整ES帧数据移除。
  • 该功能也可以用于其他文件类型的裁剪处理。
  • 188字节对齐仅仅是为了MPEG-TS裁剪
    在这里插入图片描述

2. 多个TS文件的简单拼接

可用于:

  • HLS分片的拼接,合成一个整体文件
  • 制作特殊素材
  • 结合前面的时间戳编辑,PID编辑,可以制作更多特色的测试素材。
    比方:PAT变化,PMT变化,视频分辨率变化,音轨变化等等。
    这些场景在实际商用环境都不少见。为了适应这些变化,这些素材可以用于检验自己的程序。
    在这里插入图片描述

十七、AVS2 / AVS3 / VVC 格式

1.AVS2

在这里插入图片描述
在这里插入图片描述

2.AVS3

在这里插入图片描述
在这里插入图片描述

3.VVC

在这里插入图片描述
在这里插入图片描述

十八、支持SCTE-35解析

1.解析结果和逐包分析

在这里插入图片描述

2.标准语法介绍

在这里插入图片描述

其他更多的功能,需要的网友可以下载后试用。

软件授权

1. 进入授权界面

在这里插入图片描述

2. 授权主界面

在这里插入图片描述

3. 授权注册方法

在这里插入图片描述

4. 授权成功之后

在这里插入图片描述

联系和费用介绍

  • 知乎 (Chinese):[https://www.zhihu.com/people/zymill]

  • 微信: wybase

  • Email: hybase@qq.com

  • 授权费用:35 元(RMB) / 单台机器 (永久授权,享有后续版本升级的全部新功能)

Links

  1. 知乎-发布地址和授权说明
  2. MPEG-1/2/4
  3. ITU官方
  4. AVS工作组
  5. ETSI
  6. 优快云: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功能说明
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值