Prepare FPS Content for Axinom DRM
Axinom DRM expects the FairPlay Asset IDs of FPS content to be represented by a UTF-8 string in the format [skd://]<Key ID as GUID string>:<Key IV as 32-character hex string>
.
The :[Key IV]
part of the Asset ID
format is optional. If the IV
(A 16-byte initialization vector to encrypt/decrypt clear/encrypted media) is omitted here, it shall be specified in the Entitlement Message. If the IV is specified both in the asset ID and in the Entitlement Message, the value from the Entitlement Message takes precedence.
In the default case, the above Asset ID would correspond to the URI parameter
skd://72ea9ec1-abb4-40d8-b3a9-e0bd1833bd58:0123456789ABCDEF0123456789ABCDEF
in
the HLS playlist. Itβs the playback appβs responsibility to ensure that the URI
string is converted into an Asset ID with the required format. Refer to the sample implementation.
For Axinom license services the skd://
prefix is optional, however, it is required in the related URI field value in HLS manifests. Also, when a FairPlay player utilizes the modern standard EME (as opposed to the Apple-specific WebKit-prefixed EME), then the skd://
is mandatory in both the manifest and the Asset ID value.
Axinom expects the Asset ID to be represented by a UTF-8 string. When any other encoding is used, the Asset ID may fail to be parsed and an error is returned.
Examples of valid Axinom-compatible Asset IDs:
sdk://72ea9ec1-abb4-40d8-b3a9-e0bd1833bd58:0123456789ABCDEF0123456789ABCDEF
sdk://72ea9ec1-abb4-40d8-b3a9-e0bd1833bd58
(the IV is omitted)72ea9ec1-abb4-40d8-b3a9-e0bd1833bd58:0123456789ABCDEF0123456789ABCDEF
(theskd://
prefix is omitted)72ea9ec1-abb4-40d8-b3a9-e0bd1833bd58
(theskd://
prefix and the IV are omitted)
Key IV defined in the entitlement messageβ
{
"type": "entitlement_message",
"version": 2,
"license": { // (1)
"start_datetime": "2020-01-01T00:00:00+03:00",
"expiration_datetime": "2020-01-03T00:00:00+03:00",
"duration": 3600,
"allow_persistence": true,
...
},
"content_keys_source": {
"inline": [
{
"id": "11111111-0000-0000-0000-000000000000",
"iv": "HYDILKxZnPF0KizuWT0hww==" // (1)
}
]
}
}
Key IV defined in the manifest fileβ
#EXT-X-KEY:METHOD=SAMPLE-AES,URI="skd://302f80dd-411e-4886-bca5-bb1f8018a024:77FD1889AAF4143B085548B3C0F95B9A",KEYFORMATVERSIONS="1",KEYFORMAT="com.apple.streamingkeydelivery"
Most players in general can pick this value from the manifest automatically. A sample Fairplay manifest file can be found here.