RTMP是一种基于flv文件格式的流媒体格式;
一:FLV格式分析
flv = header + body(Previouse size + tag)
FLV | Header | Signature | 3Byte | FLV签名,固定"F","L","V"(0x46,0x4c,0x56) |
Version | 1Byte | FLV版本,目前固定为0x01 | ||
TypeFlag | 1Byte | 数据类型,前5bit为保留位,必须为0;第6位表示是否存在音频tag;第7位为保留位,必须为0;第8为表示是否存在视频tag | ||
DataOffSet | 4Byte | FLV Header的大小,当前为9 | ||
Body | Previous TagSize | 4Byte | 前一个tag的长度,第一个tag则为0 | |
Tag | Tag Header | TagType:1Byte,tag类型,音频(0x08),视频(0x09)和script data(0x12),其他类型保留 | ||
DataSize:3Byte,该tag的data部分大小 | ||||
Timestamp:3Byte,该tag的时间戳 | ||||
TimestampExtended:1Byte,扩展时间戳 | ||||