To use B-HLS content encryption you need to add specific encryption certificates that will be stored on our side and later you will be able to use these certificates in the output DRM settings.
XML JSON
<?xml version="1.0"?>
<query>
<userid>[UserID]</userid> <!-- required-->
<userkey>[UserKey]</userkey> <!-- required-->
<action>AddBhlsCert</action> <!-- required-->
<x509>[X509Certificate]</x509> <!-- required-->
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "AddBhlsCert", // required
"x509": "[X509Certificate]", // required
}
}
Parameter Description Allowed Values Default Value x509 Certificate data x509 Certificate data none
XML JSON
<?xml version="1.0"?>
<query>
<userid>[UserID]</userid> <!-- required-->
<userkey>[UserKey]</userkey> <!-- required-->
<action>ListBhlsCert</action> <!-- required-->
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "ListBhlsCert" // required
}
}
XML JSON
<?xml version="1.0"?>
<query>
<userid>[UserID]</userid> <!-- required-->
<userkey>[UserKey]</userkey> <!-- required-->
<action>DeleteBhlsCert</action> <!-- required-->
<subject_key_identifier>[KeyID]</subject_key_identifier> <!-- required-->
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "DeleteBhlsCert", // required
"subject_key_identifier": "[KeyID]" // required
}
}
Parameter Description Allowed Values Default Value subject_key_identifier Certificate identifier that might be fetched with ListBhlsCert request String none
XML JSON
<?xml version="1.0"?>
<query>
<userid>[UserID]</userid> <!-- required-->
<userkey>[UserKey]</userkey> <!-- required-->
<action>[Action]</action> <!-- required-->
<source>[SourceFile]</source> <!-- required-->
<format>
<output>[advanced_hls|fmp4_hls]</output> <!-- required-->
<destination>[DestinationURL]</destination> <!-- required-->
<stream>
<!-- Manifests fields -->
<manifest>
<basename>[BaseName]</basename> <!-- required-->
<bhls_drm>[yes|no]</bhls_drm>
<!-- manifest params -->
</manifest>
<!-- Multiple manifests may be included -->
<manifest>
<!-- manifest params -->
</manifest>
<!-- stream params -->
</stream>
<!-- Multiple stream params may be included in advanced_hls output format -->
<!-- Maximum number of available streams is 15 -->
<stream>
<!-- stream params -->
</stream>
<bhls_drm>[yes|no]</bhls_drm>
<bhls_drm_certificates>
<subject_key_identifier>[KeyID_1]</subject_key_identifier>
<subject_key_identifier>[KeyID_2]</subject_key_identifier>
<!-- ... -->
<subject_key_identifier>[KeyID_N]</subject_key_identifier>
</bhls_drm_certificates>
<!-- format params -->
</format>
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "[Action]", // required
"source": "[SourceFile]", // required
"format": {
"output": "[advanced_hls|fmp4_hls]", // required
"destination": "[DestinationURL]", // required
"stream": [
{
"manifest": [
{
"basename": "[BaseName]",
"bhls_drm": "[yes|no]"
},
{
// manifest params
}
]
// stream params
},
{
// stream params
}
],
"bhls_drm": "[yes|no]",
"bhls_drm_certificates": {
"subject_key_identifier": [
"[KeyID_1]",
"[KeyID_2]",
// ...
"[KeyID_N]"
]
}
// format params
}
}
}
Parameter Description Allowed Values Default Value bhls_drm Apply B-HLS Content Encryption yes, no no Format Parameters - - - Stream Manifest Parameters - - - bhls_drm Apply B-HLS Content Encryption for manifest yes, no no bhls_drm_certificates B-HLS Content Encryption Certificates - - subject_key_identifier Certificate Identifier String none