Open-source CLI tool and desktop GUI for creating standards-compliant Interoperable Master Format packages. Supports encoding, transcoding, Dolby Vision, ACES, subtitles, loudness metering, and Netflix Photon validation.
Standards-compliant IMF package creation, from essence to validated delivery.
Wrap JPEG 2000 codestreams and PCM audio into SMPTE 2067-5 compliant MXF track files with full metadata.
Accept DPX, TIFF, EXR, PNG, BMP, JPEG input — auto-encode to JPEG 2000 via grok (GPU and CPU).
Transcode ProRes, DNxHR, H.264, H.265, and AV1 video files to image sequences via ffmpeg.
Create multi-composition IMPs and supplemental versions with segment replacement workflows.
Package TTML / IMSC subtitles as AS-02 timed text MXF. Convert SCC and SRT to TTML.
Inject Dolby Vision RPU and HDR10+ dynamic metadata for HDR IMF packaging.
BT.709, BT.2020 PQ/HLG, P3-D65, and ACES colour spaces with proper metadata signaling.
EBU R128 and ATSC A/85 loudness measurement with compliance badges and normalization.
Validate output IMPs using Netflix Photon for SMPTE conformance checking and error reporting.
One-click configuration for Netflix, Disney+, Amazon, Apple TV+, Cinema 2K/4K, Broadcast, Archival.
SHA-1 hash computation for all assets with optional XML-DSIG signing for secure delivery.
Tauri 2 desktop app with dark theme, drag-and-drop, timeline editor, metadata editor, and job queue.
Create IMF packages directly from ProRes .mov files. Apple TV+ delivery ready.
Permanently render SRT/TTML/SCC subtitles into video frames for festival delivery.
Convert IMF packages to Digital Cinema Packages for theatrical exhibition.
Per-second bitrate charts, histograms, and statistics. JSON export for dashboards.
Create IMPs for Netflix + Disney+ + Amazon + Apple TV+ in a single command.
HTTP interface for automated workflows. Endpoints for create, validate, encode, transcode, and job management.
Parse CMX 3600 EDL and Final Cut Pro XML timelines into edit events for CPL assembly.
PSNR/SSIM frame-accurate comparison between two IMPs with visual diff reports.
Discover and execute Python plugin scripts with pre/post hooks for extensible workflows.
Import ADM Broadcast Wave Format files and wrap to IAB MXF for immersive audio delivery.
SMPTE ST 377-4 Multi-Channel Audio labeling with 5.1, 7.1, and stereo soundfield presets.
Mix AD narration track with main audio using intelligent ducking for accessibility compliance.
Apply .cube LUT files to image sequences for color grading in the IMF pipeline.
Full IDT→RRT→ODT pipeline via ctlrender with automatic ffmpeg colorspace fallback.
Detect audio/video drift and auto-fix with precision trimming or padding.
Validate against Netflix, Disney+, Amazon, Apple, Cinema 2K/4K, and Broadcast delivery specs.
HTML report with package info, track listing, loudness measurements, and compliance status.
Add revision notes, author metadata, and version tracking to CPL XML documents.
Create supplemental IMPs replacing specific reel segments while referencing the Original Version.
Countdown, SMPTE bars, academy leader, text slate, and black — as TIFF image sequences with optional tone.
Convert TTML/SRT timing between framerates (24→25, 23.976→24, etc.) with stretch or recount modes.
Play J2K frames over HD-SDI to reference monitors via GStreamer + decklinkvideosink. Supports 1080p, 2K, and UHD.
POST to external endpoints on job completion or failure. Integrates with Slack, Teams, and CI/CD pipelines.
Generate completion scripts for bash, zsh, and fish. Auto-complete 52 subcommands and flags.
Validate CPL, PKL, and AssetMap XML against SMPTE ST 2067 XSD schemas via xmllint.
Generate print-ready PDF quality control reports using wkhtmltopdf or weasyprint.
Build from source in minutes. Requires Rust 1.85+.
git clone --recurse-submodules https://github.com/DcpDoctor/imfwizard.git
cd imfwizard && mkdir build && cd build && cmake .. && make -j$(nproc)
ctest in the build directory to verify everything works.
cd gui && npm install && npm run tauri dev
Full-featured Tauri 2 desktop application with dark theme.
Native dark mode with optional light theme toggle. Properly styled on Linux/WebKitGTK.
Drop WAV, TTML, or image sequence files directly onto the app to import them.
Visual segment arrangement for video, audio, and subtitle tracks with drag positioning.
EBU R128 / ATSC A/85 compliance measurement with pass/fail indicators.
Edit CPL annotations, content versioning, locale, and content kind for existing IMPs.
Netflix, Disney+, Amazon, Apple TV+, Cinema, Broadcast, and Archival delivery presets.
System notifications when long-running jobs (encode, validate, create) complete.
Background daemon for batch processing. Submit, monitor, and cancel jobs from the GUI.
Quick access to the last 8 IMPs you created or validated.
Frame-by-frame J2K playback with scrub bar and waveform display.
Guided workflow for creating versioned supplemental IMPs with segment replacement.
One-click Netflix Photon validation with detailed error reporting in the GUI.
Per-second bitrate charts, histograms, and statistics for J2K streams.
Burn SRT/TTML subtitles permanently into video — for festival screeners.
Select target platforms with checkboxes and deliver to all in one click.
One-click conversion from IMF to Digital Cinema Package for theatrical.
Create your first IMP in minutes.
# Create IMP from J2K + WAV
$ ./imfwizard create \
--title "My Feature Film" \
--video /path/to/j2k_frames/ \
--audio /path/to/audio.wav \
--output /path/to/output_imp/
# Create IMP with subtitles and HDR (auto-encodes DPX to J2K)
$ ./imfwizard create \
--title "My HDR Film" \
--video /path/to/dpx_frames/ \
--subtitle /path/to/subs.ttml \
--color-space bt2020-pq \
--output /path/to/output/
# Use a delivery preset
$ ./imfwizard create --preset netflix --video frames/ --audio audio.wav -o out/
# Measure loudness
$ ./imfwizard loudness /path/to/audio.wav
# Validate with Netflix Photon
$ ./imfwizard validate /path/to/imp/
Feature comparison with easyDCP IMF Studio — the industry-standard commercial tool.
| Feature | IMF Wizard | easyDCP IMF Studio |
|---|---|---|
| Create IMF packages (App#2 / App#2E) | ✓ | ✓ |
| Supplemental / Versioned IMPs | ✓ | ✓ |
| Multi-CPL timeline | ✓ | ✓ |
| Command-line interface (CLI) | ✓ | ✓ |
| Netflix Photon validation | ✓ | ✓ |
| Dolby Vision 4.0 packaging | ✓ | ✓ |
| TTML / IMSC subtitles | ✓ | ✓ |
| Up to 4K resolution | ✓ | ✓ |
| Wide framerate support (23.98–120 fps) | ✓ | ✓ |
| JPEG 2000 encoding / transcoding | ✓ | ✓ |
| Desktop GUI | ✓ | ✓ |
| HD-SDI output (Blackmagic) | ✓ | ✓ |
| Subtitle burn-in | ✓ | ✓ |
| ProRes IMF profiles | ✓ | ✓ |
| IMF Wizard Advantages | ||
| HDR10+ metadata packaging | ✓ | ✗ |
| EBU R128 loudness measurement | ✓ | ✗ |
| Job queue daemon (batch processing) | ✓ | ✗ |
| Watch folder automation | ✓ | ✗ |
| Cloud delivery (AWS S3 / Aspera) | ✓ | ✗ |
| Forensic watermarking | ✓ | ✗ |
| Accessibility (AD, HoH) | ✓ | ✗ |
| ACES colour management | ✓ | ✗ |
| Digital signatures (SMPTE 430-6) | ✓ | ✗ |
| Delivery presets (Netflix, Disney+, Amazon, Apple) | ✓ | ✗ |
| Batch multi-platform delivery | ✓ | ✗ |
| IMF-to-DCP conversion | ✓ | ✗ |
| Bitrate analytics dashboard | ✓ | ✗ |
| Linux support | ✓ | ✗ |
| Open source (GPL-3.0) | ✓ | ✗ |
| IMF Wizard Premium | ||
| IMF package diff (compare IMPs) | ✓ | ✗ |
| OTIOZ / OpenTimelineIO import | ✓ | ✗ |
| Multi-node distributed render | ✓ | ✗ |
| KDM generation (SMPTE 430-1) | ✓ | ✗ |
| Dolby Vision Profile 8.1 | ✓ | ✗ |
| MXF playback & probe | ✓ | ✗ |
| Forensic watermarking | ✓ | ✗ |
| Asset browser with thumbnails | ✓ | ✗ |
| Prometheus metrics endpoint | ✓ | ✗ |
| Docker / Flatpak / .dmg packaging | ✓ | ✗ |
| easyDCP Exclusives | ||
| GPU / CUDA acceleration | Planned | ✓ (Windows) |
| Real-time IMF playback | Planned | ✓ |
Comprehensive IMF workflow — from raw footage to validated delivery.
J2K, DPX, TIFF, EXR, PNG, ProRes, DNxHR, H.264, H.265, AV1. Auto-detects and converts.
OV & Supplemental IMPs, multi-CPL, TTML subtitles, XML signing, SHA-1 hashing.
Dolby Vision 4.0, HDR10+, BT.2020 PQ/HLG, P3-D65, ACES App#5 colour management.
Netflix Photon, loudness metering, VMAF/PSNR/SSIM, bitrate analysis, QC reports.
Job queue daemon, watch folder, delivery presets, EDL/AAF conform, S3 upload.
Tauri 2 GUI with dark theme, drag-drop, timeline, metadata editor, notifications.