Skip to main content

Request DRM License

To play DRM-protected content using the Player SDK, a valid DRM license is required. Follow the steps below to request a DRM license from BlendVision One.

Note

If you are using the BlendVision One showroom or iFrame player, no additional integration is needed. Please skip this guide.

Steps to Request a DRM License

Integration Flow

PlayerCustomer's ServerBV OneDRM ServerPlay the videoRequest to play a video1Request playback token w/ BV One API token2Return playback token3Pass playback token4Request DRM license w/ playback token5Return DRM license6PlayerCustomer's ServerBV OneDRM Server

1. Obtain the Playback Token

Refer to the step 2 and 3 in the flow above.

A playback token is required to acquire the DRM license. You can obtain the playback token on your server by using the following API:

POST /bv/cms/v1/tokens

Ensure that your request meets the necessary authentication and parameter requirements defined by the API documentation.

After the server successfully obtains the playback token, returns the token to the player for playback.

2. Request the DRM License

Refer to the step 5 and 6 in the flow above.

Once you have the playback token, you can proceed to request the DRM license. The specific endpoint and parameters for this request will depend on the DRM system you are using.

License Acquisition

Make a POST request to the API: https://drm.platform.blendvision.com/api/v3/drm/license

  • Headers:
KeyValue
x-custom-datatoken_type=upfront&token_value=playback_token

Below is a sample for player integration. For more comprehensive integration guides, refer to the following resources :

import createPlayer from '@blendvision/player'
const config = {
source: {
// Set content URL with Widevine DRM protection (mpdManifest)
src: mpdManifest,
drm: {
widevine: {
licenseUri: "https://drm.platform.blendvision.com/api/v3/drm/license",
headers: { // Specify DRM request data
'x-custom-data': `token_type=upfront&token_value=${playbackToken}`
}
}
}
}
}
// Create the player
player = createPlayer(target, config)