关于MPEG4 码流(mpeg4 raw data)的格式分析

本文详细解析了MPEG4视频码流的结构,包括视频对象序列、视频对象及视频对象层的开始标志,介绍了如何从这些数据中获取关键信息如纵横比、图像分辨率等。
 MPEG4码流开头往往如下:

      

    00 00 01 B0 F5 00 00 01 B5 09 00 00 01 00 00 00
    01 20 08 86 84 00 3F 18 58 21 20 A3 1F 00 00 01
    B2 58 76 69 44 30 30 36 32 00 00 01 B6

 

其格式为:

 

     MP4V type b0 size 5     //vosh
     MP4V type b5 size 5     //vo
     MP4V type 0 size 4    
     MP4V type 20 size 16    //vol
         ParseVol: timeBits 15 timeTicks 24000 frameDuration 1001
     MP4V type b6 size 5606   //vop

其宏定义为:

  #define MP4AV_MPEG4_VOL_START 0x20
  #define MP4AV_MPEG4_VOSH_START 0xB0
  #define MP4AV_MPEG4_VO_START 0xB5
  #define MP4AV_MPEG4_VOP_START 0xB6
  #define MP4AV_MPEG4_USER_DATA_START 0xB2

 

    使用格式工厂,看到如下

    根据标准,定义如下(http://bbs.lmtw.com/dispbbs.asp?boardID=20&ID=124481&star=2&page=15

    00 00 01 B0是视频对象序列开始标志(VISOBJSEQ_START_CODE),其后的数据只有一位F4,表示此视频对象编码序列编码的Profile与Level类型是XVID_PROFILE_AS_L4, Profile类型数值定义于xvid.h。

 

 

    00 00 01 B5是视频对象开始标志(VISOBJ_START_CODE),其后只有一位16进制数据09,从这一位数据可以获得视频对象版本号、视频类型和视频信号类型信息,详细介绍见图5-11。

 

 

    00 00 01 00是视频对象开始标志 (VIDOBJ_START_CODE),00 00 01 20是视频对象层开始标志(VIDOBJLAY_START_CODE),其后的11位16进制数据比较重要,解码所需要的VOP纵横比、视频对象形状和图像分辨率等数据都是从这11位数据获得的,详细介绍见图5-11,图中未标记用途的数据表示未使用。

 

 

    00 00 01 B2是用户数据开始标志(USERDATA_START_CODE),十六进制用户数据共有8位。

 

 

    00 00 01 B6是VOP开始标志(VOP_START_CODE),每个VOP编码数据都以VOP标识头开始,VOP标识头比较简单,如果用16进制数据表示其数值为00 00 01 B6。解码的时候,以00 00 01 B6来判定是不是一个VOP的开始,并从VOP标识头后的数据读取编码类型,量化值等参数后完成一帧VOP的解码。

    然后利用ffmpeg转码为mp4文件。


1计算机拓扑结构mp4,网盘文件,永久链接 002计算机硬件介绍mp4 003服务器介绍mp4 004计算机网络设备mp4 005任务说明mp4 006网络设备连接介质mp4 007IP和MAC简介mp4 008IP地址介绍mp4 0091进制和二进制转换mp4 010十进制转二进制mp4 011A类P地址mp4 012B类P地址mp4 013特张P+总结mp4 014根据子网掩判断主机数mp4 015根据P和子网来判断子网掩mp4 016根据P和子网掩判断子网数和范围mp4 017课堂练习mp4 018任务解决方案mp4 0190S的七层模型mp4 020数据的传输过程mp4 021 TCP IP协议簇四层模型相关协议了解]mp4 022数据的封装与解封装 过程t了解 p 4 023TCP协议的三次握手【理解】mp4 024TCP协议的四次断开【理解】mp4 025桥接和NAT网络【理解】mp4 026仅主机模式+总结mp4 027NA模式补充【理解+记忆】mp4 028查看网络信息基本命令掌握]mp4 _029静态P地址配置mp4 030静态P地址配置错误总结菌悉]mp4 031网卡名字命名规则和修改【了解】mp4 032主机的其他配置[机名+ DNSI. mp4 033读懂路由表信息【掌握】mp 034多网卡配置【熟悉】mp4 035读懂路由表信息2[掌握]mp4 036路由转发实验【理解】avmp4 037路由转发实验总结mp4 038实验需求讲解mp4 039 Centos7安装【掌握】mp4 040 Centos7安装后续mp4 041 Centos7基础网络环境配置掌握]mp4 042 Centos7基础环境配置本地yum源【掌握】mp 043 wireshark工具抓ping包【解]mp4 044 wireshark工具抓ssh三次握手四次断开了解]mp4 045 telnet服务搭建 Centos7【了解】mp4 046远程登录环境介绍【理解】mp4 047 wireshark工具抓 telnet数据包mp4 048 tcpdump工具抓包【了解】mp4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值