TS流解析

1、什么是TS流?

数字机顶盒接收到的传输流,其携带的信息有:视频、音频、PAT、PMT等

1.1 什么是TS流、PS流、PES流、ES流?

  • ES流:音频码流或视频码流

  • PES流:ES流分段,并加上相应头部

  • PS流:节目流

  • TS流:一个或多个PES流组合而成

1.2 TS流格式

基于Packet的位流格式。每个包188字节,其中包含4字节头部和184字节数据

4字节184字节
Packet HeaderPacket Data

Packet Header中的PID是Packet ID号码,决定Packet Data的内容

Packet DataPID
PAT0x0000
CAT0x0001

2、PAT表是什么?

Program Association Table,节目关联表,定义了当前TS流中所有的节目

TS流IDtransport_stream_id
节目频道号该频道可以包含很多的节目
PMT的PIDPMT的PID可以由用户自己定义

3、PMT表是什么?

Program Map Table,节目映射表。其包含的数据如下:

  • 当前频道中包含的所有Video数据的PID

  • 当前频道中包含的所有Audio数据的PID

  • 和当前频道关联在一起的其他数据的PID(如数字广播,数据通讯等使用的PID)

假如要选择其中一个Video和Audio收看,只需要把要收看的节目的Video PID和Audio PID保存起来,在处理Packet的时候进行过滤即可实现

【一个PAT包含该TS流中的所有节目,一个PMT包含一个频道中的所有节目】

4、SDT表是什么?

SDT将节目名称和PID对应起来,这样用户可以通过直接选择节目名称来选择节目了


解析TS流的步骤

(1)机顶盒调整高频头到一个固定的频率(如498MHZ),如果此频率有数字信号,则COFDM芯片(如MT352)会自动把TS流数据传送给MPEG-2 Decoder

(2)MPEG-2 Decoder循环查找是否出现PID== 0x0000的Packet,如果出现了,则马上进入分析PAT的处理,获取所有PMT的PID

(3)接着循环查找是否出现PMT,如果发现了,则自动进入PMT分析,获取该频段所有的节目数据并保存。

(4)如果没有发现PAT或者没有发现PMT,说明该频段没有信号,进入下一个频率扫描

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值