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, 0x01, 0x05, 0x00, 0x00, 0x00, 0x09};
FLV头后面第一个prevTagSize始终为0
===========File Body==========
FLV header之后,就是File Body.FLV File Body是由一连串的PreviousTagSize + tags构成. PreviousTagSize就是4个字节数据大小,表示前一个tag的size.
==========FLV Tag=====
FLV文件中的数据都是由一个个TAG组成,TAG里面的数据可能是video、audio、scripts.