前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MPEG4视频中,I帧、p帧、B帧的判定(转载) By HKL,

MPEG4视频中,I帧、p帧、B帧的判定(转载) By HKL,

作者头像
hiplon
发布2020-07-22 10:50:53
1.3K0
发布2020-07-22 10:50:53
举报
文章被收录于专栏:VNFVNF

mpeg4的每一帧开头是固定的:00 00 01 b6,那么我们如何判断当前帧属于什么帧呢?在接下来的2bit,将会告诉我们答案。注意:是2bit,不是byte,下面是各类型帧与2bit的对应关系:

代码语言:javascript
复制
  00: I Frame

  01: P Frame

  10: B Frame 

为了更好地说明,我们举几个例子,以下是16进制显示的视频编码:

代码语言:javascript
复制
  00 00 01 b6 10 34 78 97 09 87 06 57 87 ……                             I帧

  00 00 01 b6 50 78 34 20 cc 66 b3 89 ……                                  P帧

  00 00 01 b6 96 88 99 06 54 34 78 90 98 ……                              B帧

下面我们来分析一下为什么他们分别是I、P、B帧

代码语言:javascript
复制
  0x10 = 0001 0000

  0x50 = 0101 0000

  0x96 = 1001 0100 

大家看红色的2bit,再对照开头说的帧与2bit的对应关系,是不是符合了呢?

下面给出一段c++代码供大家参考:

代码语言:javascript
复制
switch(buf[i] & (BYTE)0xc0)
{
case 0x00:
    //I Frame
    break;
case 0x40:
    //P Frame
    break;
case 0x80:
    //B Frame
    break;
default:
    break;
}

From: http://www.360doc.com/content/11/0718/17/474846_134326279.shtml

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档