走进音视频的世界——FLV视频封装格式

FLV全称为Flash Video,是一种流媒体视频格式。特点是体积小、封装简单、方便存储与传输。常见的http-flv推流直播就是使用flv格式,rtmp推流也默认支持flv格式。FLV和RTMP都是adobe公司开发的。

1、FLV整体结构

FLV是由Header和Body组成。其中Body由一系列Tag构成,包括Video、Audio、Script等。如下图所示:

 2、FLV的Header结构

FLV的Header包括:签名、版本号、保留字段、音频flag、视频flag、文件头大小。其中,文件头大小默认是9字节。需要注意的是,bit与byte单位转换。如下表所示:

3、Tag的Header结构

Tag的Header包括:类型、大小、时间戳、扩展时间戳、流id,如下表所示:

 4、FLV的视频Tag

FLV的视频Tag字段包括:帧类型、编码类型、视频payload数据。其中,帧类型和编码类型各占4位。如下表所示:

5、FLV的音频Tag

FLV的音频Tag字段包括: 音频格式、采样率、采样精度、声道数、音频payload数据。其中,音频格式占4位,采样率占2位,采样精度和声道数各占1位。如下表所示:

猜你喜欢

转载自blog.csdn.net/u011686167/article/details/125983856