The cloud DVR solution Anevia allows the viewers to record live TV shows. Learn how it integrates directly with Axinom Key Service via the specific endpoint.

Anevia

Axinom Key Service supports a direct integration with Anevia NEA-DVR, a cloud DVR solution that enables the viewers to record live TV shows.

The integration endpoint is /Anevia of the Key Acquisition API.

Functionality

The Client requests one or more content keys. The Key Service generates the necessary keys using the Key Seed model and returns the keys with additional DRM-specific metadata where needed.

ClientKey_ServiceKey_Acquisition_APIAnevia EncoderCPIX ConfigurationCPIX
Figure 1. Anevia - Request/Response

Authorization

This endpoint requires an authorization header - the same as described under the Key Service Management API.

Request/Response Format

Request

The Client provides the input parameters in a JSON data structure, in the so-called CPIX Configuration. CPIX Configuration shall be supplied in base64-encoded form. Individual properties of this data structure control the respective aspects of the generated CPIX document.

{
	"ContentKeyIds":
	[
		"00000000-0000-0000-0000-111111111111",
		"00000000-0000-0000-0000-222222222222"
	],
	"DrmSystemIds":
	[
		"94ce86fb-07ff-4f43-adb8-93d2fa968ca2",
		"9a04f079-9840-4286-ab92-e65be0885f95",
		"edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"
	],
	"ContentKeyUsageRules":
	[
		{
			"KeyId": "00000000-0000-0000-0000-111111111111",
			"AudioFilters":
			[
				{
				}
			]
		},
		{
			"KeyId": "00000000-0000-0000-0000-222222222222",
			"VideoFilters":
			[
				{
					"minPixels": 0, "maxPixels": 2073600
				}
			]
		}
	]
}

The table below explains the elements of the request JSON.

Element Description

ContentKeyIds

The list of the Key IDs for which the Keys shall be generated. Key ID is a GUID.

DrmSystemIds

Requested DRM types, for which the PSSH Boxes will be delivered. The IDs are as defined by DASH-IF. Axinom Key Service supports FairPlay, PlayReady, and Widevine (listed in the example above in this order).

ContentKeyUsageRules

Content key usage rules for each key. It’s a pass-through which will be set in CPIX and returned to the Client.

For more information on valid combinations of Content Key Usage Rules and how Anevia NEA-DVR processes Content Key Usage Rules, see the document NEA-DVR-SW - PIX back-end by Anevia.

Response

The response is a CPIX document.

Example CPIX document returned by the /Anevia endpoint
<?xml version="1.0" encoding="utf-8"?>
<CPIX
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="urn:dashif:org:cpix"
  xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
  xmlns:enc="http://www.w3.org/2001/04/xmlenc#"
  xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc">
  <ContentKeyList>
    <ContentKey kid="00000000-0000-0000-0000-111111111111" explicitIV="Ue7qBIMJFkSgNQdeBEEMnQ==">
      <Data>
        <pskc:Secret>
          <pskc:PlainValue>mLE9R9fKrFiE8KB5OiVPYA==</pskc:PlainValue>
        </pskc:Secret>
      </Data>
    </ContentKey>
    <ContentKey kid="00000000-0000-0000-0000-222222222222" explicitIV="v4qKp01BqkyqerPOS+nX0A==">
      <Data>
        <pskc:Secret>
          <pskc:PlainValue>VhpO1WowkZ5RQlOKnLtdow==</pskc:PlainValue>
        </pskc:Secret>
      </Data>
    </ContentKey>
  </ContentKeyList>
  <DRMSystemList>
    <DRMSystem systemId="94ce86fb-07ff-4f43-adb8-93d2fa968ca2" kid="00000000-0000-0000-0000-111111111111">
      <URIExtXKey>c2tkOi8vMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMTExMTExMTExMTExOjUxRUVFQTA0ODMwOTE2NDRBMDM1MDc1RTA0NDEwQzlE</URIExtXKey>
    </DRMSystem>
    <DRMSystem systemId="94ce86fb-07ff-4f43-adb8-93d2fa968ca2" kid="00000000-0000-0000-0000-222222222222">
      <URIExtXKey>c2tkOi8vMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMjIyMjIyMjIyMjIyOkJGOEE4QUE3NEQ0MUFBNENBQTdBQjNDRTRCRTlEN0Qw</URIExtXKey>
    </DRMSystem>
    <DRMSystem systemId="9a04f079-9840-4286-ab92-e65be0885f95" kid="00000000-0000-0000-0000-111111111111">
      <ContentProtectionData>PGNlbmM6cHNzaC...UGdBPTwvcHJvPg==</ContentProtectionData>
    </DRMSystem>
    <DRMSystem systemId="9a04f079-9840-4286-ab92-e65be0885f95" kid="00000000-0000-0000-0000-222222222222">
      <ContentProtectionData>PGNlbmM6cHNzaCB4...BUGdBPTwvcHJvPg==</ContentProtectionData>
    </DRMSystem>
    <DRMSystem systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" kid="00000000-0000-0000-0000-111111111111">
      <ContentProtectionData>PGNlbmM6...QY2xac0c8L2NlbmM6cHNzaD4=</ContentProtectionData>
    </DRMSystem>
    <DRMSystem systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" kid="00000000-0000-0000-0000-222222222222">
      <ContentProtectionData>PGNlbmM6c...L2NlbmM6cHNzaD4=</ContentProtectionData>
    </DRMSystem>
  </DRMSystemList>
  <ContentKeyUsageRuleList>
    <ContentKeyUsageRule kid="00000000-0000-0000-0000-111111111111">
      <AudioFilter />
    </ContentKeyUsageRule>
    <ContentKeyUsageRule kid="00000000-0000-0000-0000-222222222222">
      <VideoFilter minPixels="0" maxPixels="2073600" />
    </ContentKeyUsageRule>
  </ContentKeyUsageRuleList>
</CPIX>

The table below describes some important elements of the response CPIX document.

Element Description

ContentKeyList

A generated Key and an initialization vector (IV) for each Key ID.

DrmSystemList

Additional protection data for each requested DRM system and for each key

ContentKeyUsageRuleList

Content key usage rules, the same as in the request

Revision History

The table below lists the document versions and any changes to them.

Version Date Description

1.0

November 20, 2020

  • Initial version.

1.1

May 20, 2021

  • Comments in code replaced by tables.