H264 NALU 使用PS封裝 RTP傳送

2021-06-17 00:57:28 字數 644 閱讀 6416

最近由於專案平台需求,要將h264 nalu封裝為ps再用rtp傳送,ps封裝按照iso dec-13818-1標準。乙個ps包包含ps header, pes header, ps system header, ps system map等。

針對h264做如下ps封裝:

1、每個idr nalu前一般都會包含sps、pps等nalu,因此將sps、pps、idr 的nalu封裝為乙個ps包,包括ps頭,然後加上ps system header,ps system map,pes header+h264 raw data。所以乙個idr nalu ps包由外到內順序是:ps header | ps system header | ps system map | pes header |  h264 raw data。

2、對於其它非關鍵幀的ps包,就簡單多了,直接加上ps頭和pes頭就可以了。順序為:ps header | pes header | h264 raw data。

還有就是用rtp協議傳送時,如果乙個ps包大於mtu時,會有分包問題。只需要簡單的分包傳送就可以了,但是同乙個ps包的時間戳是相同的,需要注意。

ps包=ps頭|pes(video)|pes(audio),再用rtp封裝傳送就可以了。

或者,加qq群(219128816)一起**流**方面的開發

H264Nalu頭部解析

一 nalu頭部解析 f forbidden zero bit.在 h.264 規範中規定了這一位必須為 0.nri nal ref idc.取00 11,似乎指示這個nalu的重要性,如00的nalu解碼器可以丟棄它而不影響影象的回放,0 3,取值越大,表示當前nal越重要,需要優先受到保護。如果...

h264 NALU的獲取與分析

0x00000001或0x000001是乙個nalu的起始標誌,遇到下乙個此標誌時為該nalu的結尾。起始標誌的後面第乙個位元組 type 裡包含有nalu的型別,type 0x1f即為該nalu的型別 nal unit type 具體型別分析詳見下節。nal unit type 7時,nalu為s...

RTP封裝H264詳解

nalu buff nal資料buff len nal資料長度 cnt 包數 max fu size 每包長度,一般1400 nalu type nal型別 cnt len max fu size 0 len max fu size len max fu size 1 nalu type buff ...