A complete DCP & IMF validator with SMPTE Bv2.1 compliance, Dolby Atmos, HDR, Netflix delivery specs, audio loudness metering, and more — all from the command line. Free and open source.
Validation Checks
Feature Modules
Platforms
Forever Free
Every check a post-production studio needs — from basic structure to deep Atmos analysis. No annual license fees.
Full SMPTE ST 429 and Bv2.1 validation. XML schemas, namespace checks, required elements, and structure verification.
CoreSHA-1 hash verification for all assets. XML digital signature validation with X.509 certificate chain trust checking.
CorePer-frame bitrate analysis with max/min/avg. Deep J2K codestream validation: profile, tile structure, code-block sizes, quality layers.
CoreIntegrated loudness (LUFS), loudness range (LRA), true peak (dBTP). DCI cinema level compliance checking.
StudioXYZ/DCI-P3/Rec.709 color space detection. 12-bit depth verification. Out-of-gamut pixel sampling.
StudioAudio layout detection (2.0/5.1/7.1/Atmos). MCA label validation per SMPTE ST 377-4. DCI channel minimum enforcement.
StudioDeep IAB bitstream inspection. Object count, bed channel validation, frame integrity, and Atmos compliance checking.
PremiumPQ (ST 2084), HLG, and Dolby Vision detection. SMPTE ST 2098 metadata compliance. MaxCLL/MaxFALL validation.
PremiumRPU parsing and validation. Profile/level detection. Enhancement layer compliance. Mapping metadata checks.
PremiumTTML/IMSC compliance checking. Timing validation, font embedding, subtitle duration minimums, and CineCanvas SMPTE 428-7.
PremiumLeft/right eye frame count matching. Bitrate balance. MXF stereoscopic structure validation.
StudioDCI container detection: 2K Flat/Scope/Full, 4K variants. Non-standard resolution flagging.
StudioMulti-reel timing gap detection. Audio/video sync verification. Reel duration compliance (40-min recommendation).
StudioMixed encryption detection. KDM requirement flagging. Per-asset encryption status reporting.
StudioVersion File (VF) validation. Original Version reference checking. Missing asset detection across OV/VF split.
StudioFull Netflix IMF delivery specification checking. Metadata requirements, file structure, naming conventions.
PremiumIntegrated Netflix Photon for complete IMF (ST 2067) validation. Automatic Photon build and execution.
IMFAudio Description (AD), Hearing Impaired (HI), and Closed Caption (CC) track detection and validation.
PremiumHigh Bit Rate and extended High Frame Rate validation. 48/60/96/120fps compliance checking.
PremiumFull ISDCF naming convention validation. Content type, resolution, audio config, language codes.
CoreKDM XML parsing and validation. Key period checking. Certificate chain trust verification.
CoreVerify all PKL asset hashes and file sizes for DCP or IMF packages. Detects corruption, missing files, and size mismatches.
CoreExtract video and audio tracks from MXF containers. Frame range selection, per-track extraction, lossless unwrap.
StudioDetect black frames, freeze frames, audio silence, and audio clipping. Configurable thresholds. JSON output for integration.
StudioAll the features of a €2,998 product — free and open source.
| Feature | DCP Doctor | EasyDCP Plus |
|---|---|---|
| SMPTE Bv2.1 Compliance | ✓ | ✓ |
| Interop DCP Support | ✓ | ✓ |
| Hash Verification | ✓ | ✓ |
| J2K Bitrate Analysis | ✓ | ✓ |
| Audio Loudness (EBU R128) | ✓ | ✓ |
| Dolby Atmos / IAB | ✓ | ✓ |
| Stereoscopic 3D | ✓ | ✓ |
| Up to 4K & HBR | ✓ | ✓ |
| 23.98 to 120 fps | ✓ | ✓ |
| SMPTE 428-7 Subtitles | ✓ | ✓ |
| Subtitle Font Validation | ✓ | ✓ |
| KDM Validation | ✓ | ✓ |
| CLI / Scriptable | ✓ | ✓ |
| HDR Metadata (ST 2098) | ✓ | — |
| Dolby Vision 4.0 | ✓ | — |
| Netflix Delivery Spec | ✓ | — |
| IMF Validation (Photon) | ✓ | ✓ |
| Accessibility Tracks | ✓ | — |
| Content Fingerprinting | ✓ | — |
| Color Gamut Validation | ✓ | — |
| Certificate Chain Trust | ✓ | ✓ |
| ISDCF Naming | ✓ | — |
| DCP Diff / Comparison | ✓ | — |
| JSON/HTML Reports | ✓ | — |
| Linux / macOS / Windows | ✓ | ✓ |
| Price | Free (GPLv3) | €2,998 or €138/mo |
Real commands for real workflows. Every example works out of the box.
Validate a DCP with all core checks.
dcpdoctor /path/to/DCP/
Loudness, color, resolution, encryption, reel continuity.
dcpdoctor --studio --deep \ /path/to/DCP/
Full premium analysis for streaming delivery.
dcpdoctor --netflix --atmos --hdr \ /path/to/IMF/
Validate IMF packages via Netflix Photon engine.
dcpdoctor --imf \ /path/to/IMF_Package/
Machine-readable output for CI pipelines.
dcpdoctor --format json \ /path/to/DCP/ > report.json
Diff two DCP packages to find changes.
dcpdoctor diff /path/to/DCP_v1/ \ /path/to/DCP_v2/
Detect black frames, freeze frames, silence, and clipping.
dcpdoctor auto-qc \ --video /path/to/content.mxf
Verify all PKL hashes and file sizes in a package.
dcpdoctor checksum-verify \ /path/to/DCP/
Unwrap video/audio essence from MXF containers.
dcpdoctor mxf-extract \ /path/to/picture.mxf -o ./out/
Rust toolchain and standard system libraries. No proprietary dependencies.
# Install dependencies (Ubuntu/Debian) sudo apt install -y cmake ninja-build pkg-config \ libxml2-dev libssl-dev libxerces-c-dev libsqlite3-dev # Clone with submodules git clone --recursive https://github.com/DcpDoctor/dcpdoctor.git cd dcpdoctor # Build cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release cmake --build build -j$(nproc) # Run ./build/dcpdoctor /path/to/your/DCP/ # Run tests cd build && ctest --output-on-failure
# Install dependencies (Homebrew) brew install cmake ninja pkg-config \ libxml2 openssl xerces-c sqlite # Clone with submodules git clone --recursive https://github.com/DcpDoctor/dcpdoctor.git cd dcpdoctor # Build (with OpenSSL path hints) cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \ -DOPENSSL_ROOT_DIR=$(brew --prefix openssl) \ -DCMAKE_PREFIX_PATH="$(brew --prefix libxml2);$(brew --prefix xerces-c)" cmake --build build -j$(sysctl -n hw.ncpu) # Run ./build/dcpdoctor /path/to/your/DCP/
# Install dependencies via vcpkg vcpkg install libxml2 openssl xerces-c sqlite3 # Clone with submodules git clone --recursive https://github.com/DcpDoctor/dcpdoctor.git cd dcpdoctor # Build with vcpkg toolchain cmake -B build -DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake cmake --build build --config Release # Run .\build\Release\dcpdoctor.exe C:\path\to\DCP\
From post-production workstations to CI/CD pipelines.
Ubuntu 24.04+, Fedora 40+, any distribution with GCC 13+ or Clang 17+. Full CI tested on GitHub Actions.
macOS 14+ (Sonoma) with Apple Clang or Homebrew GCC. ARM64 and x86_64. Tested on M-series hardware.
Windows 10/11 with MSVC 2022 or MinGW. vcpkg for dependency management. GitHub Actions CI verified.
A native desktop GUI built with Tauri. Drag-and-drop DCP validation with zero configuration.
Drop a DCP folder onto the window to instantly start validation. No command line needed.
Color-coded severity badges, filterable results table, and summary cards at a glance.
Toggle Studio, Deep, Netflix, HDR, Atmos, IMF, and Accessibility with option chips.
13MB binary using system webview. Builds .deb, .rpm, .dmg, and .msi packages.
# Build CLI first
cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && make -j$(nproc)
# Copy CLI as sidecar + build GUI
cd ../gui && npm install
cp ../build/dcpdoctor src-tauri/dcpdoctor-$(rustc -vV | grep host | cut -d' ' -f2)
npx tauri build
# Packages in gui/src-tauri/target/release/bundle/
DCP Doctor is free, open source (GPLv3), and built for professional workflows. Start validating your DCPs today.
Built by DcpDoctor · Open to contributions from everyone