|| in Mov files with 'classic' user data, the user-data
item '©inf' (information about the movie) is probably closest.
||Find the '©inf' user-data item in the movie box
(overall) or the track box if a specific track is identified. There may
be multiple items, varying by language code.
String (consult the format documentation for details)
|| 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.
||The four-character codes from the sampe entry/ies in
the track's sample description box (see ISO/IEC 14496-12).
||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)
||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
||Find the movie header box (mvhd) and get the timescale
field, and then retreive the duration field from the movie or track
header (mvhd, tkhd) as appropriate, and divide.
||float (after division), rational (as stored)
|| 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
||the field samplerate in the sample entry or entries for
the movie tracks. This is a 16.16 integer with the fractional 16 bits,
fractional bits may be non-zero.
||Find the samplerate 32-bit field in the sample entry,
and right-shift 16 bits.
||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.trak.tkhd.duration / moov.mvhd.timescale)
||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)
||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
|| (count, type) tuples