除了可以验证码流外,还有什么样的好处促使FLV格式采用这种方式呢?不太清楚。
0x00000000| { tag_header0| tag_data0 | tag_size0} | { tag_header1 | tag_data1 | tag_size1} |...
Tag body也可以这样看,编码时按照: 数据头 数据体 数据大小 三部分来划分,更适合一些。下面各个tag都是按照这个结构来写的。
Tag header 11Bytes
|1Byte Tag类型 | 只支持3类, 0x08音频; 0x09视频;0x12脚本ECMA array type, 记录一些数据对。
|0x08| 4字节 数组长度 N|2字节 字符串长度 m1 | m1字节字符串内容|1字节 data1 type | X字节 data1 | ...
|2字节 字符串长度 Nm| Nm字节字符串内容|1字节 dataN type| X字节 dataN|
有N个数据对 元素名 (长度|数据) 元素值(类型|数据)
一般用这个记录一些音视频信息,例如:
0x0008 "duration" 0x00 8字节double
0x0005 "width" 0x00 8字节double
0x0006 "stereo" 0x01 1字节boolean型
业内通用做法是在脚本Tag里面增加keyfrmes object类。一般定义为:
|00 09| 9字节 "keyframes"|00 0D| 13字节 "filepositions"|0A| 4字节关键字数目 N|00|8字节 关键帧1偏移地址| ...
|00|8字节 关键帧N偏移地址|
原文地址:http://blog.csdn.net/huibailingyu/article/details/42878381