H.26x中SEI信息解讀(轉)

原文:https://www.jianshu.com/p/23d9ab930b49

作者:Li_Xianglin

來源:簡書

H.264 SEI

http://www.itu.int/rec/T-REC-H.264

 

NAL header

起始碼(暗紅底色)"0x00000001"分割出來的比特流即是NAL unit,起始碼緊跟的第一個字節(墨綠底色)是NAL header。上圖“NAL header”一共出現了四個數值:

    • "0x06",此時NRI爲"00B",NAL unit type爲SEI類型。
    • “0x67”,此時NRI爲“11B”,NAL unit type爲SPS類型。
    • “0x68”,此時NRI爲“11B”,NAL unit type爲PPS類型。
    • “0x65”,此時NRI爲“11B”,NAL unit type爲IDR圖像。

 

SEI payload type

"0x06"後一個字節爲“0x05”(淡黃底色)是SEI payload type,即表徵SEI payload分析遵循user_data_unregistered()語法。

在國標中。sei payload type爲5,爲自定義消息:如圖

 

SEI payload size

“0x05”後一個字節爲“0x2F”(淡藍底色)是SEI payload size,此時整個payload是47個字節。

  • SEI payload uuid

    "0x2F"隨後的16個字節即爲uuid,此時uuid爲:

    dc45e9bde6d948b7962cd820d923eeef
    
  • SEI payload content

    由於payload size是47個字節,除去16字節的uuid,剩下31個字節的content。由於content是字符串,所以有結束符"0x00",有效的30個字符內容是

    Zencoder Video Encoding System
    
  • rbsp trailing bits
    47個payload字節後的"0x80"(灰底色)即是rbsp trailing bits,在user_data_unregistered()裏面都是按字節寫入的,所以此時的NAL unit結尾寫入的字節一定是0x80。

 

H.265

http://www.itu.int/rec/T-REC-H.265

  1. H265一個圖像序列的組成:VPS+SPS+PPS+SEI+一個I幀+若干個P幀。VPS、SPS、PPS、SEI、一個I幀、一個P幀都可以稱爲一個NALU。

  2. H265的NALU結構:開始碼+NALU頭+NALU數據

    1. 開始碼大小爲四個字節,是一個固定值00 00 00 01(十六進制),標識一個NALU的開始。
    2. NALU頭大小爲兩個字節,共16位,第1位值爲0,第2-7位爲NALU的type位(共6位),標識當前NALU的類型,第8-15位值爲0,第16位值爲1。
    3. NALU數據爲編碼器編出來的圖像信息或圖像數據。
  3. 六種類型的NALU

    1. VPS(視頻參數集):NALU頭值爲0x40 01(十六進制),NALU頭type位值爲32(十進制)。
    2. SPS(序列參數集):NALU頭值爲0x42 01(十六進制),NALU頭type位值爲33(十進制)。
    3. PPS(圖像參數集):NALU頭值爲0x44 01(十六進制),NALU頭type位值爲34(十進制)。
    4. SEI(補充增強信息):NALU頭值爲0x4e 01(十六進制),NALU頭type位值爲39(十進制)。
    5. I幀:NALU頭值爲0x26 01(十六進制),NALU頭type位值爲19(十進制)。
    6. P幀:NALU頭值爲0x02 01(十六進制),NALU頭type位值爲1(十進制)。
  4. H265的NALU打包成RTP包的模式(下面是用到的兩種模式)

    1. 一個NALU打包成一個RTP包,只需要在一個12字節的RTP包頭後添加去掉開始碼的NALU即可(這種模式在一個NALU的大小小於MTU時使用)。
    2. 一個NALU打包成幾個RTP包(FUs模式),在12個字節的RTP頭後面有兩個字節的PayloadHdr和一個字節的FU header。PayloadHdr的值等於NALU頭的type位改爲49(十進制)後的值,FU header第1位標記RTP包是否爲NALU的第一片,第2位標記RTP包是否爲NALU的最後一片。後6位是NALU頭的type位。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章