Applies to: Protocol and format interpretation for developers inspecting authorized media delivery.

The useful distinctions

  • The MSE ISO BMFF format distinguishes initialization and media segments.
  • Initialization includes ftyp and moov boxes.
  • A media segment includes moof followed by media data boxes.

Ask which context a fragment requires

A media fragment can contain timed samples without carrying every configuration detail needed to interpret them. Start an inspection by identifying whether the object is an initialization segment, a media fragment, or a complete file intended for another usage. The filename suffix alone does not settle that classification. In a box inventory, record each top-level box in order and connect the fragment to the initialization context that describes its tracks.

Do not turn a box list into a compatibility verdict

The example gives the bytes for a small syntactically valid File Type Box. It identifies a brand and compatible brand but supplies no Movie Box, samples, or media fragment. This illustrates how a real binary field is serialized while keeping the missing context visible. A complete validation would need box lengths, track definitions, codec configuration, fragment addressing, and sample coverage checked against the chosen format rules. Those checks are not replaced by recognizing the strings ftyp or moof. The W3C source used here specifies an MSE byte-stream format and should not be presented as every rule for all possible ISO BMFF files. The twenty-byte size covers the box header and its payload together. Counting only the brand characters would miss fields and could move the next parsed box boundary to the wrong byte offset.

Worked example · synthetic

The 20-byte box is ftyp with major brand iso6, minor version zero, and compatible brand iso6. It is only a valid box excerpt; it is not an initialization segment without the required surrounding structure.

Valid isolated ISO BMFF File Type Box; no complete file or playback claim.

00 00 00 14 66 74 79 70 69 73 6F 36 00 00 00 00 69 73 6F 36

Check the interpretation

  • Check that the size field matches 20 bytes.
  • Identify the applicable byte-stream or file profile.
  • Validate moov and fragment details separately.