您的位置:首页 > 其它

FLV科普6 FLV Tag以及Tag头信息解析

2015-12-21 19:52 239 查看
每个FLVtag 包含音频、视频、脚本、可选的加密元数据以及负载等信息。

tag头信息 占11个字节 [b](主要信息为当前tag是音频还是视频 不含头信息的tag数据大小 时间戳信息)[/b]

Reserved 占2位 固定为0

Filter 占1位 表示是否经过滤波 一般为0

TagType 占5位 表示tag的类型 8为音频 9为视频 18为脚本数据 其它数据为保留值(其中18一般在第一个tag中,一般tag第一个字节为0x12表示脚本数据 第一个字节为0x08 表示音频数据 第一个字节为0x09表示视频数据)

DataSize 占24位 表示当前tag的后续长度等于当前整个tag长度减去11(tag头信息)

Timestamp占24位为相对第一个Tag的时间戳,因此第一个Tag的时间戳为0。也可以将所有Tag的时间戳全配置为0,解码器会自动处理。 每个tag的第五个字节开始

TimestampExtended 占8位 时间戳总共占用32位 这里指示它的高8位

StreamID 占24位 一直为0

以上总共11个字节 为tag头信息

解析相关头信息

如果TagType为8 解析音频头信息 详见 FLV科普8 FLV音频头信息

如果TagType为9 解析视频头信息 详见 FLV科普10 FLV视频头信息

如果Filter为1 解析相关滤波信息

解析数据信息

如果TagType为8 解析具体音频数据 FLV科普9 FLV音频信息

如果TagType为9 解析具体视频数据 FLV科普11 FLV视频信息

如果TagType为18 解析具体脚本数据数据(为ScriptDataObject,但该项因为内容不固定,所以在FLV文件中可以没有该Tag内容) 详见

FLV科普12 FLV脚本数据解析-Metadata Tag解析

标准文档:





以下图选定区域的一个tag为例“

Reserved 占2位 固定为0 当前值为:00 (图中12中的前两位为00)

Filter 占1位 一般值为0 不滤波 当前值为:0

TagType 占5位 表示tag的类型 当前值为12 (前3位不算 10010 (18表示脚本数据))

DataSize 占24位 表示当前tag的后续长度 当期值为 00 01 74 (372) 等于当前整个tag长度-11 = 383-11

Timestamp占24位为相对第一个Tag的时间戳,因此第一个Tag的时间戳为0。值0x:00 00 00

TimestampExtended 占8位 时间戳总共占用32位 这里指示它的高8位 值0x: 00

StreamID 占24位 一直为0 值:0x 00 00 00

以上总共11个字节 为tag头信息

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: