h264 I帧的判断
生活随笔
收集整理的這篇文章主要介紹了
h264 I帧的判断
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
From:http://blog.csdn.net/dxpqxb/article/details/13289205
H264數(shù)據(jù)的NALU 頭的格式如圖2 所示:
??????? F:forbidden_zero_bit.1 位,如果有語(yǔ)法沖突,則為 1。當(dāng)網(wǎng)絡(luò)識(shí)別此單元存在比特錯(cuò)誤時(shí),可將其設(shè)為 1,以便接收方丟掉該單元。?
??????? NRI:nal_ref_idc.2 位,用來(lái)指示該NALU 的重要性等級(jí)。值越大,表示當(dāng)前NALU越重要。具體大于0 時(shí)取何值,沒(méi)有具體規(guī)定。 ?Type:5 位,指出NALU 的類型。具體如表1 所示:
????? 需要特別指出的是,NRI 值為 7 和 8 的NALU 分別為序列參數(shù)集(sps)和圖像參數(shù)集(pps)。參數(shù)集是一組很少改變的,為大量VCL NALU 提供解碼信息的數(shù)據(jù)。其中序列參數(shù)集作用于一系列連續(xù)的編碼圖像,而圖像參數(shù)集作用于編碼視頻序列中一個(gè)或多個(gè)獨(dú)立的圖像。如果*沒(méi)能正確接收到這兩個(gè)參數(shù)集,那么其他NALU?也是無(wú)法解碼的。因此它們一般在發(fā)送其它 NALU?之前發(fā)送,并且使用不同的信道或者更加可靠的傳輸協(xié)議(如TCP)進(jìn)行傳輸,也可以重復(fù)傳輸。 ? 判斷nal_unit_type是否為5、7、8、2,是則可認(rèn)為是I幀,代碼如下: static bool isH264iFrame(byte[] paket) { int RTPHeaderBytes = 0; int nal_type = paket[RTPHeaderBytes + 1] & 0x1F;? if (nal_type == 5 || nal_type == 7 || nal_type == 8|| nal_type == 2) { return true; } return false; }
總結(jié)
以上是生活随笔為你收集整理的h264 I帧的判断的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: RTP传输H264时的sps和pps的获
- 下一篇: 使用keepalived实现双机热备