Unified Packager

Learn how to use the Unified Packager to package your media for Studio DRM.

🚧

The CPIX documents returned by the JW CPIX API are only compatible with USP version 1.10.14 and up.


The Unified Packager works with content protection schemes, such as encryption, DRM, and multiple-key DRM, to create a seamless viewer experience.

📘

The Unified Packager can be used in conjunction with the Unified Origin. Both Broadcast Live and the JW Platform make heavy use of this software to deliver DRM video.


The following table provides implementation recommendations based upon use cases.

ApproachUse Case
CPIX Edge Reverse ProxyRequesting CPIX documents regularly, must be used if the Unified Origin is requesting the CPIX document via a URL.
CPIX Key Provider APIRequesting CPIX documents infrequently, such as for one time packaging using the Unified Packager.

OR

Requesting keys from CPIX documents in a JSON format

The following examples show how to request CPIX documents or the encryption keys in a JSON format. Be sure to refer to Unified Streaming's full list of CPIX mp4split options.



CPIX Edge Reverse Proxy

A CPIX document can be used in the following mp4split commands to encrypt content.

With a Locally-stored CPIX Document

  1. Request the CPIX document from the CPIX Edge Reverse Proxy.
curl -X GET -H "API-KEY: {api-key}" \
  "https://cpix.vudrm.tech/v1/cpix/{client-name}/{content-id}" \
  > drm.cpix
  1. Package your content.
mp4split --license-key=$USP_LICENSE_KEY -o $ismName \
  --cpix=drm.cpix \
  video.ismv audio.isma



With a CPIX Edge Reverse Proxy Reference

  1. Package your content.
mp4split --license-key=$USP_LICENSE_KEY -o $ismName \
  --cpix="http://local-cpix-proxy/v1/cpix/{client-name}/{content-id}" \
  video.ismv audio.isma


CPIX Key Provider API

CPIX Document

  1. Request the CPIX document from the CPIX API.
  2. Package your content.
mp4split --license-key=$USP_LICENSE_KEY -o $ismName \
  --cpix=drm.cpix \
  video.ismv audio.isma



JSON Keys

  1. Use the CPIX API, to request the keys from the CPIX document in a JSON format.
  2. Package your content with the keys returned from the CPIX API.
mp4split --license-key=$USP_LICENSE_KEY -o $ismName \
     --iss.key=$key_id_hex:$content_key_hex \
     --iss.license_server_url="https://playready-license.vudrm.tech/rightsmanager.asmx" \
     --widevine.key=$key_id_hex:$content_key_hex \
     --widevine.license_server_url="https://widevine-license.vudrm.tech/proxy" \
     --widevine.drm_specific_data=$widevine_drm_specific_data \
     --hls.client_manifest_version=4 \
     --hls.key=:$content_key_hex \
     --hls.key_iv=$iv_hex \
     --hls.license_server_url=$fairplay_laurl \
     --hls.playout=sample_aes_streamingkeydelivery \
     video.ismv audio.isma