| Category | Capabilities |
|---|---|
| Parsing | Full box hierarchy, lazy parsing, optional integrity checks (CRC‑32). |
| Editing | Track addition/removal, sample‑level editing (cut, splice, duplicate), time‑scale conversion. |
| Metadata | ISO 639 language codes, udta/meta handling, custom box injection. |
| Encryption | Support for Common Encryption (CENC) boxes (senc, tenc, pssh), per‑sample IV handling, key‑rotation APIs. |
| Streaming | Fragmented MP4 (fMP4) generation, moof/mdat incremental writing, low‑latency segmenter. |
| Diagnostics | mp4inspect command‑line tool (tree dump, box hex view, validation report). |
| Testing | 1,200+ unit tests (GoogleTest) + fuzzing harness (libFuzzer) achieving > 90 % code coverage. |
| Milestone | Target Release | Description |
|---|---|---|
| v1.1 | Q3 2026 | Support for AV1‑in‑MP4 (HEIF‑style av1c box), hardware‑accelerated parsing via SIMD. |
| v1.2 | Q1 2027 | Integrated DRM plug‑ins for PlayReady & Widevine, plus a high‑level DRM manager API. |
| v2.0 | Q4 2027 | Full WebAssembly port for in‑browser MP4 editing, with a tiny (~200 KB) runtime. |
| Community Extensions | Ongoing | Encourage external contributors to ship plug‑ins for custom boxes (e.g., tfxd, mfra extensions). | jufe569mp4 work
# Inspect the box hierarchy of a file
mp4inspect sample.mp4
# Trim a 20‑second segment (start @ 30 s)
mp4edit --trim 30_000 50_000 sample.mp4 -o clip.mp4
# Add an external subtitle track
mp4edit --add-subtitle en.srt sample.mp4 -o with_subs.mp4