跳到主要内容

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

1. Obtain a Playback Token

A playback token is required to acquire the DRM license. You can obtain the playback token 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.

2. Request the DRM License

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.

Get Service Certificate

Make a GET request to the API: https://drm.platform.blendvision.com/api/v3/drm/license/fairplay\_cert

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

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
  • Body:
OptionTypeValue
Option 1 (Suggested)JSON{"spc": [base64 standard encoded SPC message]}
Option 2Textspc=[base64 standard encoded SPC message]
Option 3byte array[binary array of FairPlay SPC, ex: 0x00 0x00 0x00 0x01 …]

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 FairPlay DRM protection (m3u8Manifest)
src: m3u8Manifest,
drm: {
fairplay: {
licenseUri: "[https://drm.platform.blendvision.com/api/v3/drm/license](https://drm.platform.blendvision.com/api/v3/drm/license)",
certificateUri: "[https://drm.platform.blendvision.com/api/v3/drm/license/fairplay\_cert](https://drm.platform.blendvision.com/api/v3/drm/license/fairplay_cert)"
headers: { // Specify DRM request data
'x-custom-data': \`token\_type=upfront&token\_value=${playbackToken}\`
}
certificateHeaders: {
'x-custom-data': \`token\_type=upfront&token\_value=${playbackToken}\`
}
}
}
}
}
// Create the player
player = createPlayer(target, config)

Workflow Sequence Diagram