天天看點

關于ES、PES、PS以及TS碼流

一、根蒂根基概念

勞動一日,可得一夜的安眠;勤奮平生,可得幸福的長眠。

青年是全部社會力量中的一項目組最積極最有朝氣的力量。他們最肯進修,起碼保守思惟,在社會主義時代尤其是如許。

1)ES  

   ES--Elementary  Streams  (原始流)是直接從編碼器出來的資料流,可是以編碼過的視訊資料流(H.264,MJPEG等),音頻資料流(AAC),或其他編碼資料流的統稱。ES流經過PES打包器之後,被轉換成PES包。

    ES是隻包含一種内容的資料流,如隻含視訊或隻含音頻等,打包之後的PES也是隻含一種性質的ES,如隻含視訊ES的PES,隻含音頻ES的PES等。每個ES都由若幹個存取機關(AU)構成,每個視訊AU或音頻AU都是由頭部和編碼資料兩項目組構成,1個AU相當于編碼的1幅視訊圖像或1個音頻幀,也可以說,每個AU實際上是編碼資料流的顯示機關,即相當于解碼的1幅視訊圖像或1個音頻幀的取樣。

2)PES

    PES--Packetized  Elementary Streams  (分組的ES),ES形成的分組稱為PES分組,是用來傳遞ES的一種資料布局。PES流是ES流經過PES打包器處理懲罰後形成的資料流,在這個過程中完成了将ES流分組、打包、參加標頭資訊等操縱(對ES流的第一次打包)。PES流的根蒂根基機關是PES包。PES包由標頭和payload構成。

3)PTS、DTS

   PTS--PresentationTime Stamp(顯示時候辨別表記标幟)默示顯示機關呈如今體系目标(H.264、MJPEG等)的時候。

   DTS--Decoding Time Stamp(解碼時候辨別表記标幟)默示将存取機關全部位元組從解碼緩存器移走的時候。

   PTS/DTS是打在PES包的標頭裡面的,這兩個參數是解決音視訊同步顯示,防止輸入緩存上溢或下溢的關鍵。每一個I(關鍵幀)、P(猜測 幀)、B(雙向猜測 幀)幀的標頭都有一個PTS和DTS,但PTS與DTS對于B幀不一樣,無需标出B幀的DTS,對于I幀和P幀,顯示前必然要存儲于視訊的從頭排序緩存器 中,經過延遲(從頭排序)後再顯示,是以必然要分别标明PTS和DTS。

4)PS

   PS--Program Stream(節目流)PS流由PS包構成,而一個PS包又由若幹個PES包構成(到這裡,ES經過了兩層的封裝)。PS包的標頭中包含了同步資訊與時鐘恢複資訊。一個PS包最多可包含具有同一時鐘基準的16個視訊PES包和32個音頻PES包。

5)TS

    TS--Transport Stream(傳輸流)由定長的TS包構成(188位元組),而TS包是對PES包的一個從頭封裝(到這裡,ES也經過了兩層的封裝)。PES包的標頭資訊依然存在于TS包中。

    TS流與PS流的差别在于TS流的包布局是固定長度的,而PS流的包布局是可變長度的。 PS包因為長度是變更的,一旦喪失某一PS包的同步資訊,接管機就會進入失步狀況,進而導緻嚴重的資訊損出事務。而TS碼流因為采取了固定長度的包布局, 當傳輸誤碼破損了某一TS包的同步資訊時,接管機可在固定的地位檢測它後面包中的同步資訊,進而恢複同步,避免了資訊喪失。是以在信道景象較為惡劣、傳輸 誤碼較高時一般采取TS碼流,而在信景象較好、傳輸誤碼較低時一般采取PS碼流。

6)TS單流、混淆碼流

  單一性:TS流的根蒂根基構成機關是長度為188位元組的TS包。

  混淆性: TS流由多種資料組合而成,一個TS包中的資料可是以視訊資料,音頻資料,填充資料,PSI/SI表格資料等(獨一的PID對應)。

二、基本的流程

關于ES、PES、PS以及TS碼流

1)A/D轉換後,通過MPEG-2壓縮編碼得到的ES基本流。這個資料流很大,并且隻是I,P,B的這些視訊幀或音頻取樣資訊。

2)通過PES打包器,打包并在每個幀中插入 PTS/DTS标志,變成PES。原來是流的格式,現在成了資料包的分割形式。

3)PES根據需要打包成PS或TS包進行存儲(DVD)或傳輸(DVB)。因每路音/視訊隻包含一路的編碼資料流,是以每路PES也隻包含相應的資料流。

關于ES、PES、PS以及TS碼流