Skip to content

ALSAMEEMA/CMAF-Inspector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📦 CMAF / fMP4 Inspector

▶ Live Demo

A browser-based ISO BMFF box structure analyzer with tree visualization, hex/binary viewer, DRM decoding, and spec references aligned to ISO 14496-12:2026.

Zero dependencies. Pure HTML/CSS/JS. Works entirely in your browser — no files are uploaded anywhere.


Features

🌳 Box Structure Tree

  • Recursive parsing of ISO BMFF / CMAF / fMP4 containers
  • 100+ box types recognized with full formal names
  • Category icons (📦 Container, 🧩 Fragment, 🔒 DRM, 🎬 Sample, 📑 Index, ⚡ Event)
  • Proportional size bars for quick visual comparison
  • Tree connector lines showing parent-child relationships
  • Search/filter bar to find specific box types instantly
  • Expand All / Collapse All controls

🔍 Hex & Binary Viewer

  • Dual-mode viewer: toggle between Hex and Binary representations
  • ASCII column for readable string identification
  • Column headers (OFFSET | HEX BYTES | ASCII) for clarity
  • Lazy-rendered for performance on large files

🔒 DRM Decoding

  • PSSH box parsing with DRM system identification
  • Widevine init data decoding (protobuf: key IDs, provider, content ID, algorithm)
  • PlayReady object decoding (XML records, license URL, KID extraction)
  • tenc / senc / schm encryption box parsing
  • Supports: Widevine, PlayReady, FairPlay, ClearKey, Nagra, Marlin, PrimeTime

📐 Spec References

Every box shows its ISO/IEC specification reference when expanded:

  • ISO 14496-12:2026 — ISOBMFF (8th Edition, latest)
  • ISO 23001-7:2023 — Common Encryption (CENC)
  • ISO 14496-15:2022 — AVC/HEVC carriage in ISOBMFF
  • ISO 14496-14:2020 — MP4 file format
  • ISO 23008-12:2022 — HEIF/AVIF
  • ISO 23000-19:2024 — CMAF
  • Plus ETSI TS 102 366 (Dolby), RFC 7845 (Opus), 3GPP TS 26.244, and more

📋 File Summary

  • File type, size, total box count, major/compatible brands
  • Track detection with codec, resolution, sample rate, language
  • Auto-badges: Fragmented, Init Segment, Media Segment, DRM Protected, Indexed

📤 Export & Utility

  • Copy results as formatted text
  • Export as JSON with full box hierarchy and parsed details
  • Dark / Light theme toggle with persistence
  • Drag & drop or URL loading (with CORS error guidance)

Supported Formats

Extension Format
.mp4 MPEG-4 Part 14
.m4s CMAF / fMP4 media segment
.m4a MPEG-4 Audio
.m4v MPEG-4 Video
.cmaf CMAF segment
.fmp4 Fragmented MP4
.m4f CMAF fragment
.ismv Smooth Streaming video
.isma Smooth Streaming audio

Parsed Box Types

Click to expand full list (100+ boxes)

File Type: ftyp, styp

Movie Structure: moov, mvhd, trak, tkhd, edts, elst, mdia, mdhd, hdlr, minf, vmhd, smhd, hmhd, nmhd, sthd, dinf, dref

Sample Table: stbl, stsd, stts, ctts, stsc, stsz, stz2, stco, co64, stss, sdtp, sgpd, sbgp, csgp, cslg, subs, stdp, padb

Fragmentation: mvex, trex, mehd, moof, mfhd, traf, tfhd, tfdt, trun

Indexing: sidx, ssix, mfra, mfro, tfra, pdin, leva

DRM / Protection: pssh, sinf, frma, schm, schi, tenc, saiz, saio, senc

Video Codecs: avc1, avc3, hev1, hvc1, vp08, vp09, av01, mp4v, avcC, hvcC, av1C, vpcC

Audio Codecs: mp4a, ac-3, ec-3, ac-4, Opus, fLaC, dtsl, dtsh, dtse, dtsx, esds, dac3, dec3, dac4, dOps, dfLa

Subtitle/Text: stpp, wvtt, tx3g, vttC, vlab, mime

Media Properties: btrt, pasp, colr, clap, ccst

Events: emsg, prft

Data: mdat, free, skip

Metadata: udta, meta, ilst, cprt, kind

HEIF/AVIF: iloc, iinf, infe, pitm, ipma, iprp, ispe, pixi, auxC, grpl


Usage

  1. Open index.html in any modern browser
  2. Drag & drop an MP4/M4S/CMAF file onto the drop zone, or
  3. Enter a URL and click Load URL
  4. Explore the box tree — click any box to expand its details
  5. Use the search bar to filter boxes by name
  6. Toggle Hex/Binary viewer inside any box's detail panel

Tech Stack

  • HTML5 — semantic markup
  • CSS3 — CSS variables, glass morphism, dark/light themes, responsive design
  • Vanilla JavaScript — zero frameworks, zero dependencies, zero build step
  • Fonts — Inter + JetBrains Mono (Google Fonts)

License

MIT


Author

@ALSAMEEMA

About

CMAF/fMP4 Inspector — A browser-based ISO BMFF box structure analyzer with tree visualization, hex/binary viewer, DRM decoding, and spec references aligned to ISO 14496-12:2026.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors