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.
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
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:
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.
- FairPlay
- Widevine
- PlayReady
Get Service Certificate
Make a GET
request to the API: https://drm.platform.blendvision.com/api/v3/drm/license/fairplay\_cert
- Headers:
Key | Value |
---|---|
x-custom-data | token_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:
Key | Value |
---|---|
x-custom-data | token_type=upfront&token_value=playback_token |
- Body:
Option | Type | Value |
---|---|---|
Option 1 (Suggested) | JSON | {"spc": [base64 standard encoded SPC message]} |
Option 2 | Text | spc=[base64 standard encoded SPC message] |
Option 3 | byte 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)
License Acquisition
Make a POST
request to the API: https://drm.platform.blendvision.com/api/v3/drm/license
- Headers:
Key | Value |
---|---|
x-custom-data | token_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](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)
License Acquisition
Make a POST
request to the API: https://drm.platform.blendvision.com/api/v3/drm/license
- Headers:
Key | Value |
---|---|
x-custom-data | token_type=upfront&token_value=playback_token |
Content-Type | application/XML |
soapaction | http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense |
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 PlayReady DRM protection (mpdManifest)
src: mpdManifest,
drm: {
playready: {
licenseUri: "[https://drm.platform.blendvision.com/api/v3/drm/license](https://drm.platform.blendvision.com/api/v3/drm/license)",
headers: { // Specify DRM request data
'x-custom-data': \`token\_type=upfront&token\_value=${playbackToken}\`
'Content-Type': 'application/XML'
'soapaction': 'http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense'
}
}
}
}
}
// Create the player
player = createPlayer(target, config)