當前位置:編程學習大全網 - 源碼下載 - RTMP 視頻數據格式

RTMP 視頻數據格式

RTMP視頻流格式與FLV很相似,通過查看FLV的格式文檔,就能夠知道RTMP視頻數據應該怎麽拼接。

RTMP中的數據就是由FLV的TAG中的數據區構成。

壹般情況下,組裝的RTMPPacket(RTMPDump中的結構體)為:

NALU就是NAL UNIT,nal單元。NAL全稱Network Abstract Layer, 即網絡抽象層,H.264在網絡上傳輸的結構。壹幀圖片經過 H.264 編碼器之後,就被編碼為壹個或多個片(slice),而裝載著這些片(slice)的載體,就是 NALU 了 。

? 我們通過x264編碼獲得壹組或者多組 x264_nal_t 。結合RTMP,我們需要區分的是SPS、PPS、關鍵幀與普通幀:

壹段h264視頻由N組GOP(group of picture)組成,GOP指的就是畫面組,壹個GOP是壹組連續的畫面 。之前的學習中我們知道I幀能夠獨立解碼,而P、B需要參考其他幀。

屬於I幀的子集,有壹種特殊的I幀,被稱之為IDR幀,IDR幀的作用為即時刷新。

上面的這張圖片描述的是2組GOP。其他I幀與IDR幀的區別就在於:刷新。當解碼器解碼幀5的時候,可以跨過幀4參考到幀3,普通I幀不會導致解碼器的解碼信息數據刷新。而IDR幀則會刷新解碼需要的SPS、PPS數據,所以幀8不可能跨幀7參考解碼。

往RTMP包中填充的是H.264數據,但不是直接將x264編碼出來的數據填充進去。

壹段包含了N個圖像的H.264裸數據,每個NAL之間由:00 00 00 01 或者 00 00 01進行分割。

在分割符之後的第壹個字節,就是表示這個nal的類型。

即為上面的

在將數據加入RTMPPacket的時候是需要去除分割符的。

  • 上一篇:135均線戰法買賣點經典口訣
  • 下一篇:豬肉燉粉條好吃味道好,怎麽做才能壹大碗米飯都不夠吃?
  • copyright 2024編程學習大全網