flv 格式解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/glw0223/article/details/88285830

The FLV header

1byte 1byte 1byte 1byte 5bits 1bit 1bit 1bit 4bytes
F L V version 保留位 是否有音频 保留位 是否有视频 flv header的大小,通常是9字节
0x46 0x4c 0x56 0x01 必须是0 0:无;1:有 必须是0 0:无;1:有 0x 00 00 00 09
举个例子:

46 4c 56 01 04 00 00 00 09,说明这个flv文件,只有音频

The FLV file body

4bytes N bytes 4bytes N bytes 4bytes N bytes 4bytes
preTagSize0 tag1 tag2 tagN
0x 00 00 00 00,通常是0,前一个tag的字节大小,因为前面没有tag,所以是0字节 tag1的字节大小 tag2的字节大小 tagN的字节大小

FLV tags

1byte 3bytes 3bytes 1byte 3bytes N bytes
tag类型 data长度 时间戳 时间戳扩展 流ID 音频/视频/script数据对象
8:音频 9:视频 18:script数据对象 就是最后面的N bytes 单位毫秒 如果前面的时间戳不够,这里表示高八位 通常是0,即0x 00 00 00 根据前面的“tag类型”决定

也就是说一个flv tag的长度是11+N字节

举个例子

这是script数据对象
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/glw0223/article/details/88285830
FLV