MAWG Relation MPEG4 How to do the mapping Datatype XPath RDF tested
Descriptive Properties (Core Set)
Identification
identifier N/A N/AN/A
Rights
copyright exact Copyright statement for the movie file content. box type: cprt container: User Data Box 'udta' value: notice A UTF-8 or UTF-16 string. Can have multiple values with different language and country code designations. N/AYes
Content description
description N/A MP4 has no formal system. N/AN/A
Technical Properties
frameSize exact The width and height fields from the track header box of that track. moov.trak/tkhd.(width | height) If requested for a movie, and there is only one video track, or if requested for a specific video track, the width and height of that track. N/AYes
compression exact The four-character codes from the sample entry/ies in the track's sample description box (see ISO/IEC 14496-12). moov.track.mdia.minf.stbl.stsd.(sampleentry code) Follow the box hierarchy inside the movie box, into each track/mdia/stbl/stsd, and then extract the 4-character codes from the sample entry or entries. four character code(s) N/AYes
duration exact The duration field from the movie header (overall movie) or track header (for a track), divided by the timescale from the movie header. moov.mvhd.duration or moov.trak.tkhd.duration; divide by moov.mvhd.timescale Find the movie header box (mvhd) and get the timescale field, and then retrieve the duration field from the movie or track header (mvhd, tkhd) as appropriate, and divide. float (after division), rational (as stored) N/AYes
format exact video/3gpp (valid for all resources), audio/3gpp (if it is known the movie has no visual presentation) static; but it may help to scan for the codecs used and supply those (RFC4281), the codecs parameter for bucket mime types) for 3GPP, MP4 and Movie files. MIME type N/AYes
samplingRate usually exact In MP4 files, the field samplerate in the sample entry or entries for the movie tracks. This is a 16.16 integer with the fractional 16 bits restricted to be zero. moov.trak.mdia.minf.stbl.stsd.(sampleentry.sampleRate) Find the samplerate 32-bit field in the sample entry, and right-shift 16 bits. Integer N/AYes
frameRate more general The sample count from the sample size (stsz) box in the sample table, divided by the duration (see above). moov.trak.mdia.minf.stbl.stsz.sampleCount, divided by duration. moov.mdia.stbl.stsz.samplecount / (moov.trak.tkhd.duration / moov.mvhd.timescale) Rational, float N/AYes
averageBitRate more specific or exact Either (a.i) sum the top-level box sizes or (a.ii) find the file size from external means (e.g. file system) or (b) for each track, compute the total sample size (from the sample size table). Then divide by duration (computed above). (a.i) sum over all top-level atoms(atom size) or (b) sum over all samples(moov.trak.mdia.mif.stbl.stsz( sampleSize ) (count also in the stsz box) N/AYes
numTracks exact count( moov.trak ), find types by mapping moov.trak.mdia.hdlr. Standard types are: ‘vide’ Video track, ‘soun’ Audio track, ‘hint’ Hint track, ‘meta’ Timed Metadata track, ‘auxv’ Auxiliary Video track, but other types may be registered at www.mp4ra.org. (count, type) tuples N/AYes

Note: in 3GPP and MP4 files, a single track may be addressed by track ID using the using the ISO/IEC 21000-17:2006 "ffp()" syntax (for example http://www.example.com/sample.3gp#ffp(track_ID=101)).