ffmpeg——ts相关信息

1.ES PES TS
这里写图片描述
TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度。 PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力。在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流。由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流 基本上都采用了TS码流的包格。

每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,1个AU相当于编码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅视频图像或1个音频帧的取样。

PES是打包过的ES,已经插入PTS和DTS,一般一个PES是一帧图像。
PES经过打包成TS或PS流,往往一个PES会分存到多个TS包中。
这里写图片描述

2.PSI PAT PMT
节目专用信息PSI(Program Specific Information)

管理各种类型的TS数据包,需要有些特殊的TS包来确立各个TS数据包之间的关系。这些特殊的TS包里所包含的信息就是节目专用信息。

MPEG-2中,规定的对PSI信息的描述方法有以下几种:
• 1、表Table: 节目信息的结构性的描述;
–节目关联表Program Association Table (PAT) 0x0000

–节目映射表Program Map Tables (PMT) PAT指定

–条件接收表Conditional Access Table (CAT) 0x0001

–网络信息表Network Information Table(NIT) 0x0010

–传送流描述表Transport Stream Description Table (TSDT)
• 2、段Section: 将表格的内容映射到TS流中;
专用段 Private_ section

• 3、描述符Descriptor:提供有关节目构成(视频流、音频流、语言、层次、系统时钟和码率等多方面)的信息;
ITU-T Rec.H.222.0|ISO /IEC 13818-1 中定义的 PSI表可被分成一段或多段置于传输流分组中。一段就是一个语法结构,用来将 ITU-T Rec.H.222.0|ISO /IEC 13818-1 中定义的 PSI表映射到传输流分组中。

1个PAT表中包含N个PMT表的索引信息
而1个PMT表中又包含视频PES 音频PES等索引信息
这里写图片描述
在解析TS流的时候,首先寻找PAT表,根据PAT获取所有PMT表的PID;再寻找PMT表,获取该频段所有节目数据并保存。这样,只需要知道节目的PID就可以根据PacketHeade给出的PID过滤出不同的Packet,从而观看不同的节目。

Section:
一个section可能包含一个或多个TS包。对接收到的TS包数据,根据不同的PID过滤出相应的TS包,然后去掉包头,把相关的多个TS包有效数据组织起来形成section数据返回给相应的应用开发者调用。

当PSI的长度大于184bytes时,要对这个表进行分割,形成section来传送。分段机制主要是将一个数据表分割成多个数据段&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值