H.264/AVC編碼的FLV文件的第二個Tag: AVCDecoderConfigurationRecord

AVCDecoderConfigurationRecordAVC Sequence Header
對于H.264/AVC編碼格式的FLV文件,onMetaData是第一個Tag,之后的第二個Tag就是AVCDecoderConfigurationRecord, 也是第一個Video Tag, 在FLV文件中一般情況也是出現(xiàn)1次。

**AVCDecoderConfigurationRecord in ISO/IEC 14496-15:2004(E)**

AVCDecoderConfigurationRecord包含H.264解碼相關(guān)比較重要的sps和pps信息。

  • 在給AVC解碼器送數(shù)據(jù)流之前一定要把sps和pps信息送出否則的話解碼器不能正常解碼。
  • 而且在解碼器stop之后再次start之前,如seek、快進(jìn)快退狀態(tài)切換等,須重新送一遍sps和pps的信息。

FLV文件中的AVCDecoderConfigurationRecord

找了一個視頻編碼格式為H.264/AVC的文件來分析:


**AVCDecoderConfigurationRecord舉例**

00 00 00 09:
onMetaData結(jié)束的標(biāo)志.

**00 00 01 66 **:
4個字節(jié)的PreviousTagSize1,即上個Tag的大小(包括Tag HeaderTag Data),也就是onMetaData的大小。

09 00 00 2b 00 00 00 00 00 00 00:
即11個字節(jié)的FLV Tag Header。

FLV Tag

首個字節(jié)的0x09表明該TagVideo Tag。

17 00 00 00 00:
VideoTagHeader, 編碼格式為AVC時,該Header長度為5。

VideoTagHeader in Adobe Flash Video File Format Specification Version 10.1
**VideoTagHeader**

首個字節(jié)0x17含義如下:

  • 1: key frame(for AVC, a seekable frame)
  • 7: AVC

0x17之后的那個字節(jié)表明: AVPacketType:

  • 0x00: AVC Sequence header
  • 0x01: AVC NALU
  • 0x02: AVC end of sequence(lower level NALU sequence ender is not required or supported)

接下來就是AVCDecoderConfigurationRecord了。

**AVCDecoderConfigurationRecord in ISO/IEC 14496-15:2004(E)**

**AVCDecoderConfigurationRecord**

01 42 c0 1e ff e1:
需要注意的是第2個字節(jié): 0x42,即十進(jìn)制的66 (Baseline Profile)。
6個字節(jié)0xe1, 它的后5位表示SPS的數(shù)目,0xe1的后5位就是0 0001,即1,說明存在一個SPS。
00 17:
表明SPS的數(shù)據(jù)長度,0x00 0x17,即23個字節(jié),表明其后的23個字節(jié)都是SPS。

SPS

SPS一般以0x67開頭(也可以是0x27等,首個字節(jié)的后5位表明該NALU的類型)。

01 00 04 68 cb 8c b2:

PPS

01: 表明PPS的數(shù)目。
00 04: 表明PPS的數(shù)據(jù)長度。
68 cb 8c b2: PPS, 一般以0x68開頭。

至此,AVCDecoderConfigurationRecord結(jié)束。

References:

Information technology — Coding of audio-visual objects — Part 15:
Advanced Video Coding (AVC) file format

http://www.360doc.com/content/12/1212/15/4550476_253606537.shtml

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容