flv头 FLV header

总体上看,FLV包括文件头(File Header)和文件体(File Body)两部分,其中文件体由一系列的Tag组成。
Signature: FLV 文件的前3个字节为固定的‘F’‘L’‘V’,用来标识这个文件是flv格式的.在做格式探测的时候,如果发现前3个字节为“FLV”,就认为它是flv文件.
Version: 第4个字节表示flv版本号.
Flags: 第5个字节中的第0位和第2位,分别表示 video 与 audio 存在的情况.(1表示存在,0表示不存在)
如果都存在,值为5
DataOffset : 最后4个字节表示FLV header 长度.
综上,一共9个字节
unsigned char flvHeaderTag[9] = {0x46, 0x4C, 0x56, 00 05 68 E9 23 ; gM@.朣..J ...h? 
00000150h: 88 00 00 00 00 2A 08 00 00 52 00 00 00 00 00 00 ; ?...*...R......
根据定义:
·        configurationVersion = 01
·        AVCProfileIndication = 4D
·        profile_compatibility = 40
·        AVCLevelIndication = 15
 
·        lengthSizeMinusOne = FF <- 非常重要,是 H.264 视频中 NALU 的长度,计算方法是 1 + (lengthSizeMinusOne & 3) 计算结果为4
·        numOfSequenceParameterSets = E1 <- SPS 的个数,计算方法是 numOfSequenceParameterSets & 0x1F 计算结果为1
·        sequenceParameterSetLength = 00 0A <- SPS 的长度
·        sequenceParameterSetNALUnits = 67 4D 40 15 96 53 01 00 4A 20 <- SPS数据
·        numOfPictureParameterSets = 01 <- PPS 的个数
·        pictureParameterSetLength = 00 05 <- PPS 的长度
·        pictureParameterSetNALUnits = 68 E9 23 88 00 <- PPS数据