Request DRM License
To playback a DRM-protected content using Player SDK, a valid DRM license is required. Follow the steps to request the DRM license from BlendVision One.
If you are using BlendVision One showroom or iFrame player, there is no need for additional integration, please skip this guide.
- 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)