zoukankan      html  css  js  c++  java
  • FLV封装格式分析

      FLV官方文档:https://github.com/jiayayao/DataSheet/tree/master/media%20format/flv

    一、FLV格式

      FLV包括文件头(FLV header)和文件体(FLV Body)两部分,其中文件体由一系列的Tag组成。如下图所示:

       FLV header一共9个字节,分别是:

    • Signature(3个字节)总是“FLV”,即0x46, 0x4c, 0x56;
    • Version(1个字节) 总是1,即0x01;
    • Flags(1个字节) 第6位表示是否存在音频,第8位表示是否存在视频,即音视频都有的话,是0x05;
    • HeaderSize(4个字节)头字节大小,总为9 。

      每个Tag包含3部分,Previous Tag Size字段(4个字节),Tag header字段(11个字节)和Tag data字段。

      Previous Tag Size表示前面一个Tag的大小。 

      Tag header字段包含11个字节:

    • Type(1个字节)可以是视频、音频和Script,每个Tag只能包含以上三种类型的数据中的一种:

    Tag类型

    视频

    0x09

    音频

    0x08

    Script

    0x12

    • Data size(3个字节)表示该tag的data部分的大小;
    • Timestamp(3个字节)表示该tag的时间戳;
    • Timestamp(1个字节)表示扩展时间戳,当时间戳24位数值不够时,会扩展至32位;
    • StreamID(3个字节)表示stream id,总是0.  

     二、视频Tag

      视频tag的第一个字节用来表示视频数据的参数信息,第二个字节开始为视频数据。

      第一个字节的前4位表示帧类型:

    含义

    1

    keyframe (for AVC, a seekable frame)

    2

    inter frame (for AVC, a nonseekable frame)

    3

    disposable inter frame (H.263 only)

    4

    generated keyframe (reserved for server use only)

    5

    video info/command frame

      第一个字节的后4位表示编码类型:

    含义

    1

     JPEG (currently unused)

    2

     Sorenson H.263

    3

     Screen video

    4

     On2 VP6

    5

     On2 VP6 with alpha channel

    6

     Screen video version 2

    7

     AVC

      视频tag从二个字节开始为视频数据。

    三、Script Tag

      又通常被称为Metadata Tag,会放一些关于FLV视频和音频的元数据信息如:duration、width、height、video data rate、frame rate等。该Tag包含2个AMF包,通常该类型Tag会跟在File Header后面作为第一个Tag出现,而且只有一个。

      音频tag不再贴了,有兴趣可以看官方文档。


    参考资料:  

    http://blog.csdn.net/leixiaohua1020/article/details/17934487

  • 相关阅读:
    bzoj1318[spoj 744] Longest Permutation
    bzoj2146 Construct
    bzoj2448 挖油
    bzoj3961[WF2011]Chips Challenge
    bzoj4152[AMPPZ2014] The Captain
    AtCoder Regular Contest 076E Coneected?
    Codeforces 748D Santa Claus and a Palindrome
    bzoj3572[HNOI2014]世界树
    SQL SERVER 字段统一补0方法
    SSRS运行report builder报错 的解决方案
  • 原文地址:https://www.cnblogs.com/jiayayao/p/7019841.html
Copyright © 2011-2022 走看看