Skip to main content
Skip table of contents

Google - Sample requests and responses

1. Definitions

1.1. Consumer mode

The packager acquires the content keys and the DRM signalization from the key server, which assumes the responsibility of generating the content keys and the key IDs.

In the request, the packager includes the content ID and the DRM type.

The key server generates the corresponding content key value and key ID.

This is the only mode supported by the Google API.


2. Supported features

The GCE API supports the key rotation and key per track features.


3. Nominal requests

3.1. Live

  • The Packager sends the content ID, DRM type (WV/PR), policy, and key rotation parameters (optional) in request. It is signed with the credentials present in the configuration.

  • The key server generates the key ID and the key value with crypto-index (only for key rotation).

  • The response is base64 encoded.

GCE LIVE No rotation WV Sample request

CODE
{
   "request":"eyJjb250ZW50X2lkIjoiUjBORk1EQXkiLCJwb2xpY3kiOiJ0ZXN0X3BvbGljeSIsImRybV90eXBlcyI6WyJXSURFVklORSJdfQ==",
   "signature":"atKsoxKPKPWgYWdYQTJrBTmnYRfQ3dbpGEnYJRYxQ5E=",
   "signer":"mdrmblr_nks1"
}

Request Content

CODE
{
   "content_id":"R0NFMDAy",
   "drm_types":[
      "WIDEVINE"
   ],
   "policy":"test_policy"
}


GCE LIVE No rotation WV Sample response

CODE
{
 "response":"eyJzdGF0dXMiOiJPSyIsImNvbnRlbnRfaWQiOiJSME5GTURBeSIsImRybSI6W3sidHlwZSI6IldJREVWSU5FIiwic3lzdGVtX2lkIjoiZWRlZjhiYTk3OWQ2NGFjZWEzYzgyN2RjZDUxZDIxZWQifV0sInRyYWNrcyI6W3sicHNzaCI6W3siZHJtX3R5cGUiOiJXSURFVklORSIsImRhdGEiOiJDQUVTRU5IUTlvQllJRTR2bHFtTENnYyt5QjRhQlVOdmJtRjRJZ1pIUTBVd01EST0ifV0sImtleV9pZCI6IjBkRDJnRmdnVGkrV3FZc0tCejdJSGc9PSIsImtleSI6IjI5MkpPNUUwd3k4dks1Rkp0VU9VT1E9PSJ9XX0="
}

Response Content

CODE
{
   "status":"OK",
   "content_id":"R0NFMDAy",
   "drm":[
     {
       "type":"WIDEVINE",
       "system_id":"edef8ba979d64acea3c827dcd51d21ed"
     }
   ],
   "tracks":[
     {
	   "pssh":[
          {
		     "drm_type":"WIDEVINE",
             "data":"CAESENHQ9oBYIE4vlqmLCgc+yB4aBUNvbmF4IgZHQ0UwMDI="
		  }
        ],
        "key_id":"0dD2gFggTi+WqYsKBz7IHg==",
        "key":"292JO5E0wy8vK5FJtUOUOQ=="
	 }
   ]
}

3.2. VOD

  • The packager sends the content ID, DRM type (WV/PR) and the policy. It is signed with the credentials present in the configuration.

  • The key server generates the key ID and the key value.

  • The response is base64 encoded.

GCE VOD No rotation WV Sample request

CODE
{
   "request":"eyJjb250ZW50X2lkIjoiUjBORk1EQXoiLCJwb2xpY3kiOiJ0ZXN0X3BvbGljeSIsImRybV90eXBlcyI6WyJXSURFVklORSJdfQ==",
   "signature":"VZxQLJNApfc9mrzSXWG1bikqZFnVVS9qVaNgkzyr0KI=",
   "signer":"mdrmblr_nks1"
}

Request Content

CODE
{
   "content_id":"R0NFMDAz",
   "drm_types":[
      "WIDEVINE"
   ],
   "policy":"test_policy"
}

GCE VOD No rotation WV Sample response

CODE
{
  "response":"eyJzdGF0dXMiOiJPSyIsImNvbnRlbnRfaWQiOiJSME5GTURBeiIsImRybSI6W3sidHlwZSI6IldJREVWSU5FIiwic3lzdGVtX2lkIjoiZWRlZjhiYTk3OWQ2NGFjZWEzYzgyN2RjZDUxZDIxZWQifV0sInRyYWNrcyI6W3sicHNzaCI6W3siZHJtX3R5cGUiOiJXSURFVklORSIsImRhdGEiOiJDQUVTRU41M0xnSzZRVVQ5ams3NldnUDZsUWNhQlVOdmJtRjRJZ1pIUTBVd01ETT0ifV0sImtleV9pZCI6IjNuY3VBcnBCUlAyT1R2cGFBL3FWQnc9PSIsImtleSI6IlN1Q2Y2YVVBMnBDcktyclBqOXA3QlE9PSJ9XX0="
}

Response Content

CODE
{
   "status":"OK",
   "content_id":"R0NFMDAz",
   "drm":[
     {
       "type":"WIDEVINE",
       "system_id":"edef8ba979d64acea3c827dcd51d21ed"
     }
   ],
   "tracks":[
      {
	     "pssh":[
            {
			    "drm_type":"WIDEVINE",
                "data":"CAESEN53LgK6QUT9jk76WgP6lQcaBUNvbmF4IgZHQ0UwMDM="
            }
          ],
          "key_id":"3ncuArpBRP2OTvpaA/qVBw==",
          "key":"SuCf6aUA2pCrKrrPj9p7BQ=="
      }
   ]
}

4. Key rotation

GCE LIVE With rotation PR Sample request

CODE
{
  "request":"eyJjb250ZW50X2lkIjoiUjBORk1EQXkiLCJwb2xpY3kiOiJ0ZXN0X3BvbGljeSIsImZpcnN0X2NyeXB0b19wZXJpb2RfaW5kZXgiOjAsImNyeXB0b19wZXJpb2RfY291bnQiOjIsImNyeXB0b19wZXJpb2Rfc2Vjb25kcyI6MzAsImRybV90eXBlcyI6WyJQTEFZUkVBRFkiXX0=",
  "signature":"xLRD4o+tGJLLSIn/u39ffP0cLGRH9FicWEgjjzp54zQ=",
  "signer":"mdrmblr_nks1"
}

Request Content

CODE
{
   "content_id":"R0NFMDAy",
   "first_crypto_period_index":0,
   "crypto_period_seconds":30,
   "crypto_period_count":2,
   "drm_types":[
      "PLAYREADY"
   ],
   "policy":"test_policy"
}

GCE LIVE With rotation PR Sample response

CODE
{
   "response":"eyJzdGF0dXMiOiJPSyIsImNvbnRlbnRfaWQiOiJSME5GTURBeSIsImRybSI6W3sidHlwZSI6IlBMQVlSRUFEWSIsInN5c3RlbV9pZCI6Ijc5ZjAwNDlhLTQwOTgtODY0Mi1hYjkyLWU2NWJlMDg4NWY5NSJ9XSwidHJhY2tzIjpbeyJwc3NoIjpbeyJkcm1fdHlwZSI6IlBMQVlSRUFEWSIsImRhdGEiOiJQZ1FBQUFFQUFRQTBCRHdBVndCU0FFMEFTQUJGQUVFQVJBQkZBRklBSUFCNEFHMEFiQUJ1QUhNQVBRQWlBR2dBZEFCMEFIQUFPZ0F2QUM4QWN3QmpBR2dBWlFCdEFHRUFjd0F1QUcwQWFRQmpBSElBYndCekFHOEFaZ0IwQUM0QVl3QnZBRzBBTHdCRUFGSUFUUUF2QURJQU1BQXdBRGNBTHdBd0FETUFMd0JRQUd3QVlRQjVBRklBWlFCaEFHUUFlUUJJQUdVQVlRQmtBR1VBY2dBaUFDQUFkZ0JsQUhJQWN3QnBBRzhBYmdBOUFDSUFOQUF1QURBQUxnQXdBQzRBTUFBaUFENEFQQUJFQUVFQVZBQkJBRDRBUEFCUUFGSUFUd0JVQUVVQVF3QlVBRWtBVGdCR0FFOEFQZ0E4QUVzQVJRQlpBRXdBUlFCT0FENEFNUUEyQUR3QUx3QkxBRVVBV1FCTUFFVUFUZ0ErQUR3QVFRQk1BRWNBU1FCRUFENEFRUUJGQUZNQVF3QlVBRklBUEFBdkFFRUFUQUJIQUVrQVJBQStBRHdBTHdCUUFGSUFUd0JVQUVVQVF3QlVBRWtBVGdCR0FFOEFQZ0E4QUV3QVFRQmZBRlVBVWdCTUFENEFhQUIwQUhRQWNBQnpBRG9BTHdBdkFHTUFid0J1QUc0QVpRQmpBSFFBTGdCakFHOEFiZ0JoQUhnQUxnQmpBRzhBYlFBdkFHd0FhUUJqQUdVQWJnQnpBR1VBTHdCd0FHd0FZUUI1QUhJQVpRQmhBR1FBZVFBOEFDOEFUQUJCQUY4QVZRQlNBRXdBUGdBOEFFd0FWUUJKQUY4QVZRQlNBRXdBUGdCb0FIUUFkQUJ3QUhNQU9nQXZBQzhBWXdCdkFHNEFiZ0JsQUdNQWRBQXVBR01BYndCdUFHRUFlQUF1QUdNQWJ3QnRBQzhBYkFCcEFHTUFaUUJ1QUhNQVpRQXZBSEFBYkFCaEFIa0FjZ0JsQUdFQVpBQjVBRHdBTHdCTUFGVUFTUUJmQUZVQVVnQk1BRDRBUEFCTEFFa0FSQUErQUZBQU5nQkRBR3dBV0FCSEFHWUFPQUJWQURBQWRRQkhBRzRBUndCMkFFc0FUUUF5QUVZQWVnQjRBRUVBUFFBOUFEd0FMd0JMQUVrQVJBQStBRHdBUXdCVkFGTUFWQUJQQUUwQVFRQlVBRlFBVWdCSkFFSUFWUUJVQUVVQVV3QWdBSGdBYlFCc0FHNEFjd0E5QUNJQUlnQStBRHdBUXdCdkFHNEFkQUJsQUc0QWRBQlNBR1VBWmdBK0FFY0FRd0JGQURBQU1BQXlBRHdBTHdCREFHOEFiZ0IwQUdVQWJnQjBBRklBWlFCbUFENEFQQUJEQUhJQWVRQndBSFFBYndCUUFHVUFjZ0JwQUc4QVpBQkpBRzRBWkFCbEFIZ0FQZ0F3QUR3QUx3QkRBSElBZVFCd0FIUUFid0JRQUdVQWNnQnBBRzhBWkFCSkFHNEFaQUJsQUhnQVBnQThBRU1BY2dCNUFIQUFkQUJ2QUZBQVpRQnlBR2tBYndCa0FGTUFaUUJqQUc4QWJnQmtBSE1BUGdBekFEQUFQQUF2QUVNQWNnQjVBSEFBZEFCdkFGQUFaUUJ5QUdrQWJ3QmtBRk1BWlFCakFHOEFiZ0JrQUhNQVBnQThBQzhBUXdCVkFGTUFWQUJQQUUwQVFRQlVBRlFBVWdCSkFFSUFWUUJVQUVVQVV3QStBRHdBUXdCSUFFVUFRd0JMQUZNQVZRQk5BRDRBYUFCcEFGRUFNd0JNQUdrQWRRQktBSElBYWdCWkFEMEFQQUF2QUVNQVNBQkZBRU1BU3dCVEFGVUFUUUErQUR3QUx3QkVBRUVBVkFCQkFENEFQQUF2QUZjQVVnQk5BRWdBUlFCQkFFUUFSUUJTQUQ0QSJ9XSwia2V5X2lkIjoiWEtXZ1AveG5TMU9Hbkd2S00yRnp4QT09Iiwia2V5IjoidFFEUEp3aGlTdTUzUUxzNXJqWnB6UT09IiwiY3J5cHRvX3BlcmlvZF9pbmRleCI6MH0seyJwc3NoIjpbeyJkcm1fdHlwZSI6IlBMQVlSRUFEWSIsImRhdGEiOiJQZ1FBQUFFQUFRQTBCRHdBVndCU0FFMEFTQUJGQUVFQVJBQkZBRklBSUFCNEFHMEFiQUJ1QUhNQVBRQWlBR2dBZEFCMEFIQUFPZ0F2QUM4QWN3QmpBR2dBWlFCdEFHRUFjd0F1QUcwQWFRQmpBSElBYndCekFHOEFaZ0IwQUM0QVl3QnZBRzBBTHdCRUFGSUFUUUF2QURJQU1BQXdBRGNBTHdBd0FETUFMd0JRQUd3QVlRQjVBRklBWlFCaEFHUUFlUUJJQUdVQVlRQmtBR1VBY2dBaUFDQUFkZ0JsQUhJQWN3QnBBRzhBYmdBOUFDSUFOQUF1QURBQUxnQXdBQzRBTUFBaUFENEFQQUJFQUVFQVZBQkJBRDRBUEFCUUFGSUFUd0JVQUVVQVF3QlVBRWtBVGdCR0FFOEFQZ0E4QUVzQVJRQlpBRXdBUlFCT0FENEFNUUEyQUR3QUx3QkxBRVVBV1FCTUFFVUFUZ0ErQUR3QVFRQk1BRWNBU1FCRUFENEFRUUJGQUZNQVF3QlVBRklBUEFBdkFFRUFUQUJIQUVrQVJBQStBRHdBTHdCUUFGSUFUd0JVQUVVQVF3QlVBRWtBVGdCR0FFOEFQZ0E4QUV3QVFRQmZBRlVBVWdCTUFENEFhQUIwQUhRQWNBQnpBRG9BTHdBdkFHTUFid0J1QUc0QVpRQmpBSFFBTGdCakFHOEFiZ0JoQUhnQUxnQmpBRzhBYlFBdkFHd0FhUUJqQUdVQWJnQnpBR1VBTHdCd0FHd0FZUUI1QUhJQVpRQmhBR1FBZVFBOEFDOEFUQUJCQUY4QVZRQlNBRXdBUGdBOEFFd0FWUUJKQUY4QVZRQlNBRXdBUGdCb0FIUUFkQUJ3QUhNQU9nQXZBQzhBWXdCdkFHNEFiZ0JsQUdNQWRBQXVBR01BYndCdUFHRUFlQUF1QUdNQWJ3QnRBQzhBYkFCcEFHTUFaUUJ1QUhNQVpRQXZBSEFBYkFCaEFIa0FjZ0JsQUdFQVpBQjVBRHdBTHdCTUFGVUFTUUJmQUZVQVVnQk1BRDRBUEFCTEFFa0FSQUErQUZjQVF3QTVBR29BUXdCYUFFd0FUQUJaQUZVQVZ3QTVBR01BUlFCVEFIWUFZd0I0QUZrQVNRQXJBR2NBUFFBOUFEd0FMd0JMQUVrQVJBQStBRHdBUXdCVkFGTUFWQUJQQUUwQVFRQlVBRlFBVWdCSkFFSUFWUUJVQUVVQVV3QWdBSGdBYlFCc0FHNEFjd0E5QUNJQUlnQStBRHdBUXdCdkFHNEFkQUJsQUc0QWRBQlNBR1VBWmdBK0FFY0FRd0JGQURBQU1BQXlBRHdBTHdCREFHOEFiZ0IwQUdVQWJnQjBBRklBWlFCbUFENEFQQUJEQUhJQWVRQndBSFFBYndCUUFHVUFjZ0JwQUc4QVpBQkpBRzRBWkFCbEFIZ0FQZ0F4QUR3QUx3QkRBSElBZVFCd0FIUUFid0JRQUdVQWNnQnBBRzhBWkFCSkFHNEFaQUJsQUhnQVBnQThBRU1BY2dCNUFIQUFkQUJ2QUZBQVpRQnlBR2tBYndCa0FGTUFaUUJqQUc4QWJnQmtBSE1BUGdBekFEQUFQQUF2QUVNQWNnQjVBSEFBZEFCdkFGQUFaUUJ5QUdrQWJ3QmtBRk1BWlFCakFHOEFiZ0JrQUhNQVBnQThBQzhBUXdCVkFGTUFWQUJQQUUwQVFRQlVBRlFBVWdCSkFFSUFWUUJVQUVVQVV3QStBRHdBUXdCSUFFVUFRd0JMQUZNQVZRQk5BRDRBZVFCRUFGSUFjUUJZQUVnQVpBQnFBRWdBTmdCSkFEMEFQQUF2QUVNQVNBQkZBRU1BU3dCVEFGVUFUUUErQUR3QUx3QkVBRUVBVkFCQkFENEFQQUF2QUZjQVVnQk5BRWdBUlFCQkFFUUFSUUJTQUQ0QSJ9XSwia2V5X2lkIjoiQ1dNdldNdVNSV0c5Y0VTdmN4WUkrZz09Iiwia2V5IjoiYi9RbmpPTkVFZCt6alQ3YlMzeExkUT09IiwiY3J5cHRvX3BlcmlvZF9pbmRleCI6MX1dfQ=="
}

Response Content

CODE
{
   "status":"OK",
   "content_id":"R0NFMDAy",
   "drm":[
    {
       "type":"PLAYREADY",
       "system_id":"79f0049a-4098-8642-ab92-e65be0885f95"
    }
   ],
  "tracks":[
      {
	     "pssh":[
           {
			  "drm_type":"PLAYREADY",
              "data":"PgQAAAEAAQA0BDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGMAbwBuAG4AZQBjAHQALgBjAG8AbgBhAHgALgBjAG8AbQAvAGwAaQBjAGUAbgBzAGUALwBwAGwAYQB5AHIAZQBhAGQAeQA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AbgBlAGMAdAAuAGMAbwBuAGEAeAAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAvAHAAbABhAHkAcgBlAGEAZAB5ADwALwBMAFUASQBfAFUAUgBMAD4APABLAEkARAA+AFAANgBDAGwAWABHAGYAOABVADAAdQBHAG4ARwB2AEsATQAyAEYAegB4AEEAPQA9ADwALwBLAEkARAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBvAG4AdABlAG4AdABSAGUAZgA+AEcAQwBFADAAMAAyADwALwBDAG8AbgB0AGUAbgB0AFIAZQBmAD4APABDAHIAeQBwAHQAbwBQAGUAcgBpAG8AZABJAG4AZABlAHgAPgAwADwALwBDAHIAeQBwAHQAbwBQAGUAcgBpAG8AZABJAG4AZABlAHgAPgA8AEMAcgB5AHAAdABvAFAAZQByAGkAbwBkAFMAZQBjAG8AbgBkAHMAPgAzADAAPAAvAEMAcgB5AHAAdABvAFAAZQByAGkAbwBkAFMAZQBjAG8AbgBkAHMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AaABpAFEAMwBMAGkAdQBKAHIAagBZAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A"
           }
        ],
        "key_id":"XKWgP/xnS1OGnGvKM2FzxA==",
        "key":"tQDPJwhiSu53QLs5rjZpzQ==",
        "crypto_period_index":0
     },
     {
        "pssh":[
          {
             "drm_type":"PLAYREADY",
             "data":"PgQAAAEAAQA0BDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGMAbwBuAG4AZQBjAHQALgBjAG8AbgBhAHgALgBjAG8AbQAvAGwAaQBjAGUAbgBzAGUALwBwAGwAYQB5AHIAZQBhAGQAeQA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AYwBvAG4AbgBlAGMAdAAuAGMAbwBuAGEAeAAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAvAHAAbABhAHkAcgBlAGEAZAB5ADwALwBMAFUASQBfAFUAUgBMAD4APABLAEkARAA+AFcAQwA5AGoAQwBaAEwATABZAFUAVwA5AGMARQBTAHYAYwB4AFkASQArAGcAPQA9ADwALwBLAEkARAA+ADwAQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwAgAHgAbQBsAG4AcwA9ACIAIgA+ADwAQwBvAG4AdABlAG4AdABSAGUAZgA+AEcAQwBFADAAMAAyADwALwBDAG8AbgB0AGUAbgB0AFIAZQBmAD4APABDAHIAeQBwAHQAbwBQAGUAcgBpAG8AZABJAG4AZABlAHgAPgAxADwALwBDAHIAeQBwAHQAbwBQAGUAcgBpAG8AZABJAG4AZABlAHgAPgA8AEMAcgB5AHAAdABvAFAAZQByAGkAbwBkAFMAZQBjAG8AbgBkAHMAPgAzADAAPAAvAEMAcgB5AHAAdABvAFAAZQByAGkAbwBkAFMAZQBjAG8AbgBkAHMAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AeQBEAFIAcQBYAEgAZABqAEgANgBJAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A"
         }
       ],
       "key_id":"CWMvWMuSRWG9cESvcxYI+g==",
       "key":"b/QnjONEEd+zjT7bS3xLdQ==",
       "crypto_period_index":1
     }
   ]
}


5. Key per track

Applicable for VOD and Live.

The packager sends the request with the content ID, the tracks , the DRM type, and key rotation parameters (optional).

The key server generates a key ID and key value per track.

5.1 GCE LIVE KPT No rotation WV SD and HD tracks Sample request

CODE
{
   "request":"eyJjb250ZW50X2lkIjoiUjBORkxVdFFWQzFNU1ZaRiIsInBvbGljeSI6InRlc3RfcG9saWN5IiwiZHJtX3R5cGVzIjpbIldJREVWSU5FIl0sInRyYWNrcyI6W3sidHlwZSI6IkhEIn0seyJ0eXBlIjoiU0QifV19",
   "signature":"MPU2PRyqRdSzgAiyREbwTKaVb+lgAdK8uhNS2yab760=",
   "signer":"cx-test"
}

Request Content

CODE
{
   "content_id":"R0NFLUtQVC1MSVZF",
   "drm_types":[
      "WIDEVINE"
   ],
   "tracks":[
      {
         "type":"HD"
      },
      {
         "type":"SD"
      }
   ],
   "policy":"test_policy"
}

GCE LIVE KPT No rotation WV SD and HD tracks Sample response

CODE
{
"response":"eyJzdGF0dXMiOiJPSyIsImNvbnRlbnRfaWQiOiJSME5GTFV0UVZDMU1TVlpGIiwiZHJtIjpbeyJ0eXBlIjoiV0lERVZJTkUiLCJzeXN0ZW1faWQiOiJlZGVmOGJhOTc5ZDY0YWNlYTNjODI3ZGNkNTFkMjFlZCJ9XSwidHJhY2tzIjpbeyJwc3NoIjpbeyJkcm1fdHlwZSI6IldJREVWSU5FIiwiZGF0YSI6IkNBRVNFUFloUWVMVlpVb2h1M3l0RDFWaHRxTWFCVU52Ym1GNElneEhRMFV0UzFCVUxVeEpWa1U9In1dLCJ0eXBlIjoiSEQiLCJrZXlfaWQiOiI5aUZCNHRWbFNpRzdmSzBQVldHMm93PT0iLCJrZXkiOiJMa1BJQ0VRYVZsVFBsVW9YM29xb3RBPT0ifSx7InBzc2giOlt7ImRybV90eXBlIjoiV0lERVZJTkUiLCJkYXRhIjoiQ0FFU0VJZ213V2pMNjBRWm5pSE1IeEEybzlFYUJVTnZibUY0SWd4SFEwVXRTMUJVTFV4SlZrVT0ifV0sInR5cGUiOiJTRCIsImtleV9pZCI6ImlDYkJhTXZyUkJtZUljd2ZFRGFqMFE9PSIsImtleSI6IllCUnJBN3hZRWJOcnptWXFNVldVaFE9PSJ9XX0="
}

Response Content

CODE
{
   "status":"OK",
   "content_id":"R0NFLUtQVC1MSVZF",
   "drm":[
      {
         "type":"WIDEVINE",
         "system_id":"edef8ba979d64acea3c827dcd51d21ed"
      }
   ],
   "tracks":[
      {
         "pssh":[
            {
               "drm_type":"WIDEVINE",
               "data":"CAESEPYhQeLVZUohu3ytD1VhtqMaBUNvbmF4IgxHQ0UtS1BULUxJVkU="
            }
         ],
         "type":"HD",
         "key_id":"9iFB4tVlSiG7fK0PVWG2ow==",
         "key":"LkPICEQaVlTPlUoX3oqotA=="
      },
      {
         "pssh":[
            {
               "drm_type":"WIDEVINE",
               "data":"CAESEIgmwWjL60QZniHMHxA2o9EaBUNvbmF4IgxHQ0UtS1BULUxJVkU="
            }
         ],
         "type":"SD",
         "key_id":"iCbBaMvrRBmeIcwfEDaj0Q==",
         "key":"YBRrA7xYEbNrzmYqMVWUhQ=="
      }
   ]
}

5.2 GCE LIVE KPT No rotation WV SD and SD tracks Sample request

In previous versions, when duplicate tracks (e.g., SD, SD) were included in the request, we stored separate keys for each instance of the same track. Starting from version NKS-25.24-STD0.20250603054040, only one key is stored for each unique track (e.g., SD), and duplicate tracks in the request are ignored.

CODE
{
   "request":"eyJjb250ZW50X2lkIjoiUjBORk1EQXkiLCJwb2xpY3kiOiJ0ZXN0X3BvbGljeSIsImRybV90eXBlcyI6WyJXSURFVklORSJdLCJ0cmFja3MiOlt7InR5cGUiOiJTRCJ9LHsidHlwZSI6IlNEIn1dfQ==",
   "signature":"4CdvhtP/2+sXv17RZMloZHo1nTvS1uRQAwysiuGG830=",
   "signer":"mdrmblr_nks1"
}

Request Content

CODE
{
   "content_id":"R0NFMDAy",
   "drm_types":[
      "WIDEVINE"
   ],
   "tracks":[
      {
         "type":"SD"
      },
      {
         "type":"SD"
      }
   ],
   "policy":"test_policy"
}

GCE LIVE KPT No rotation WV SD and SD tracks Sample response

CODE
{
   "response":"eyJzdGF0dXMiOiJPSyIsImNvbnRlbnRfaWQiOiJSME5GTURBeSIsImRybSI6W3sidHlwZSI6IldJREVWSU5FIiwic3lzdGVtX2lkIjoiZWRlZjhiYTk3OWQ2NGFjZWEzYzgyN2RjZDUxZDIxZWQifV0sInRyYWNrcyI6W3sicHNzaCI6W3siZHJtX3R5cGUiOiJXSURFVklORSIsImRhdGEiOiJDQUVTRU5rYWV0bE9IRTRSbWdRNGF5UHgwMkFhQlVOdmJtRjRJZ1pIUTBVd01EST0ifV0sImtleV9pZCI6IjJScDYyVTRjVGhHYUJEaHJJL0hUWUE9PSIsImtleSI6ImNiN25sNFNmdm1ubzMrOUlvMFk2M3c9PSIsInR5cGUiOiJTRCJ9XX0="
}

Response Content

CODE
{
    "status":"OK",
    "content_id":"R0NFMDAy",
    "drm":[
       {
          "type":"WIDEVINE",
          "system_id":"edef8ba979d64acea3c827dcd51d21ed"
       }
     ],
     "tracks":[
        {
           "pssh":[
              {
                 "drm_type":"WIDEVINE",
                 "data":"CAESENkaetlOHE4RmgQ4ayPx02AaBUNvbmF4IgZHQ0UwMDI="
              }
            ],
            "key_id":"2Rp62U4cThGaBDhrI/HTYA==",
            "key":"cb7nl4Sfvmno3+9Io0Y63w==","type":"SD"
        }
    ]
}

6. Key Per Track with key rotation

6.1 GCE LIVE KPT With rotation WV SD and HD tracks Sample request

CODE
{
   "request":"eyJjb250ZW50X2lkIjoiUjBORkxVdFFWQzFNU1ZaRiIsInBvbGljeSI6InRlc3RfcG9saWN5IiwiZHJtX3R5cGVzIjpbIldJREVWSU5FIl0sInRyYWNrcyI6W3sidHlwZSI6IkhEIn0seyJ0eXBlIjoiU0QifV0sImZpcnN0X2NyeXB0b19wZXJpb2RfaW5kZXgiOjAsImNyeXB0b19wZXJpb2RfY291bnQiOjIsImNyeXB0b19wZXJpb2Rfc2Vjb25kcyI6MzB9",
   "signature":"I2u8XIqpefqtDkEdTQt5U1BZBJNrphvPjrHqfVBJfkg=",
   "signer":"cx-test"
}

Request Content

CODE
{
   "content_id":"R0NFLUtQVC1MSVZF",
   "first_crypto_period_index":0,
   "crypto_period_seconds":30,
   "crypto_period_count":2,
   "drm_types":[
      "WIDEVINE"
   ],
   "tracks":[
      {
         "type":"HD"
      },
      {
         "type":"SD"
      }
   ],
   "policy":"test_policy"
}

GCE LIVE KPT With rotation WV SD and HD tracks Sample response

CODE
{
  "response":"eyJzdGF0dXMiOiJPSyIsImNvbnRlbnRfaWQiOiJSME5GTFV0UVZDMU1TVlpGIiwiZHJtIjpbeyJ0eXBlIjoiV0lERVZJTkUiLCJzeXN0ZW1faWQiOiJlZGVmOGJhOTc5ZDY0YWNlYTNjODI3ZGNkNTFkMjFlZCJ9XSwidHJhY2tzIjpbeyJwc3NoIjpbeyJkcm1fdHlwZSI6IldJREVWSU5FIiwiZGF0YSI6IkNBRVNFS1RhRWZEWGxrc0RnSDk0eWF5dVhnTWFCVU52Ym1GNElneEhRMFV0UzFCVUxVeEpWa1U0QUZBZSJ9XSwidHlwZSI6IkhEIiwia2V5X2lkIjoicE5vUjhOZVdTd09BZjNqSnJLNWVBdz09Iiwia2V5IjoiQ1pNV09NaFJNV1dGUDFLNVJpMEtFdz09IiwiY3J5cHRvX3BlcmlvZF9pbmRleCI6MH0seyJwc3NoIjpbeyJkcm1fdHlwZSI6IldJREVWSU5FIiwiZGF0YSI6IkNBRVNFS0kvWitWeHZrZVBrK3pPTWU2TkRvMGFCVU52Ym1GNElneEhRMFV0UzFCVUxVeEpWa1U0QUZBZSJ9XSwidHlwZSI6IlNEIiwia2V5X2lkIjoib2o5bjVYRytSNCtUN000eDdvME9qUT09Iiwia2V5IjoiWDN1MDNQb0tDQ01wVzd4TThoNVVudz09IiwiY3J5cHRvX3BlcmlvZF9pbmRleCI6MH0seyJwc3NoIjpbeyJkcm1fdHlwZSI6IldJREVWSU5FIiwiZGF0YSI6IkNBRVNFS0tDdy8zZnNVeGpvY0VEWjl0cllCd2FCVU52Ym1GNElneEhRMFV0UzFCVUxVeEpWa1U0QVZBZSJ9XSwidHlwZSI6IkhEIiwia2V5X2lkIjoib29MRC9kK3hUR09od1FObjIydGdIQT09Iiwia2V5IjoiVGtIcHQ1eUd5enBxT00rZGd3S2U2Zz09IiwiY3J5cHRvX3BlcmlvZF9pbmRleCI6MX0seyJwc3NoIjpbeyJkcm1fdHlwZSI6IldJREVWSU5FIiwiZGF0YSI6IkNBRVNFQW5oVHFYdXYwSmhrQ3VOY3NPQ3hJUWFCVU52Ym1GNElneEhRMFV0UzFCVUxVeEpWa1U0QVZBZSJ9XSwidHlwZSI6IlNEIiwia2V5X2lkIjoiQ2VGT3BlNi9RbUdRSzQxeXc0TEVoQT09Iiwia2V5IjoiQk9oU2NJRWFuMm1YWEgrSTZPY0ZqUT09IiwiY3J5cHRvX3BlcmlvZF9pbmRleCI6MX1dfQ=="
}

Response Content

CODE
{
   "status":"OK",
   "content_id":"R0NFLUtQVC1MSVZF",
   "drm":[
      {
         "type":"WIDEVINE",
         "system_id":"edef8ba979d64acea3c827dcd51d21ed"
      }
   ],
   "tracks":[
      {
         "pssh":[
            {
               "drm_type":"WIDEVINE",
               "data":"CAESEKTaEfDXlksDgH94yayuXgMaBUNvbmF4IgxHQ0UtS1BULUxJVkU4AFAe"
            }
         ],
         "type":"HD",
         "key_id":"pNoR8NeWSwOAf3jJrK5eAw==",
         "key":"CZMWOMhRMWWFP1K5Ri0KEw==",
         "crypto_period_index":0
      },
      {
         "pssh":[
            {
               "drm_type":"WIDEVINE",
               "data":"CAESEKI/Z+VxvkePk+zOMe6NDo0aBUNvbmF4IgxHQ0UtS1BULUxJVkU4AFAe"
            }
         ],
         "type":"SD",
         "key_id":"oj9n5XG+R4+T7M4x7o0OjQ==",
         "key":"X3u03PoKCCMpW7xM8h5Unw==",
         "crypto_period_index":0
      },
      {
         "pssh":[
            {
               "drm_type":"WIDEVINE",
               "data":"CAESEKKCw/3fsUxjocEDZ9trYBwaBUNvbmF4IgxHQ0UtS1BULUxJVkU4AVAe"
            }
         ],
         "type":"HD",
         "key_id":"ooLD/d+xTGOhwQNn22tgHA==",
         "key":"TkHpt5yGyzpqOM+dgwKe6g==",
         "crypto_period_index":1
      },
      {
         "pssh":[
            {
               "drm_type":"WIDEVINE",
               "data":"CAESEAnhTqXuv0JhkCuNcsOCxIQaBUNvbmF4IgxHQ0UtS1BULUxJVkU4AVAe"
            }
         ],
         "type":"SD",
         "key_id":"CeFOpe6/QmGQK41yw4LEhA==",
         "key":"BOhScIEan2mXXH+I6OcFjQ==",
         "crypto_period_index":1
      }
   ]
}

6.2 GCE LIVE KPT With rotation WV SD and SD tracks Sample request

In previous versions, during key rotation, if duplicate tracks like [{type: "SD"}, {type: "SD"}] were present, keys were stored for each occurrence — resulting in 4 keys (2 keys for index 0 with SD and 2 keys for index 1 with SD). From version NKS-25.24-STD0.20250603054040 onward, only one key per unique track type is stored, ignoring duplicates — reducing it to 2 keys (one for index 0 and one for index 1, both with SD).

CODE
{
    "request":"eyJjb250ZW50X2lkIjoiUjBORlgwdFFWRjlNU1ZaRiIsImZpcnN0X2NyeXB0b19wZXJpb2RfaW5kZXgiOjAsImNyeXB0b19wZXJpb2RfY291bnQiOjIsImNyeXB0b19wZXJpb2Rfc2Vjb25kcyI6MzAsImRybV90eXBlcyI6WyJXSURFVklORSJdLCJ0cmFja3MiOlt7InR5cGUiOiJTRCJ9LHsidHlwZSI6IlNEIn1dfQ==",
    "signature":"7En5eU9hAoatpgOyeuwkUpxyvn6KtqkgIgLa/D5Sng4=",
    "signer":"mdrmblr_nks1"
}

Request Content

CODE
{
   "content_id":"R0NFLUtQVC1MSVZF",
   "first_crypto_period_index":0,
   "crypto_period_seconds":30,
   "crypto_period_count":2,
   "drm_types":[
      "WIDEVINE"
   ],
   "tracks":[
      {
         "type":"SD"
      },
      {
         "type":"SD"
      }
   ]
}

GCE LIVE KPT With rotation WV SD and SD tracks Sample response

CODE
{
   "response":"eyJzdGF0dXMiOiJPSyIsImNvbnRlbnRfaWQiOiJSME5GWDB0UVZGOU1TVlpGIiwiZHJtIjpbeyJ0eXBlIjoiV0lERVZJTkUiLCJzeXN0ZW1faWQiOiJlZGVmOGJhOTc5ZDY0YWNlYTNjODI3ZGNkNTFkMjFlZCJ9XSwidHJhY2tzIjpbeyJwc3NoIjpbeyJkcm1fdHlwZSI6IldJREVWSU5FIiwiZGF0YSI6IkNBRVNFSXFtRnY5M0JVekVsWU4rKzJrQ3dCSWFCVU52Ym1GNElneEhRMFZmUzFCVVgweEpWa1U0QUZBZSJ9XSwia2V5X2lkIjoiaXFZVy8zY0ZUTVNWZzM3N2FRTEFFZz09Iiwia2V5Ijoib25UUTdHQ0E1bDhWcUVnVzRuNzF1Zz09IiwidHlwZSI6IlNEIiwiY3J5cHRvX3BlcmlvZF9pbmRleCI6MH0seyJwc3NoIjpbeyJkcm1fdHlwZSI6IldJREVWSU5FIiwiZGF0YSI6IkNBRVNFQi9RNk9GNmVrWUx2bEJYQUQweVUvc2FCVU52Ym1GNElneEhRMFZmUzFCVVgweEpWa1U0QVZBZSJ9XSwia2V5X2lkIjoiSDlEbzRYcDZSZ3UrVUZjQVBUSlQrdz09Iiwia2V5IjoiZ290NGZoMnhTa1Y3SmVJUWJJKzhRZz09IiwidHlwZSI6IlNEIiwiY3J5cHRvX3BlcmlvZF9pbmRleCI6MX1dfQ=="
}

Response Content

CODE
{
  "status":"OK",
  "content_id":"R0NFX0tQVF9MSVZF",
  "drm":[
     {
        "type":"WIDEVINE",
        "system_id":"edef8ba979d64acea3c827dcd51d21ed"
     }
   ],
   "tracks":[
      {
          "pssh":[
             {
                "drm_type":"WIDEVINE",
                "data":"CAESEIqmFv93BUzElYN++2kCwBIaBUNvbmF4IgxHQ0VfS1BUX0xJVkU4AFAe"
             }
           ],
           "key_id":"iqYW/3cFTMSVg377aQLAEg==",
           "key":"onTQ7GCA5l8VqEgW4n71ug==",
           "type":"SD",
           "crypto_period_index":0
      },
      {
          "pssh":[
             {
                "drm_type":"WIDEVINE",
                "data":"CAESEB/Q6OF6ekYLvlBXAD0yU/saBUNvbmF4IgxHQ0VfS1BUX0xJVkU4AVAe"
             }
           ],
           "key_id":"H9Do4Xp6Rgu+UFcAPTJT+w==",
           "key":"got4fh2xSkV7JeIQbI+8Qg==",
           "type":"SD",
           "crypto_period_index":1
      }
   ]
}



JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.