Unified Origin - DRM¶
Unified Origin supports all major DRM systems. If you are packaging content for offline, please see Unified Packager.
This section describes the on-the-fly encryption possibilities: encryption is added when the fragment is served. This works for both clear and pre-encrypted content for VOD as well as for Live.
In case your input is pre-encrypted, Packager and Origin will pick up on any DRM signaling present in the input and automatically pass it through in the output they generate. This means that for any DRM system for which signaling is present in the input, you do not need to specify DRM configuration options when preparing your stream. However, do note that there are DRM systems for which such signaling can't be present by design, like FairPlay, because signaling for these systems is never stored in the media. This means that to support such DRM systems, you will always need to add the necessary DRM configuration options.
Schematically this looks like the following:
GET drm keys --> origin <-- (encrypted) hds|hls|hss|dash
The following matrix shows the possible combinations of the various DRM systems and the ABR playout formats, integration with DRM providers is documented where applicable within the actual DRM documentation.
|Digital Rights Management||MPEG-DASH||HDS||HLS TS||HLS fMP4||HSS|
|Google Widevine Modular||yes||yes|
When DRM is enabled for (a) certain format(s), Unified Origin will automatically disable playout of the formats that are not protected.
To override this default behaviour, explicity signal that playout of the
unprotected ('clear') format(s) should be allowed by using
--[iss|hls|hds|mpd].playout=clear when generating the server manifest.
Please note that a key (key id or content key) of '0' (e.g.
0x00000000000000000000000000000000) is not valid in any of
the DRMs outlined above.
For DRM vendor specific information please see Third Party DRM Providers below.
Table of Contents
- Using DRM with Key Rotation (HLS TS Only)