各種數據流


一 、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校驗

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM