mpeg2-ts协议分析

时间:2021-01-13 15:54:46

以视频为例,我们将视频压缩成的H264码流 可以称作为ES流,将其每帧打包变为PES流 然后拆分成多个188字节,称为TS流
mpeg2-ts协议分析
从上往下解释:

一段ES流=N帧(就是第2行中的数据)

1帧 = 1 PES_payload

1PES = 1PES包头 + 1 PES_payload

第四行解释

从PES方面理解:

1PES 切成N段,每段组成一个TS包的负载。

从TS方面理解:

最开始的TS包由 TS包头(图中有T标志的) + PES 包头(草绿色) + PES_payload(白色) 组成

最末尾的TS包由 TS包头(图中有T标志的) + 自适应字段(橙色)+ PES_payload(白色) 组成

以上两种TS包很简单,在中间的TS包有点复杂,经过血的教训,发现其由3种包组成,出现位置随机,每种出现的概率不相同,如下:

第一种 TS包头(图中有T标志的) + 自适应字段(橙色)+ PES_payload(白色),出现概率 1%

第二种 TS包头(图中有T标志的) + 自适应字段(橙色)出现概率 0.1%

第三种 TS包头(图中有T标志的) + PES_payload(白色)出现概率 98.9%

PSI(节目特定信息) 分为PAT(节目相关表)和PMT(节目映射表)

1个PAT表中包含N个PMT表的索引信息

而1个PMT表中又包含视频PES 音频PES等索引信息

各关系如下图:

mpeg2-ts协议分析