【音视频】FLV封装格式

基本概念

文件头(Header)+文件体(Body)

在这里插入图片描述

flv文件头

主要是看signture和typeflags

在这里插入图片描述

flv文件体

重点:Tag包数据

在这里插入图片描述

Tag结构详细说明

在这里插入图片描述
注意:

  • 每个Tag的头字段DataSize只是该Tag下data部分的大小,不包括Tag的header部分的大小

音频 AudioTag Data

所在位置
在这里插入图片描述在这里插入图片描述

⾳频Tag Data区域开始:

  • 第⼀个字节包含了⾳频数据的参数信息
    在这里插入图片描述

  • 第⼆个字节以后为⾳频流数据
    在这里插入图片描述

视频 Video Tag Data

所在位置
在这里插入图片描述

在这里插入图片描述
视频Tag Data区域开始:

  • 第⼀个字节包含了视频数据的参数信息
    在这里插入图片描述

  • 第⼆个字节以后为视频流数据
    在这里插入图片描述

总结

时间戳存放位置

位置:
Timestamp:每一个Tag的头信息第5个字节-第7个字节,一共三个字节
TimestampExtended:还有一个扩展字节
一共4个字节

时间戳占4个字节 其中第四个字节是⾼位 前三个字节是低位(每个tag的5~8字节),毫秒级

数据存放位置

位置:
音频Tag Data:
	● 第⼀个字节包含了⾳频数据的参数信息,
	● 第⼆个字节开始为⾳频流数据。
视频Tag Data:
    ● 第⼀个字节包含视频数据的参数信息——帧类型4+编码器4
    ● 第⼆个字节开始为视频流数据

怎么区别 音频 视频数据

位置:
TagType

视频码流包序列

当前序列:
其中TS、flv⼀般按照编码顺序排列
编码顺序 I P P B B B......
对应帧号 0 1 5 3 2 4.......

猜你喜欢

转载自blog.csdn.net/qq_43537701/article/details/132913217