H264有I、P、B三種幀;
Ps:h264標準並沒有提及I B P幀的概念,使我們自己簡稱出來的。
I幀:幀內編碼幀;
P幀:前向預測編碼幀;
B幀:雙向預測內插編碼幀;
不過一般對質量要求不高的編碼是不適用B幀的;
iPhone的硬編碼目前也僅有5s支持B幀——reordering
//聽說,因爲我沒有5s,所以不能完全肯定,不過可以肯定4s上裝ios7,硬編碼也不支持reordering——B幀!
H264的幀分爲三個類型:
I幀爲完全編碼的幀,供後面的幀參考,P幀爲參考前面的幀而生成的差異幀,B幀爲參考前面後面的幀而編碼的幀;
從幀的角度來看H264,那麼可以將一個視頻看稱由N組GOP序列組成的數據;
//GOP是Group of Pictures的簡寫,意思是一個圖像組。組與組之間互不相干,這樣才便於網絡視頻的實現,因爲網絡視頻可能是隨時開始的。
GOP的第一幀一定是一個I幀,這個I幀稱爲關鍵幀IDR,但是GOP並不只帶I幀的幀間隔,因爲GOP可能會包含有多個I幀;只有第一個I幀稱爲關鍵幀;
P幀是參考前面一幀編碼生成的差異幀,被參考的幀可能是I幀也可能是P幀;
B幀因爲要參考前後雙向的幀,(被參考的幀可能是I幀也可能是P幀),因此要編碼出帶有B幀的序列時,必須要有緩存,而不能像沒有B幀時那樣進一幀出一幀進行編碼了;
而且需要對幀序列進行重新排序;
更多h264的知識,還需要細化的學習;