SPEKE API v2 - VOD workflow method call examples
Request Syntax Example
The following URL is an example and does not indicate a fixed format.
POST https://speke-compatible-server/speke/v2.0/copyProtection
Request Body
A CPIX document.
Request Headers
Name | Type | Occurs | Description |
---|---|---|---|
|
String |
1..1 |
See AWS Sigv4 |
|
String |
1..1 |
See AWS Sigv4 |
|
String |
1..1 |
See AWS Sigv4 |
|
String |
1..1 |
application/xml |
|
String |
1..1 |
SPEKE API version used with the request, formulated as MajorVersion.MinorVersion, like '2.0' for SPEKE v2.0 |
Response Headers
Name | Type | Occurs | Description |
---|---|---|---|
|
String |
1..1 |
String that identifies the key provider |
|
String |
1..1 |
application/xml |
|
String |
1..1 |
SPEKE API version used with the request, formulated as MajorVersion.MinorVersion, like '2.0' for SPEKE v2.0 |
Request Response
HTTP CODE | Payload Name | Occurs | Description |
---|---|---|---|
|
CPIX |
1..1 |
DASH-CPIX payload response |
|
Client error message |
1..1 |
Description of the client error |
|
Server error message |
1..1 |
Description of the server error |
Note
The examples in this section do not include content key encryption. For information on how to add content key encryption, see Content key encryption.
VOD Example Request Payload with Keys in the Clear
The following example shows a typical VOD request payload from the encryptor to the DRM key provider, with one content key for all video tracks and one content key for all audio tracks:
<cpix:CPIX contentId="abc123" version="2.3" xmlns:cpix="urn:dashif:org:cpix" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc"> <cpix:ContentKeyList> <cpix:ContentKey explicitIV="OFj2IjCsPJFfMAxmQxLGPw==" kid="98ee5596-cd3e-a20d-163a-e382420c6eff" commonEncryptionScheme="cbcs"></cpix:ContentKey> <cpix:ContentKey explicitIV="L6jzdXrXAFbCJGBuMrrKrG==" kid="53abdba2-f210-43cb-bc90-f18f9a890a02" commonEncryptionScheme="cbcs"></cpix:ContentKey> </cpix:ContentKeyList> <cpix:DRMSystemList> <!-- FairPlay --> <cpix:DRMSystem kid="98ee5596-cd3e-a20d-163a-e382420c6eff" systemId="94ce86fb-07ff-4f43-adb8-93d2fa968ca2"> <cpix:HLSSignalingData playlist="media"></cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master"></cpix:HLSSignalingData> </cpix:DRMSystem> <cpix:DRMSystem kid="53abdba2-f210-43cb-bc90-f18f9a890a02" systemId="94ce86fb-07ff-4f43-adb8-93d2fa968ca2"> <cpix:HLSSignalingData playlist="media"></cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master"></cpix:HLSSignalingData> </cpix:DRMSystem> <!-- Widevine --> <cpix:DRMSystem kid="98ee5596-cd3e-a20d-163a-e382420c6eff" systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> <cpix:HLSSignalingData playlist="media"></cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master"></cpix:HLSSignalingData> <cpix:ContentProtectionData></cpix:ContentProtectionData> <cpix:PSSH></cpix:PSSH> </cpix:DRMSystem> <cpix:DRMSystem kid="53abdba2-f210-43cb-bc90-f18f9a890a02" systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> <cpix:HLSSignalingData playlist="media"></cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master"></cpix:HLSSignalingData> <cpix:ContentProtectionData></cpix:ContentProtectionData> <cpix:PSSH></cpix:PSSH> </cpix:DRMSystem> <!-- Playready --> <cpix:DRMSystem kid="98ee5596-cd3e-a20d-163a-e382420c6eff" systemId="9a04f079-9840-4286-ab92-e65be0885f95"> <cpix:HLSSignalingData playlist="media"></cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master"></cpix:HLSSignalingData> <cpix:ContentProtectionData></cpix:ContentProtectionData> <cpix:PSSH></cpix:PSSH> <cpix:SmoothStreamingProtectionHeaderData></cpix:SmoothStreamingProtectionHeaderData> </cpix:DRMSystem> <cpix:DRMSystem kid="53abdba2-f210-43cb-bc90-f18f9a890a02" systemId="9a04f079-9840-4286-ab92-e65be0885f95"> <cpix:HLSSignalingData playlist="media"></cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master"></cpix:HLSSignalingData> <cpix:ContentProtectionData></cpix:ContentProtectionData> <cpix:PSSH></cpix:PSSH> <cpix:SmoothStreamingProtectionHeaderData></cpix:SmoothStreamingProtectionHeaderData> </cpix:DRMSystem> </cpix:DRMSystemList> <cpix:ContentKeyUsageRuleList> <cpix:ContentKeyUsageRule kid="98ee5596-cd3e-a20d-163a-e382420c6eff" intendedTrackType="VIDEO"> <cpix:VideoFilter /> </cpix:ContentKeyUsageRule> <cpix:ContentKeyUsageRule kid="53abdba2-f210-43cb-bc90-f18f9a890a02" intendedTrackType="AUDIO"> <cpix:AudioFilter /> </cpix:ContentKeyUsageRule> </cpix:ContentKeyUsageRuleList> </cpix:CPIX>
VOD Example Response Payload with Keys in the Clear
The following example shows a typical response payload from the DRM key provider (returned values have been shortened with […] for readability):
<cpix:CPIX contentId="abc123" version="2.3" xmlns:cpix="urn:dashif:org:cpix" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc"> <cpix:ContentKeyList> <cpix:ContentKey explicitIV="OFj2IjCsPJFfMAxmQxLGPw==" kid="98ee5596-cd3e-a20d-163a-e382420c6eff" commonEncryptionScheme="cbcs"> <cpix:Data> <pskc:Secret> <pskc:PlainValue>5dGAgwGuUYu4dHeHtNlxJw==</pskc:PlainValue> </pskc:Secret> </cpix:Data> </cpix:ContentKey> <cpix:ContentKey explicitIV="L6jzdXrXAFbCJGBuMrrKrG==" kid="53abdba2-f210-43cb-bc90-f18f9a890a02" commonEncryptionScheme="cbcs"> <cpix:Data> <pskc:Secret> <pskc:PlainValue>h3toSFIlyAYpfXVQ795m6x==</pskc:PlainValue> </pskc:Secret> </cpix:Data> </cpix:ContentKey> </cpix:ContentKeyList> <cpix:DRMSystemList> <!-- FairPlay --> <cpix:DRMSystem kid="98ee5596-cd3e-a20d-163a-e382420c6eff" systemId="94ce86fb-07ff-4f43-adb8-93d2fa968ca2"> <cpix:HLSSignalingData playlist="media">aHR0cHM6L[...]WZm</cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master">Y29tLmFwc[...]XJ5</cpix:HLSSignalingData> </cpix:DRMSystem> <cpix:DRMSystem kid="53abdba2-f210-43cb-bc90-f18f9a890a02" systemId="94ce86fb-07ff-4f43-adb8-93d2fa968ca2"> <cpix:HLSSignalingData playlist="media">trBAnbMcj[...]u44</cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master">mn626PjyR[...]2fi</cpix:HLSSignalingData> </cpix:DRMSystem> <!-- Widevine --> <cpix:DRMSystem kid="98ee5596-cd3e-a20d-163a-e382420c6eff" systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> <cpix:HLSSignalingData playlist="media">Ifa2V5LWl[...]nNB</cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master">oIARIQeSI[...]Nd2l</cpix:HLSSignalingData> <cpix:ContentProtectionData>RoNd2lkZXZ[...]Nib</cpix:ContentProtectionData> <cpix:PSSH>AAAAanBzc[...]A==</cpix:PSSH> </cpix:DRMSystem> <cpix:DRMSystem kid="53abdba2-f210-43cb-bc90-f18f9a890a02" systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"> <cpix:HLSSignalingData playlist="media">lTznjvtzL[...]GfJ</cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master">XgzdzQH7p[...]zeX</cpix:HLSSignalingData> <cpix:ContentProtectionData>TdgRnuJsZ[...]wDw</cpix:ContentProtectionData> <cpix:PSSH>mYZbjpWdS[...]D==</cpix:PSSH> </cpix:DRMSystem> <!-- Playready --> <cpix:DRMSystem kid="98ee5596-cd3e-a20d-163a-e382420c6eff" systemId="9a04f079-9840-4286-ab92-e65be0885f95"> <cpix:HLSSignalingData playlist="media">HicXmbZ2m[...]4==</cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master">GVzdCIfa2[...]Eta</cpix:HLSSignalingData> <cpix:ContentProtectionData>t7WwH24FI[...]YCC</cpix:ContentProtectionData> <cpix:PSSH>FFFFanBzc[...]A==</cpix:PSSH> <cpix:SmoothStreamingProtectionHeaderData>s5RrJ12HL[...]UBB</cpix:SmoothStreamingProtectionHeaderData> </cpix:DRMSystem> <cpix:DRMSystem kid="53abdba2-f210-43cb-bc90-f18f9a890a02" systemId="9a04f079-9840-4286-ab92-e65be0885f95"> <cpix:HLSSignalingData playlist="media">BptGzwis2[...]Iej</cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master">3c9SXdVa0[...]MBH</cpix:HLSSignalingData> <cpix:ContentProtectionData>HotJCMQyc[...]GpU</cpix:ContentProtectionData> <cpix:PSSH>S6UD43ybN[...]f==</cpix:PSSH> <cpix:SmoothStreamingProtectionHeaderData>VBFUv2or0[...]JeP</cpix:SmoothStreamingProtectionHeaderData> </cpix:DRMSystem> </cpix:DRMSystemList> <cpix:ContentKeyUsageRuleList> <cpix:ContentKeyUsageRule kid="98ee5596-cd3e-a20d-163a-e382420c6eff" intendedTrackType="VIDEO"> <cpix:VideoFilter /> </cpix:ContentKeyUsageRule> <cpix:ContentKeyUsageRule kid="53abdba2-f210-43cb-bc90-f18f9a890a02" intendedTrackType="AUDIO"> <cpix:AudioFilter /> </cpix:ContentKeyUsageRule> </cpix:ContentKeyUsageRuleList> </cpix:CPIX>