postkit

Shared Rust library providing common post-production functionality for the DcpDoctor suite.

Modules

Encoding & Media

encode

JPEG 2000 encoding via grok or OpenJPEG

transcode

Video format conversion (ProRes, H.264, H.265, DNxHR) via ffmpeg

mxf_wrap

MXF track file wrapping (AS-DCP / AS-02)

colour

Colour space conversion (Rec.709, P3, XYZ, BT.2020)

preview

Frame-accurate DCP/IMF playback and frame extraction

ingest

Camera raw ingest (ARRI, RED, Sony, Canon, BRAW)

Audio & Immersive

loudness

Audio loudness measurement (EBU R128 / ATSC A/85)

atmos

Dolby Atmos IAB packaging

dolby_vision

Dolby Vision RPU, HDR10, HLG metadata handling

Integrity & Security

hash

SHA-1 / SHA-256 file hashing with progress callbacks

certificate

X.509 certificate generation and trust management

watermark

Forensic watermarking (NexGuard, Civolution, internal)

Workflow & Automation

job_queue

Background job scheduling with priority and cancellation

conform

EDL/AAF/XML timeline import and reel assembly

watch

Watch folder automation for file-arrival triggers

profiles

Delivery profile presets (Netflix, Disney+, Cinema, Broadcast)

metadata_edit

CPL/OPL metadata editor

version_tracker

Content versioning database — track deliveries to venues/platforms

trailer

Theatrical trailer packaging with ratings cards and leaders

Reporting & UI

report

HTML/JSON QC report generation

burnin

Subtitle/watermark burn-in rendering

dashboard

Real-time job monitoring and analytics dashboard

accessibility

Accessibility compliance checking (CVAA, EAA, AODA, Ofcom)

Mastering

dcdm

Digital Cinema Distribution Master — X'Y'Z' 12/16-bit intermediate format

Infrastructure

preferences

JSON preferences (XDG_CONFIG_HOME / AppData / Library)

rest_api

HTTP REST API server for headless operation

shell_completion

Bash/Zsh/Fish tab completion generation

portable

Portable/USB deployment without installation

Quick Start

git clone --recurse-submodules https://github.com/DcpDoctor/postkit.git
cd postkit
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
ctest --test-dir build --output-on-failure

Integration

add_subdirectory(extern/postkit EXCLUDE_FROM_ALL)
target_link_libraries(myapp PRIVATE postkit_core)