本文主要是介绍FLV 文件格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
FLV 总体结构
FLV 文件由 FLV文件头(FLV Header)
和 FLV文件体(FLV Body)
组成。
FLV 文件体由若干级联的 FLV标签(FLV Tag)
组成。标签使用一个 PreviousTagSize
(uint32_t)来保存前一个 FLV 标签的大小,第一个 PreviousTagSize 值为0。
一个 FLV 文件中的所有数据,如 视频头信息
、音频流数据
和视频流数据
等都封装在不同类型的 FLV 标签中,并且在同一个 FLV 文件中保存或传输。
FLV 文件头
前 3Byte,uint8_t 形式保存 0x46、0x4C 和 0x56,即F、L和V的ASCII码。后面一个 uint8_t 值表示 FLV 文件版本。
FLV文件头的第 5 Byte中,最低位 (Video Flag)
和倒数第三位 (Audio Flag)
分别为 视频 Tag 标识位
和 音频 Tag 标识位
,其余位均为0。Video Flag 为1时,文件存在视频 Tag;Audio Flag 为1时,文件中存在音频 Tag。FLV文件头的最后,用 4 Byte 表示整个 FLV 文件头的长度,如 FLV Version 1,该值通常为9。
FLV 标签
FLV 标签 都由 FLV标签头部信息(FLV Tag Header)
和 FLV标签载荷数据(FLV Tag Playload)
这篇关于FLV 文件格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!