1. 程式人生 > >h264檢測是I幀還是P幀

h264檢測是I幀還是P幀

轉載請註明出處!

今天在網上找了一些資料,知道了如何檢測h264中的幀型別,在這裡記錄下來。

首先,貼出nal單元型別定義(圖從《新一代視訊壓縮編碼標準H.264》摘錄):


假設一段h264的碼流為:00 00 00 01 41 E6 60……

其中的00 00 00 01為起始碼,而起始碼之後的下一個位元組就可以檢測出這一幀的型別。

在上面的碼流中起始碼之後的位元組位 0x41,換算成二進位制為 0100 0001。

注:我解讀順序為從左往右算。

(1)第1位禁止位,值為1表示語法出錯

(2)第2~3位為參考級別

(3)第4~8為是nal單元型別,在此處為 0 0001換算成十進位制為1。根據上圖可知道這段碼流是【不分割槽、非IDR影象的片】,在baseline的檔次中就是P幀,因為baseline沒有B幀。

如果是另一段碼流:00 00 00 01 65 E8……

那麼根據0x65位元組(0110 0101)根據後5位換算十進位制為5,也就是【IDR影象中的片】,即I幀。

用程式碼的方式可以這樣寫,int type = 0x65 & 0x1f,然後根據type在表中查詢即可獲得需要的結果。

相關推薦

h264檢測I還是P

轉載請註明出處! 今天在網上找了一些資料,知道了如何檢測h264中的幀型別,在這裡記錄下來。 首先,貼出nal單元型別定義(圖從《新一代視訊壓縮編碼標準H.264》摘錄): 假設一段h264的

h264檢測I還是P,解決錄影第一有馬賽克問題

最近使用h264碼流資料進行錄影,但是錄出來的第一幀有馬賽克,究其原因是錄影的第一幀不是關鍵幀,所以需要錄影是需要判斷第一幀是否是關鍵幀,方法有兩種,第一種是原碼流的基礎上查詢,第二種是將原碼流傳遞給ffmpeg讓ffmpeg判斷key_frame,第二種相對簡單,但是由

h264 IP和B的特點

 I幀:幀內編碼幀I幀特點:1.它是一個全幀壓縮編碼幀。它將全幀影象資訊進行JPEG壓縮編碼及傳輸;2.解碼時僅用I幀的資料就可重構完整影象;3.I幀描述了影象背景和運動主體的詳情;4.I幀不需要參考其他畫面而生成;5.I幀是P幀和B幀的參考幀(其質量直接影響到同組中以後各幀

如何判斷h264碼流中的IP

如何判斷碼流中的I幀和P幀 if(pData[i] == 0 && pData[i+1] == 0 && pData[i+2] == 0 &&

I、BP、NALU類型

nts 2個 ane 少包 最大 組成 歐洲 參數 運動 i幀 i frame,即內部畫面 intra picture,通常是GOP的第一個幀(即IDR)I幀是最大去除圖像空間冗余信息而壓縮得到的幀,自帶全部信息,不參考其他幀可獨立解碼,稱為幀內編碼幀所有視頻至少包含一個I

H.264中I、BP、NALU型別,塊,巨集塊,片,影象的關係

參考:http://blog.csdn.net/ivy_reny/article/details/47144121 http://blog.csdn.net/wanggp_2007/article/details/4842839 http://blog.sina.com.cn/s/blog_

圖解 I,B以及P

I‑frame (Intra-coded picture): 即完整的一張圖片 P‑frame (Predicted picture): 與前面一張圖片的區別的區域 B‑frame (Bidirectional predicted picture):與前面以及後面的圖片的區別區域

IP、B,以及PTS、DTS的關係

在MPEG編碼的過程中,部分視訊幀序列壓縮成為I幀,部分壓縮成P幀,還有部分壓縮成B幀。I幀法是幀內壓縮法,也稱為“關鍵幀”壓縮法。 I幀法是基本離散餘弦變換 DCT( Discrete Cosine Transform )的壓縮技術,這種演算法與JPEG壓縮演算法類似。J

[視訊編碼] 視訊編碼的三種I,BP

在視訊壓縮編碼中,所有的幀被分成了三個種類,I幀,B幀和P幀,其實就是Intra-Prediction幀,Bi-prediction幀和Prediction幀。顧名思義,就是幀內預測幀,雙向預測幀以及(單向)預測幀。 每一幀,都是一張靜止的圖片,在HEVC或者

關於H264I,P的判斷

from:http://www.ebaina.com/bbs/thread-4190-1-1.html 在網上找了一下,但是不是很確定所以來問問各位大神下面兩種方法哪種是對的呢:-----------------------自己的簡單總結:判斷00 00 00 01後面的1

H264--1--編碼原理以及IBP

        在H264中影象以序列為單位進行組織,一個序列是一段影象編碼後的資料流,以I幀開始,到下一個I幀結束。         一個序列的第一個影象叫做 IDR 影象(立即重新整理影象),IDR 影象都是 I 幀影象。H.264 引入 IDR 影象是為了解碼的重同步

(一)H264編碼原理以及IBP

 ---------------------- 前言 -----------------------        H264是新一代的編碼標準,以高壓縮高質量和支援多種網路的流媒體傳輸著稱,在編碼方面,我理解的他的理論依據是:參照一段時間內影象的統計結果表明,在相鄰幾幅

H264編碼基本原理以及IBP的概念

前言        H264是新一代的編碼標準,以高壓縮高質量和支援多種網路的流媒體傳輸著稱。 在編碼方面,我理解的他的理論依據是:參照一段時間內影象的統計結果表明,在相鄰幾幅影象畫面中,一般有差

H264--1--編碼原理以及IBP(1)

-----------------------        H264是新一代的編碼標準,以高壓縮高質量和支援多種網路的流媒體傳輸著稱,在編碼方面,我理解的他的理論依據是:參照一段時間內影象的統計結果表明,在相鄰幾幅影象畫面中,一般有差別的畫素只有10%以內的點,亮度差值變化不超過2%,而色度差值的變化

H264編碼原理以及IPB

前言            H264是新一代的編碼標準,以高壓縮高質量和支援多種網路的流媒體傳輸著稱,在編碼方面,我理解的他的理論依據是:參照一段時間內影象的統計結果表明,在相鄰幾幅影象畫面中,一般有差別的畫素只有10%以內的點,亮度差值變化不超過2%,而色度差值的變化只有

H264:I B p IDR的區別

IDR(Instantaneous Decoding Refresh)--即時解碼重新整理。 I幀:幀內編碼幀是一種自帶全部資訊的獨立幀,無需參考其它影象便可獨立進行解碼,視訊序列中的第一個幀始終都是I幀。 I和IDR幀都是使用幀內預測的。它們都是同一個東西而已,在編碼和解碼

【轉】 H.264編碼原理以及IBP

獨立 像素 疊加 提高 oss 解壓 防止 相同 大小 轉自:http://www.cnblogs.com/herenzhiming/articles/5106178.html 前言 ----------------------- H264是新一代的編碼標準,

H.264編碼原理以及IBP

H264是新一代的編碼標準,以高壓縮高質量和支援多種網路的流媒體傳輸著稱,在編碼方面,我理解的他的理論依據是:參照一段時間內影象的統計結果表明,在相鄰幾幅影象畫面中, 一般有差別的畫素只有10%以內的點,亮度差值變化不超過2%,而色度差值的變化只有1%

H264I和IDR的區別

IDR(Instantaneous Decoding Refresh)--即時解碼重新整理。       I和IDR幀都是使用幀內預測的。它們都是同一個東西而已,在編碼和解碼中為了方便,要首個I幀和其他I幀區別開,所以才把第一個首個I幀叫IDR,

影象和流媒體 -- I ,B,P,IDR的區別

一、H246簡介    H264是新一代的編碼標準,以高壓縮高質量和支援多種網路的流媒體傳輸著稱,在編碼方面,我理解的他的理論依據是:參照一段時間內影象的統計結果表明,在相鄰幾幅影象畫面中,一般有差別的