JW Player

JW Player’s Studio DRM (formerly Vualto’s VUDRM) supports PlayReady, Widevine, FairPlay and CENC (including 'cbcs' for CMAF).

Is it recommended to use the CPIX API to fetch encryption keys in the CPIX XML document format. All requests made to this API will require your API key set as the header API-KEY. If you do not know or have not been given your API key please contact JW Player Support at support@jwplayer.com.

Note

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

The following parameters are required and should contain appropriate values:

  • <api-key>

  • <client-name>

  • <content-id>

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

The CPIX Edge Reverse Proxy is to be used when the CPIX documents are going to be requested regularly and must be used if the Unified Origin is requesting the CPIX document via a URL.

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.

#!/bin/bash

curl -X GET -H "API-KEY: <api-key>" \
  "https://cpix.vudrm.tech/v1/cpix/<client-name>/<content-id>" \
  > drm.cpix

2.Package your content.

#!/bin/bash

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.

#!/bin/bash

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

The CPIX Key Provider is to be used when the CPIX documents will be requested infrequently, such as for one time packaging using the Unified Packager. JW Player recommends using the CPIX documents over the JSON format.

OR

When requesting keys from CPIX documents in a JSON format

CPIX Document Request the CPIX document from the CPIX Key Provider API.

1.Package your content.

#!/bin/bash

mp4split --license-key=$USP_LICENSE_KEY -o $ismName \
--cpix=drm.cpix \
video.ismv audio.isma

JSON Keys

1.Use the CPIX Key Provider API, to request the keys from the CPIX document in a JSON format. 2.Package your content with the keys returned from the CPIX Key Provider API.

 #!/bin/bash

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