finds.dev← search

// the find

shaka-project/shaka-packager

★ 2,530 · C++ · NOASSERTION · updated May 2026

A media packaging and development framework for VOD and Live DASH and HLS applications, supporting Common Encryption for Widevine and other DRM Systems.

Shaka Packager is Google's production-grade tool and C++ SDK for packaging video into DASH and HLS with DRM encryption (Widevine, PlayReady, FairPlay). It's the packaging counterpart to Shaka Player — if you're building a VOD or live streaming pipeline and need to produce encrypted, multi-bitrate manifests without licensing a commercial encoder, this is the serious open-source option.

1. Codec and container coverage is genuinely broad: H264/H265/VP9/AV1/IAMF across ISO-BMFF, WebM, and MPEG2-TS, plus Dolby AC3/EAC3/AC4 and DTS — this isn't a toy packager. 2. Usable three ways: CLI binary, Docker image, and C++ SDK via a clean public header in include/packager/ — so you can embed it in a pipeline without shelling out. 3. The test suite uses golden-file segment comparison (actual .m4s/.ts output files checked in) which catches real bitstream regressions, not just API shape. 4. Actively maintained by Google's Shaka team with proper release automation (release-please, matrix builds, Docker publishing) and a security policy.

1. PlayReady, FairPlay, and Marlin are marked 'limited support' — fine for Widevine-first deployments, a problem if you're targeting iOS FairPlay as a first-class requirement. 2. Building from source is a CMake+depot_tools setup inherited from Chromium; it's not a standard cmake configure+make, and onboarding is noticeably harder than most C++ projects. 3. No transcoding — it packages what you give it, so you need a separate FFmpeg/encoding step; the pipeline boundary is explicit but the tutorials undersell how much glue you need. 4. TTML subtitle input is pass-through only (DASH), and WebVTT-in-MP4 input is still an open issue — subtitle handling is the weakest part of an otherwise solid feature set.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →