FLV协议5分钟入门浅析( 三 )

  • 第6个字节+:比如duration,则:
  • 第6-9个字节:0x0008,表示长度为8个字节;
  • 第10-17个字节:0x6475 7261 7469,表示 duration 这个字符串;
  • 第18个字节:0x00,表示为数值类型;
  • 第19-26个字节:0x...,表示具体的时长;
  • 更多onMetaData字段的定义:
    字段字段类型字段含义durationDOUBLE文件的时长widthDOUBLE视频宽度(px)heightDOUBLE视频高度(px)videodatarateDOUBLE视频比特率(kb/s)framerateDOUBLE视频帧率(帧/s)videocodecidDOUBLE视频编解码器ID(参考Video Tag)audiosamplerateDOUBLE音频采样率audiosamplesizeDOUBLE音频采样精度(参考Audio Tag)stereoBOOL是否立体声audiocodecidDOUBLE音频编解码器ID(参考Audio Tag)filesizeDOUBLE文件总得大小(字节)
    写在后面
    FLV协议本身不算复杂,理解上的困难,更多时候来自音视频编解码相关的知识,比如H.264、AAC相关知识,建议不懂的时候自行查下 。此外,FLV的字节序为大端序,在做协议解析的时候一定要注意 。
    本文为讲解方便,部分内容可能不够严谨,如有错漏敬请指出 。
    相关链接
    video_file_format_spec_v10.pdf www.adobe.com/content/dam…
    MPEG-4 Part 3 en.wikipedia.org/wiki/MPEG-4…
    flv文件分析 www.jianshu.com/p/e290dca02…
    H.264再学习 -- 详解 H.264 NALU语法结构 blog.csdn.net/qq_29350001…




    推荐阅读