因?yàn)楣ぷ餍枰坏貌谎芯康讓覶S結(jié)構(gòu),難受,哎番宁,,赖阻,蝶押,
TS流 系列日記,持續(xù)更新中.....
TS流 系列日記(1)TS流的基本概念
TS流 系列日記(2)TS流的表那些事
TS流 系列日記(3)TS流的PSI/SI 深入學(xué)習(xí)
這一章主要介紹TS流的基本概念
ts文件分為三層:ts層(Transport Stream)、pes層(Packet Elemental Stream)政供、es層(Elementary Stream)播聪。es層就是音視頻數(shù)據(jù),pes層是在音視頻數(shù)據(jù)上加了時(shí)間戳等對(duì)數(shù)據(jù)幀的說(shuō)明信息布隔,ts層是在pes層上加入了數(shù)據(jù)流識(shí)別和傳輸?shù)谋匾畔ⅰ?/p>
ts包的認(rèn)識(shí)(一般拿188包的說(shuō)事兒):
ts流包的大小可能分為188和204字節(jié)的包(我認(rèn)為是204字節(jié)是調(diào)制出來(lái)的包;204個(gè)字節(jié)稼虎,在188個(gè)字節(jié)后加上了16字節(jié)的CRC校驗(yàn)數(shù)據(jù))衅檀;TS文件判斷的方法一般為前5個(gè)包都是188字節(jié)(0x47開(kāi)頭,2..5*188都是0x47)霎俩,則認(rèn)為是包大小為188字節(jié)哀军。
-
TS包結(jié)構(gòu)杉适,4個(gè)字節(jié)的ts包頭,184字節(jié)內(nèi)容(包數(shù)據(jù))柳击;Packet Header(包頭)主要告訴唯一網(wǎng)絡(luò)標(biāo)識(shí)符PID猿推;而在Packet Data(包數(shù)據(jù))中會(huì)給出數(shù)據(jù),并且給出table-id捌肴。
image
PID是TS流中唯一識(shí)別標(biāo)志蹬叭,Packet Data是什么內(nèi)容就是由PID決定的骂因。如果一個(gè)TS流中的一個(gè)Packet的Packet Header中的PID是0x0000柠逞,那么這個(gè)Packet的Packet Data就是DVB的PAT表而非其他類型數(shù)據(jù)(如Video、Audio或其他業(yè)務(wù)信息)聂受。下表給出了一些表的PID值饥悴,這些值是固定的坦喘,不允許用于更改盲再。
PSI/SI表的構(gòu)成是:一個(gè)表由一個(gè)或多個(gè)子表構(gòu)成,表用table_id來(lái)標(biāo)識(shí)瓣铣;不同的子表由table_id和table_id_extension來(lái)區(qū)分(具有相同的table_id和不同的table_id_extension)答朋;一個(gè)子表由一個(gè)或多個(gè)段構(gòu)成(具有相同的table_id和table_id_extension,不同section_number來(lái)區(qū)分)坯沪;每個(gè)段由多個(gè)TS數(shù)據(jù)包的數(shù)據(jù)組成绿映。每個(gè)段具有一個(gè)完整的數(shù)據(jù)結(jié)構(gòu),表的重要參數(shù)----描述符在段里傳送腐晾。
PSI:(ProgramSpecial Information)節(jié)目專用信息表叉弦。
PSI:PAT,PMT,CAT,NIT四種
PSI信息由節(jié)目關(guān)聯(lián)表PAT、條件接收表CAT藻糖、節(jié)目映射表PMT組成淹冰。PSI信息用來(lái)描述TS的組成結(jié)構(gòu);PSI提供了在傳送流包中傳送節(jié)目的初始化信息巨柒,信息指定了如何從一個(gè)攜帶多個(gè)節(jié)目的傳輸流中找到指定的節(jié)目
SI:Service Information.業(yè)務(wù)信息表
SI:SDT/BAT,EIT,TDT/TOT,ST,SIT,DIT,RST九種
SI信息內(nèi)容是按照network(網(wǎng)絡(luò))→transport strem(傳輸流)→service(業(yè)務(wù))→event(事件)的分層順序描述樱拴。SI數(shù)據(jù)信息是按照一定的數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)的。SI數(shù)據(jù)主要有:網(wǎng)絡(luò)信息洋满、傳輸流信息晶乔、業(yè)務(wù)信息、業(yè)務(wù)的事件信息等牺勾,并且大量的信息都是通過(guò)描述符來(lái)傳輸?shù)摹?/p>