MP4(MPEG-4 Part 14)是一种常见的多媒体容器格式,它是在“ISO/IEC 14496-14”标准文件中定义的。

1.最小组成单元 BOX

像FLV的tag、MKV的EBML、ASF文件中的 ASF object.mp4 是由一系列的box组成,他的最小组成单元就是box.

size;指明了整个box所占用的大小,包括header部分.

type;表示这个box的类型。(附表1)

largesize;如果box很大超过了uint32的最大数值,size就被设置为1,并用接下来的 largesize来存放大小。

2.mp4文件整体结构

mp4文件说白了就是一系列box组成,大box里面有小box。

接下来会深入到具体的box里面,来具体分析mp4格式

未完待续.....

附表1

Code Abstract Defined in/by
ainf Asset information to identify, license and play DECE
albm Album title and track number (user-data) 3GPP
auth Media author name (user-data) 3GPP
avcn AVC NAL Unit Storage Box DECE
bloc Base location and purchase location for license acquisition DECE
bpcc Bits per component JP2
buff Buffering information AVC
bxml binary XML container ISO
ccid OMA DRM Content ID OMA DRM 2.1
cdef type and ordering of the components within the codestream JP2
clsf Media classification (user-data) 3GPP
cmap mapping between a palette and codestream components JP2
co64 64-bit chunk offset ISO
colr specifies the colourspace of the image JP2
cprt copyright etc. (user-data) ISO
crhd reserved for ClockReferenceStream header MP4V1
cslg composition to decode timeline mapping ISO
ctts (composition) time to sample ISO
cvru OMA DRM Cover URI OMA DRM 2.1
dcfD Marlin DCF Duration, user-data atom type OMArlin
dinf data information box, container ISO
dref data reference box, declares source(s) of media data in track ISO
dscp Media description (user-data) 3GPP
dsgd DVB Sample Group Description Box DVB
dstg DVB Sample to Group Box DVB
edts edit list container ISO
elst an edit list ISO
feci FEC Informatiom ISO
fecr FEC Reservoir ISO
fiin FD Item Information ISO
fire File Reservoir ISO
fpar File Partition ISO
free free space ISO
frma original format box ISO
ftyp file type and compatibility JP2, ISO
gitn Group ID to name ISO
gnre Media genre (user-data) 3GPP
grpi OMA DRM Group ID OMA DRM 2.0
hdlr handler, declares the media (handler) type ISO
hmhd hint media header, overall information (hint track only) ISO
hpix Hipix Rich Picture (user-data or meta-data) HIPIX
icnu OMA DRM Icon URI OMA DRM 2.0
ID32 ID3 version 2 container inline
idat Item data ISO
ihdr Image Header JP2
iinf item information ISO
iloc item location ISO
imif IPMP Information box ISO
infu OMA DRM Info URL OMA DRM 2.0
iods Object Descriptor container box MP4V1
iphd reserved for IPMP Stream header MP4V1
ipmc IPMP Control Box ISO
ipro item protection ISO
iref Item reference ISO
jP$20$20 JPEG 2000 Signature JP2
jp2c JPEG 2000 contiguous codestream JP2
jp2h Header JP2
jp2i intellectual property information JP2
kywd Media keywords (user-data) 3GPP
loci Media location information (user-data) 3GPP
lrcu OMA DRM Lyrics URI OMA DRM 2.1
m7hd reserved for MPEG7Stream header MP4V1
mdat media data container ISO
mdhd media header, overall information about the media ISO
mdia container for the media information in a track ISO
mdri Mutable DRM information OMA DRM 2.0
meco additional metadata container ISO
mehd movie extends header box ISO
mere metabox relation ISO
meta Metadata container ISO
mfhd movie fragment header ISO
mfra Movie fragment random access ISO
mfro Movie fragment random access offset ISO
minf media information container ISO
mjhd reserved for MPEG-J Stream header MP4V1
moof movie fragment ISO
moov container for all the meta-data ISO
mvcg Multiview group AVC
mvci Multiview Information AVC
mvex movie extends box ISO
mvhd movie header, overall declarations ISO
mvra Multiview Relation Attribute AVC
nmhd Null media header, overall information (some tracks only) ISO
ochd reserved for ObjectContentInfoStream header MP4V1
odaf OMA DRM Access Unit Format OMA DRM 2.0
odda OMA DRM Content Object OMA DRM 2.0
odhd reserved for ObjectDescriptorStream header MP4V1
odhe OMA DRM Discrete Media Headers OMA DRM 2.0
odrb OMA DRM Rights Object OMA DRM 2.0
odrm OMA DRM Container OMA DRM 2.0
odtt OMA DRM Transaction Tracking OMA DRM 2.0
ohdr OMA DRM Common headers OMA DRM 2.0
padb sample padding bits ISO
paen Partition Entry ISO
pclr palette which maps a single component in index space to a multiple- component image JP2
pdin Progressive download information ISO
perf Media performer name (user-data) 3GPP
pitm primary item reference ISO
res$20 grid resolution JP2
resc grid resolution at which the image was captured JP2
resd default grid resolution at which the image should be displayed JP2
rtng Media rating (user-data) 3GPP
sbgp Sample to Group box AVC, ISO
schi scheme information box ISO
schm scheme type box ISO
sdep Sample dependency AVC
sdhd reserved for SceneDescriptionStream header MP4V1
sdtp Independent and Disposable Samples Box AVC, ISO
sdvp SD Profile Box SDV
segr file delivery session group ISO
senc Sample specific encryption data DECE
sgpd Sample group definition box AVC, ISO
sidx Segment Index Box 3GPP
sinf protection scheme information box ISO
skip free space ISO
smhd sound media header, overall information (sound track only) ISO
srmb System Renewability Message DVB
srmc System Renewability Message container DVB
srpp STRP Process ISO
stbl sample table box, container for the time/space map ISO
stco chunk offset, partial data-offset information ISO
stdp sample degradation priority ISO
sthd Subtitle Media Header Box DECE
stsc sample-to-chunk, partial data-offset information ISO
stsd sample descriptions (codec types, initialization etc.) ISO
stsh shadow sync sample table ISO
stss sync sample table (random access points) ISO
stsz sample sizes (framing) ISO
stts (decoding) time-to-sample ISO
styp Segment Type Box 3GPP
stz2 compact sample sizes (framing) ISO
subs Sub-sample information ISO
swtc Multiview Group Relation AVC
tfad Track fragment adjustment box 3GPP
tfhd Track fragment header ISO
tfma Track fragment media adjustment box 3GPP
tfra Track fragment radom access ISO
tibr Tier Bit rate AVC
tiri Tier Information AVC
titl Media title (user-data) 3GPP
tkhd Track header, overall information about the track ISO
traf Track fragment ISO
trak container for an individual track or stream ISO
tref track reference container ISO
trex track extends defaults ISO
trgr Track grouping information ISO
trik Facilitates random access and trick play modes DECE
trun track fragment run ISO
tsel Track selection (user-data) 3GPP
udta user-data ISO
uinf a tool by which a vendor may provide access to additional information associated with a UUID JP2
UITS Unique Identifier Technology Solution Universal Music
ulst a list of UUID’s JP2
url$20 a URL JP2
uuid user-extension box ISO, JP2
vmhd video media header, overall information (video track only) ISO
vwdi Multiview Scene Information AVC
xml$20 a tool by which vendors can add XML formatted information JP2
xml$20 XML container ISO
yrrc Year when media was recorded (user-data) 3GPP

QuickTime Codes

Code Abstract Defined in/by
clip Visual clipping region container QT
crgn Visual clipping region definition QT
ctab Track color-table QT
elng Extended Language Tag QT
imap Track input map definition QT
kmat Compressed visual track matte QT
load Track pre-load definitions QT
matt Visual track matte for compositing QT
pnot Preview container QT
wide Expansion space reservation QT

【多媒体封装格式详解】---MP4【1】相关推荐

  1. 多媒体封装格式详解---MP4

    MP4文件格式详解--结构概述 http://blog.csdn.net/pirateleo/article/details/7061452 一.基本概念 1. 文件,由许多Box和FullBox组成 ...

  2. [转]多媒体封装格式详解---MP4

    原文 https://www.cnblogs.com/jingzhishen/p/3698570.html 参考 http://www.cnblogs.com/ranson7zop/p/7889272 ...

  3. 【多媒体封装格式详解】---ASF(WMV/WMA)

    [1] ASF全称Advanced Systems Format 高级串流格式,微软出的一种开放封装格式的标准.它可以包含很多内容如:音视频.脚本命令.JPEG.二进制文件.或是由开发者自己定义的内容 ...

  4. 【多媒体封装格式详解】---ASF(WMV/WMA)【2】完

    4.the Data Object 这部分的内容就是asf文件中数据.Data Object 中包含着很多个 Data Packets.这些Data Packets里面就是音视频数据. 先来看看 Da ...

  5. 【多媒体封装格式详解】---MP4

    [1] MP4(MPEG-4 Part 14)是一种常见的多媒体容器格式,它是在"ISO/IEC 14496-14"标准文件中定义的. 1.最小组成单元 BOX 像FLV的tag. ...

  6. 【多媒体封装格式详解】---ASF(WMV/WMA)【1】

    ASF全称Advanced Systems Format 高级串流格式,微软出的一种开放封装格式的标准.它可以包含很多内容如:音视频.脚本命令.JPEG.二进制文件.或是由开发者自己定义的内容.常见的 ...

  7. MP4封装格式详解1

    转载自:http://blog.chinaunix.net/uid-20758197-id-5056943.html MP4(MPEG-4 Part 14)是一种常见的多媒体容器格式,它是在" ...

  8. 常见音视频文件的编码和封装格式详解

    常见的AVI.RMVB.MKV.ASF.WMV.MP4.3GP.FLV等⽂件其实只能算是⼀种封装标准. ⼀个完整的视频⽂件是由⾳频和视频2部分组成的.H264.Xvid等就是视频编码格式,MP3.AA ...

  9. F4V 封装格式详解(一)-------box

    F4V 是Adobe公司推出的用于支持H.264/AAC的媒体格式,而FLV 格式主要是用来支持其他格式,如Sorensen Spark (H.263 )和On2 VP6. 1. F4V 文件格式: ...

最新文章

  1. POJ 2010 Moo University - Financial Aid(堆维护滑窗kth,二分)
  2. Spark1.2新特性概述
  3. 1005. 继续(3n+1)猜想 (25)
  4. c语言程序为什么运行一半就自动关闭了,C语言为什么程序运行一半就出现停止工作...
  5. php在线编辑器fckeditor,[原创]继续给力:PHP中使用FckEditor在线编辑器详解
  6. Ruby 获取 HTTP 回应的编码和内容
  7. koa2 mysql sequelize_使用nodejs-koa2-mysql-sequelize-jwt 实现项目api接口
  8. #Pragma Pack(n)与内存分配 pragma pack(push,1)与#pragma pack(1)的区别
  9. pythonnumpy算术函数_python的numpy.prod函数运行实例详解
  10. 【FPGA】【转载】跨越鸿沟:同步世界的异步信号
  11. hbase下载安装与配置
  12. 爬虫基本操作+获取豆瓣250top电影信息
  13. 常微分方程简要复习_笔记_第2章:一阶微分方程的初等解法
  14. python 数字转换为汉字大写
  15. AI视觉千亿规模市场虚席以待 初创企业看好“算法决定芯片”路径
  16. showdialog 尝试读取或写入受保护的内存_超频内存比超频CPU收益更大!影驰HOF OC Lab皑钻DDR4-4400评测...
  17. 2020商业风口复盘:巨变下的重构与新生
  18. 电脑远程登录控制Android手机-Webkey For Android使用教程
  19. java音频剪切_Java使用IO流实现音频的剪切和拼接
  20. 奥鹏 大工21秋《计算机网络技术》在线作业

热门文章

  1. verilog代码风格——PN序列产生代码
  2. 搭建FTP报错:Job for vsftpd.service failed because the control process exited with error code. See
  3. 分享一些web系统的测试点
  4. 【PYTHON】论Python的类中的私有变量、共有变量、全局变量、局部变量
  5. 梦里不知身是客,一晌贪欢。—第五十一天
  6. Cesium开发使用GPU渲染
  7. Prolific USB-to-Serial Comm Port驱动
  8. 蓝牙无线远程更换语音mp3方案 支持spiflash和TF卡或者U盘
  9. 将Discuz!设置到新版应用中心,无需升级Discuz!版本的方法(临时方案)
  10. 【推荐】AI智慧安监企业安全生产监督管理平台建设技术解决方案合集(共342份,863M)