【多媒体封装格式详解】---MP4【1】
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;表示
·
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 |
| 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 |
更多推荐



所有评论(0)