shareable

H264有两种封装格式,一种是MP4格式,一种是annexb格式

MP4格式是以4个字节长度分割

annexb格式是以0x000001 or 0x00000001分割

有些时候需要把MP4格式转换成annexb格式(例如写ts),可以使用下面代码把MP4格式转换为Annexb格式

void ConvertMP4BitstreamToANNB(uint8_t *pdata, const uint32_t size)
{
    auto p = pdata;
    auto end = pdata + size;

    while (p < end) {
        uint32_t nalSize = p[0] << 24 | 
            p[1] << 16 | 
            p[2] <<  8 | 
            p[3];
        p[0] = 0;
        p[1] = 0;
        p[2] = 0;
        p[3] = 1;
        p += 4+nalSize;
    }
}

 

分类:

技术点:

相关文章:

  • 2021-10-16
  • 2021-12-03
  • 2021-10-29
  • 2021-06-30
  • 2021-07-21
  • 2019-08-25
猜你喜欢
  • 2022-01-23
  • 2022-12-23
  • 2021-12-16
  • 2022-01-01
  • 2022-12-23
  • 2021-04-09
相关资源
相似解决方案