關(guān)于ES、PES、PS以及TS碼流

一、基本概念

**1)ES **

ES--Elementary Streams (原始流)是直接從編碼器出來(lái)的數(shù)據(jù)流,可以是編碼過(guò)的視頻數(shù)據(jù)流(H.264,MJPEG等),音頻數(shù)據(jù)流(AAC),或其他編碼數(shù)據(jù)流的統(tǒng)稱。ES流經(jīng)過(guò)PES打包器之后,被轉(zhuǎn)換成PES包。

ES是只包含一種內(nèi)容的數(shù)據(jù)流,如只含視頻或只含音頻等,打包之后的PES也是只含一種性質(zhì)的ES,如只含視頻ES的PES,只含音頻ES的PES等。每個(gè)ES都由若干個(gè)**存取單元(AU)**組成,每個(gè)視頻AU或音頻AU都是由頭部和編碼數(shù)據(jù)兩部分組成,1個(gè)AU相當(dāng)于編碼的1幅視頻圖像或1個(gè)音頻幀,也可以說(shuō),每個(gè)AU實(shí)際上是編碼數(shù)據(jù)流的顯示單元,即相當(dāng)于解碼的1幅視頻圖像或1個(gè)音頻幀的取樣。

2)PES

** PES--Packetized Elementary Streams (分組的ES),**ES形成的分組稱為PES分組,是用來(lái)傳遞ES的一種數(shù)據(jù)結(jié)構(gòu)。PES流是ES流經(jīng)過(guò)PES打包器處理后形成的數(shù)據(jù)流,在這個(gè)過(guò)程中完成了將ES流分組、打包、加入包頭信息等操作(對(duì)ES流的第一次打包)。PES流的基本單位是PES包。PES包由包頭和payload組成。

3)PTS、DTS

PTS--PresentationTime Stamp(顯示時(shí)間標(biāo)記)表示顯示單元出現(xiàn)在系統(tǒng)目標(biāo)解碼器(H.264、MJPEG等)的時(shí)間。

DTS--Decoding Time Stamp(解碼時(shí)間標(biāo)記)表示將存取單元全部字節(jié)從解碼緩存器移走的時(shí)間。

PTS/DTS是打在PES包的包頭里面的,這兩個(gè)參數(shù)是解決音視頻同步顯示,防止解碼器輸入緩存上溢或下溢的關(guān)鍵。每一個(gè)I(關(guān)鍵幀)、P(預(yù)測(cè)幀)、B(雙向預(yù)測(cè) 幀)幀的包頭都有一個(gè)PTS和DTS,但PTS與DTS對(duì)于B幀不一樣,無(wú)需標(biāo)出B幀的DTS,對(duì)于I幀和P幀,顯示前一定要存儲(chǔ)于視頻解碼器的重新排序緩存器中,經(jīng)過(guò)延遲(重新排序)后再顯示,所以一定要分別標(biāo)明PTS和DTS。

4)PS

PS--Program Stream(節(jié)目流)PS流由PS包組成,而一個(gè)PS包又由若干個(gè)PES包組成(到這里,ES經(jīng)過(guò)了兩層的封裝)。PS包的包頭中包含了同步信息與時(shí)鐘恢復(fù)信息。一個(gè)PS包最多可包含具有同一時(shí)鐘基準(zhǔn)的16個(gè)視頻PES包和32個(gè)音頻PES包。

5)TS

**TS--Transport Stream(傳輸流)**由定長(zhǎng)的TS包組成(188字節(jié)),而TS包是對(duì)PES包的一個(gè)重新封裝(到這里,ES也經(jīng)過(guò)了兩層的封裝)。PES包的包頭信息依然存在于TS包中。

TS流與PS流的**區(qū)別**在于TS流的包結(jié)構(gòu)是固定長(zhǎng)度的,而PS流的包結(jié)構(gòu)是可變長(zhǎng)度的。PS包由于長(zhǎng)度是變化的,一旦丟失某一PS包的同步信息,接收機(jī)就會(huì)進(jìn)入失步狀態(tài),從而導(dǎo)致嚴(yán)重的信息丟失事件。而TS碼流由于采用了固定長(zhǎng)度的包結(jié)構(gòu),當(dāng)傳輸誤碼破壞了某一TS包的同步信息時(shí),接收機(jī)可在固定的位置檢測(cè)它后面包中的同步信息,從而恢復(fù)同步,避免了信息丟失。因此在信道環(huán)境較為惡劣、傳輸誤碼較高時(shí)一般采用TS碼流,而在信環(huán)境較好、傳輸誤碼較低時(shí)一般采用PS碼流。

6)TS單一碼流、混合碼流

單一性:TS流的基本組成單位是長(zhǎng)度為188字節(jié)的TS包。

混合性: TS流由多種數(shù)據(jù)組合而成,一個(gè)TS包中的數(shù)據(jù)可以是視頻數(shù)據(jù),音頻數(shù)據(jù),填充數(shù)據(jù),PSI/SI表格數(shù)據(jù)等(唯一的PID對(duì)應(yīng))。

二、基本流程

image.png

1)A/D轉(zhuǎn)換后,通過(guò)MPEG-2壓縮編碼得到的ES基本流。這個(gè)數(shù)據(jù)流很大,并且只是I,P,B的這些視頻幀或音頻取樣信息。

2)通過(guò)PES打包器,打包并在每個(gè)幀中插入 PTS/DTS標(biāo)志,變成PES。原來(lái)是流的格式,現(xiàn)在成了數(shù)據(jù)包的分割形式。

3)PES根據(jù)需要打包成PS或TS包進(jìn)行存儲(chǔ)(DVD)或傳輸(DVB)。因每路音/視頻只包含一路的編碼數(shù)據(jù)流,所以每路PES也只包含相應(yīng)的數(shù)據(jù)流。

附:

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 參考【PSI/SI學(xué)習(xí)系列】第一章:預(yù)備知識(shí)【PSI/SI學(xué)習(xí)系列】第二章:從TS到PAT和PMT 最近開(kāi)始學(xué)習(xí)數(shù)...
    合肥黑閱讀 6,765評(píng)論 0 6
  • 一、TS HEADER 參考TS科普 2 包頭TS流格式學(xué)習(xí)Ts流解析中難點(diǎn)說(shuō)明百度文庫(kù) 最直白明了的TS流分析 ...
    合肥黑閱讀 4,873評(píng)論 0 2
  • 做這個(gè)東西很久了,從去年十二月份開(kāi)始的,快5個(gè)月了。。。期間因?yàn)楣ぷ饕恢睌鄶嗬m(xù)續(xù),直到最近才有了些進(jìn)展,也就到此為...
    0_0啊閱讀 12,829評(píng)論 1 13
  • HLS協(xié)議及TS封裝 一、HLS協(xié)議 HLS協(xié)議由蘋(píng)果公司提出并推廣,來(lái)自維基百科的定義。 HTTP Live S...
    O2Space_Xiu閱讀 15,124評(píng)論 2 16
  • 好久沒(méi)有碼字了。 前陣子被前任3刷屏。為什么刷屏?無(wú)外乎都是關(guān)于前任。但是這部電影主旨不是讓你找回前任,而是讓你好...
    Hannah_Mon閱讀 280評(píng)論 0 0

友情鏈接更多精彩內(nèi)容