FLV Body的内容为多个Tag和Tag的长度组成。
即:
| PreviousTagSize0(32) | Tag1(PreviousTagSize1) |PreviousTagSize1(32) | Tag2 | ……| PreviousTagSizeN-1(32) | TagN(previousTagSizeN)| previousTagSizeN(32) |
PreviousTagSize0为0x00000000。
Tag为每一个内容,目前包括音频、视频、脚本。
previousTagSize为前一个Tag的长度。
PreviousTagSize0 : 一直为0 因为第一个tag前面只有头信息 故其一定为0 占用4个字节
Tag1 : tag数据
PreviousTagSize1 : Tag1 占用的字节数目
Tag2 : tag数据
PreviousTagSize2 : Tag2 占用的字节数目
.....
PreviousTagSizeN-1 : TagN-1占用的字节数目
TagN : tag数据
PreviousTagSizeN : tagN占用的字节数目
以下面为例分析:
FILE header: 占用9个字节 46 4C 56 01 05 00 00 00 09
PreviousTagSize0 :图中的Fitst Tag Size 占用4个字节 00 00 00 00 此字段一直为0
Tag1 : 图中12 00 01 74 ......00 00 00 09 占用383个字节
PreviousTagSize1 : 00 00 01 7F 值为:383 Tag1 占用的字节数目
Tag2:图中 09 00 00 30....E8 43 BC B0 占用59个字节
PreviousTagSize2 : 00 00 00 3B 值为:59 Tag2 占用的字节数目