// the find
kaltura/nginx-vod-module
NGINX-based MP4 Repackager
An NGINX module from Kaltura that repackages MP4 files on-the-fly into HLS, DASH, HDS, and MSS without pre-transcoding. It runs inside the NGINX worker process itself, handling the full packaging pipeline — segment splitting, DRM encryption, caption conversion — at request time. Aimed at media platforms that want to avoid storing multiple format copies of every asset.
The mapped mode JSON API is genuinely flexible: you can stitch clips, mix audio tracks, apply rate/gain filters, and simulate live streams all from a JSON descriptor, without touching the source files. DRM support covers the real-world trifecta — Widevine CENC, PlayReady, and FairPlay — with key fetching delegated to an external server, which is the correct separation. The codec coverage is broad and current: H.265, AV1, VP9, OPUS, FLAC, AC-3 are all there. Performance architecture is sensible — metadata cache, async file I/O with thread pool, and the explicit recommendation to put a CDN in front rather than hammering the packager directly.
It's Linux-only and has been for its entire life, which rules out local dev on Mac or Windows without a VM. The build process requires compiling against NGINX source directly, and the Kaltura package repos referenced in the README target Ubuntu 14.04/16.04/20.04 — the 20.04 package is the newest listed, meaning anyone on 22.04 or 24.04 is building from source or finding third-party packages. HDS (Adobe HTTP Dynamic Streaming) is listed as a supported output format, but Flash is dead and no player has supported HDS since 2020; its presence in the feature list is noise that makes the README harder to read. The live streaming path has been split into a separate project (Media-Framework), but the README still describes simulated live and live playlists in detail — which creates confusion about what this module actually handles versus what requires the other repo.