zoukankan      html  css  js  c++  java
  • 流媒体跳坑: 01-Mp4 文件解析

    1. 比较有用的资料

       https://www.jianshu.com/p/529c3729f357 

    2. H264 帧查找

    1. stsz/stz2  这个保有所有帧的的列表,当然包含个数

    2. stss 这是关键帧列表

    3. 还原  帧 --> chunk 的之间的映射(stsc),并用 stco 知道每个 chunk 的位置 (原文说很巧,但真的很麻烦), 

    4. 知道 chunk 位置了 就可以推断出每个 帧 数据的位置 

    5.  最终的一张表

            public UInt32 index;            //序号
            public UInt32 key_index;        //关键帧的序号
    
            public long sample_size;        //大小
            public UInt32 duration;         //这个帧是多少时间
            public UInt32 check_index;      //所属的check序号
    
            public bool bkeyframe;           // 是不是关键帧
            public long offset;            // 文件中所属的偏移
    

    3. 展示一下:

     

    跳坑说明:

    1. mp4里的h264格式做了转化 原来的 00 00 00 01 变成了 长度, 查了好久才查到,被坑死了! 

    2. H264 的任意帧解析时,要按 I+p+p+p+p+p 来解析,不能跳 p 不然会花屏! 

  • 相关阅读:
    绘制八卦阵
    绘制奥运五环
    绘制渐变的圆
    实验报告
    大学排名
    第一条爬虫
    自己的第一个网页
    科学计算与可视化
    类和正则表达(自动更正 代数运算)
    预测比赛
  • 原文地址:https://www.cnblogs.com/signal/p/13042644.html
Copyright © 2011-2022 走看看