各种数据流

一 、ES流:

也叫基本码流,包含视频、音频或数据的连续码流。

 

二、PES流:

也叫打包的基本码流,是将基本的码流ES流根据需要分成长度不等的数据包,并加上包头就形成了打包的基本码流PES流。

 

原始流分成很多PES分组,保持串行顺序,一个PES分组只包含一个原始流的编码数据。PES分组长度很大,最大可为64K字节。
PES分组分为“分组首部(header)”和“有效负载(payload)”。“有效负载”指跟随在首部字节之后的字节。首部的前4个字节构成分组的起始码,标识了该分组所属原始流的类型和ID号。

 

三、TS流:

也叫传输流,是由固定长度为188字节的包组成,含有独立时基的一个或多个节目,适用于误码较多的环境。

 

TS分组也就是传输流数据形成的数据包。每个TS分组长度为188字节,包括“分组首部”和“有效负载,前4个字节是分组首部,包含了这个分组的一些信息。有些情况下需要更多的信息时,需在后面添加“调整字段(adaption field)”。

 

http://blog.163.com/niuxiangshan@126/blog/static/170596595201402722959646/

 

四、gs流

由于DVB—S在带宽利用率以及调制编码方面的不足,在第二代数字卫星广播标准(the second generation of digital video broadcasting.satellite, DVB・S2) 中,

采用了更先进的调制编码方式,在兼容TS流的基础上,引入一种全新的码流,即通用流 (general stream,GS)。在相同的条件下,DVB.S2比DVB.S节省了约30%的带宽 。

 

概念:

协议数据单元(protocol data unit,PDU)

通用流封装(general stream en. capsulation,GSE)

 

根据基带帧:

MATYPE的首个字节(MATYPE.1)的TS/GS域,指示了传输流格式是Ts流或GS流,

SIS/MIS域指示了输入流是单输人还是多输入。SIS/MIS值为“l”,表示单输入流,

MATYPE的第2个字节(MATYPE.2)等于输入流标示符(inputstream identi.tier,IsI),不为“0”;

SIS/MIS值为“0”,表示多输入流,MATYPE.2为预留字节,值一般为“Ox00”。
UPL域表示用户包长度,单位是比特。UPL值为“0000。。。”,表示输入流是连续流,UPL值为“188X8。”,表示用户包是MPEG传输流包,包长为188字节。

 

IP数据的GS流的基带帧头部有以下特征:
(1)MATYPE.1的TS/GS值为二进制“01”;
(2)MATYPE一1的SIS/MIS值为“1”时,MATYPE-2字节不为“0”;SIS/MIS值为“0”时,MATYPE一2字节为“0x00”;
(3)UPL值为“0x0000”;
(4)DFL值被8整除,因为DFL域的第1个字节为高位字节,所以DFL域的第2个字节即低位字节也被8整除:
(5)CRC.8不对基带帧头部前9个字节进行错误校验。

若基带帧为GS流提取GSE header如下

 

(1)s域表明是起始分段,e域为结束分段

(2)lt为label_type类型:

值为“00”,label域为6字节,用于寻址,相当于以太网中的MAC地址;
LT值为“11”,表示同一个基带帧中先前的GSE包已经使用过的label可以再用,该GSE包头不再有label域,
也就是说,对于按顺序传输的具有相同label的GSE包,GSE包头的label域不需要重复出现。需要注意的
是,基带帧第1个GSE包的LT值不能为“11”,即基带帧的第1个GSE包不能为PDU中间分段所在的GSE包。

(3)gse_length: 该gse包大小

(4)total_length: 该pdu整段总长,第一分段出现

(5)protocol_type : 协议类型, 第一分段出现

(6)frag_id:用来指示该pdu段属于哪一个pdu

(7)CRC:pdu_end段出现用来进行crc校验

 

 

posted @ 2016-08-01 13:17  chencesc  阅读(3958)  评论(0编辑  收藏  举报