Inspect media
Read containers, tracks, sample tables, HDR, captions, events, DRM, and streaming manifests.
Inspect reads media directly with Video Commander's native parsers. It does not
depend on FFmpeg, so you can explore a file before configuring a local tool and
without remembering ffprobe flags or parsing its JSON output.
Open a source
Drop a file onto the app, choose File → Open, paste an HTTP(S) URL, or open an object from Amazon S3, Cloudflare R2, or MinIO. Remote files use range requests where supported, so Inspect can read container structures without downloading the entire asset.
Supported sources
| Format | Views |
|---|---|
| MP4, MOV, M4V | Overview, box tree, graph, samples, color, GOP, subtitles, events, DRM |
| MKV, WebM, MKA | Overview, tree, graph, samples |
| AVI | Overview, tree, graph, samples |
HLS (.m3u8, .m3u) | Manifest and Validator |
DASH (.mpd) | Manifest and Validator |
Content-specific tabs appear only when the source carries the relevant data. An MP4 without subtitles or SCTE-35 events does not show empty tabs for them.
Start with Overview
Overview shows the container, duration, size, bitrate, fragmentation and fast-start status. Every track includes its codec, dimensions, language, timing, bitrate, and sample count. Timeline gaps and other quality-control findings appear with stable finding codes.
For an MP4 whose metadata sits at the end of the file, Optimize for streaming can remux it so the metadata is available before the media bytes.
Explore the container structure
MP4 and related formats are built from nested boxes such as moov, trak,
mdia, and stbl. Inspect offers two ways to navigate them.
Tree
Tree renders the complete hierarchy with byte offsets and sizes. Expand a box and select it to see parsed fields in the detail panel. The hex panel shows the raw bytes beside those fields when you need to compare the parser output with the file itself.
Graph
Graph renders the same structure as a zoomable relationship map. It is useful for seeing how major branches relate rather than following nesting one row at a time. Select a node or load its subtree to focus on one branch.
Inspect tracks and samples
Samples goes down to individual frames with PTS, DTS, duration, size, file offset, and keyframe flags. Use it to diagnose missing keyframes, irregular sample durations, unexpected timeline gaps, or unusual size spikes that do not appear in the overview.
Read media signaling
ISOBMFF files can expose additional reports:
- Color decodes CICP values, mastering-display data, MaxCLL/MaxFALL, HDR10+, and Dolby Vision signaling.
- GOP summarizes keyframe intervals, frame types, and broken samples.
- Subtitles decodes tx3g, WebVTT, and TTML/IMSC cues and checks embedded CEA-608/708 captions.
- Events decodes SCTE-35 messages carried in
emsgboxes. - DRM identifies protected tracks, encryption schemes, and PSSH systems.
Inspect streaming manifests
An HLS or DASH source opens as a manifest instead of a container. Inspect lists variants or representations, codecs, bandwidths, segment templates, languages, and encryption information. Switch to Validator for conformance findings and optional URL probing. See Validate HLS and DASH.
Play the source
The Player tab plays the file or stream with an optional debug overlay for buffering state, dropped frames, current bitrate, and resolution. Use it for a visual check after investigating the structure.
You can also try MP4 inspection in the browser. The playground runs the same Rust box parser as WebAssembly; the file stays on your device.
Next
Convert the file after you understand the source, or analyze quality when you have a reference and encode to compare.
