使用二进制文件分析I帧信息

//帧头结构体
typedef struct
{
    unsigned int    u32FrameID ;    //标示ID,32位,固定为: 0x 00 00 00 02
    unsigned int    u32FrameSize;   //帧大小32位,整个帧大小,字节数
    unsigned char   u8FrameType;    //帧类型,8位,FRAME_I=0,  FRAME_P=1,FRAME_B=2
    unsigned char   u8flag;         //当该值为0x55时,后续16个bit才有意义
    unsigned char   u8gtag:4;       //SmartP帧与对应的I帧的同步标志
    unsigned char   u8splusref:1;   //1表示S+的参考帧,只有开启S+时的I帧和SmartP帧会置为1
    unsigned char   u8rs1:3;        //预留默认为0
    unsigned char   u8reserved;     //预留默认为0
    unsigned int    u32FrameNO;     //帧序号,32位,帧序号,循环递增
    unsigned int    u32TimeStamp;   //时间戳,32位,暂时不知道有什么用
    unsigned int    u32VStreamLen;  //视频数据长度,32位,视频数据大小
    unsigned short  u16AFrames;     //音频帧数,16位,该视频帧携带音频帧数
    unsigned short  u16AFrameSize;  //音频帧大小,16位,音频帧大小
    unsigned char   u8ACoder;       //音频压缩方式,8位,不压缩:0;G711_A:0x01; G711_U:0x02;
    unsigned char   u8reserved2;    //预留默认为0
    unsigned short  reserved;       //
}S_FrameHeader,*pS_FrameHeader;

整个帧头如下:

00 00 00 02 23 7B 00 00 00 55 01 00 25 89 4A 00 E5 43 A7 0B BF 79 00 00 01 00 44 01 01 00 FF FF

如下,整个I帧从文件开头偏移0x58(十进制88字节)后,连续的0x7B23字节长度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值