Zencoder Encoding Settings: DRM

Product(s)
Zencoder
Role(s)
API Developer
Topic(s)
DRM
Encoding Settings
API(s)
Zencoder API

This topic contains details for encoding settings related to DRM

drm (beta)

drm:Hash

API Versions: V2

Parent: outputs

Valid Values: Hash containing DRM options.

Compatible Job Types: All

Description:

Provides a collection of DRM options.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "playready",
        "provider": "buydrm",
        "user_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "server_key": "daaaecea-4526-4570-b9ef-0416275d760b",
        "content_id": "25e75bb7-5c82-4213-a2d8-0796683bc409"
      }
    }
  ]
}

See Also: method, provider, server_key, user_key, content_id, key_id, key_guid, and schemas

method

method:String

API Versions: V2

Parent: outputs / drm

Valid Values: playready, cenc

Compatible Job Types: All

Example: playready

Description:

The Digital Rights Management (DRM) method used to protect content.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "playready",
        "provider": "buydrm",
        "user_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "server_key": "daaaecea-4526-4570-b9ef-0416275d760b",
        "content_id": "25e75bb7-5c82-4213-a2d8-0796683bc409"
      }
    }
  ]
}

See Also: provider, server_key, user_key, content_id, key_id, key_guid, and schemas

provider

provider:String

API Versions: V2

Parent: outputs / drm

Valid Values: buydrm

Compatible Job Types: All

Example: buydrm

Description:

The Digital Rights Management (DRM) provider used.

Only required for PlayReady.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "playready",
        "provider": "buydrm",
        "user_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "server_key": "daaaecea-4526-4570-b9ef-0416275d760b",
        "content_id": "25e75bb7-5c82-4213-a2d8-0796683bc409"
      }
    }
  ]
}

See Also: method, server_key, user_key, and content_id

key_id

key_id:String

API Versions: V2

Parent: outputs / drm

Valid Values: 32 hexadecimal characters (with optional dashes for UUID formatting)

Compatible Job Types: All

Example: 526d3480-48d5-11e4-916c-0800200c9a66

Description:

Identifier of the key to use. This is specified with all bytes in standard (big-endian) order.

Some DRM services return key IDs in little-endian order formatted as a GUID; to specify the key in that format see key_guid.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "cenc",
        "content_key": "25e75bb7-5c82-4213-a2d8-0796683bc409",
        "key_id": "526d3480-48d5-11e4-916c-0800200c9a66"
      }
    }
  ]
}

See Also: method, content_key, and schemas

key_guid

key_guid:String

API Versions: V2

Parent: outputs / drm

Valid Values: 32 hexadecimal characters (with optional dashes for UUID formatting)

Compatible Job Types: All

Example: 80346d52-d548-e411-916c-0800200c9a66

Description:

Identifier of the key to use, in GUID-formatted little-endian order. Some DRM services return key IDs using this formatting.

If a key_id is not also specified, this will be converted to use as the key_id. For specifying the key ID in a standard big-endian binary or UUID format, see key_id.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "cenc",
        "content_key": "25e75bb7-5c82-4213-a2d8-0796683bc409",
        "key_guid": "80346d52-d548-e411-916c-0800200c9a66"
      }
    }
  ]
}

See Also: method, content_key, and schemas

user_key

user_key:String

API Versions: V2

Parent: outputs / drm

Valid Values: 32 hexadecimal characters (with optional dashes)

Compatible Job Types: All

Example: 5897a089-98dc-4d43-96f2-d6857d69b196

Description:

The user key from the DRM provider.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "playready",
        "provider": "buydrm",
        "user_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "server_key": "daaaecea-4526-4570-b9ef-0416275d760b",
        "content_id": "25e75bb7-5c82-4213-a2d8-0796683bc409"
      }
    }
  ]
}

See Also: method, provider, server_key, and content_id

server_key

server_key:String

API Versions: V2

Parent: outputs / drm

Valid Values: 32 hexadecimal characters (with optional dashes)

Compatible Job Types: All

Example: daaaecea-4526-4570-b9ef-0416275d760b

Description:

The server key from the DRM provider.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "playready",
        "provider": "buydrm",
        "user_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "server_key": "daaaecea-4526-4570-b9ef-0416275d760b",
        "content_id": "25e75bb7-5c82-4213-a2d8-0796683bc409"
      }
    }
  ]
}

See Also: method, provider, user_key, and content_id

media_id

media_id:String

API Versions: V2

Parent: outputs / drm

Valid Values: 32 hexadecimal characters (with optional dashes)

Compatible Job Types: All

Example: 25e75bb7-5c82-4213-a2d8-0796683bc409

Description:

Unique identifier for the media.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "playready",
        "provider": "buydrm",
        "user_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "server_key": "daaaecea-4526-4570-b9ef-0416275d760b",
        "media_id": "25e75bb7-5c82-4213-a2d8-0796683bc409"
      }
    }
  ]
}

See Also: method, provider, server_key, and user_key

content_id

content_id:String

API Versions: V2

Parent: outputs / drm

Valid Values: 32 hexadecimal characters (with optional dashes)

Compatible Job Types: All

Example: 25e75bb7-5c82-4213-a2d8-0796683bc409

Description:

Unique identifier for the content.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "playready",
        "provider": "buydrm",
        "user_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "server_key": "daaaecea-4526-4570-b9ef-0416275d760b",
        "content_id": "25e75bb7-5c82-4213-a2d8-0796683bc409"
      }
    }
  ]
}

See Also: method, key_id, key_guid, and schemas

content_key

content_key:String

API Versions: V2

Parent: outputs / drm

Valid Values: 32 hexadecimal characters (with optional dashes)

Compatible Job Types: All

Example: 25e75bb7-5c82-4213-a2d8-0796683bc409

Description:

Unique identifier for the content.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "playready",
        "provider": "buydrm",
        "user_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "server_key": "daaaecea-4526-4570-b9ef-0416275d760b",
        "content_key": "25e75bb7-5c82-4213-a2d8-0796683bc409"
      }
    }
  ]
}

See Also: method, provider, server_key, key_id, key_guid, and schemas

schemas

schemas:Array

API Versions: V2

Parent: outputs / drm

Valid Values: Array of schemas

Compatible Job Types: All

Example: 25e75bb7-5c82-4213-a2d8-0796683bc409

Description:

When using Common Encryption to encrypt an output (or set of outputs), information about the DRM providers is specified as a schema including the schema type, and provider-specific infomration.

This is generally only specified on playlist outputs for multi-bitrate encoding jobs, but may also be specified for a CENC-encoded output to ensure that output is playable on its own.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "cenc",
        "content_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "key_id": "526d3480-48d5-11e4-916c-0800200c9a66",
        "schemas": [
          {
            "type": "marlin"
          },
          {
            "type": "playready",
            "license_acquisition_url": "https://license.server.example.com/license/123456789"
          },
          {
            "type": "widevine",
            "license_acquisition_url": "https://widevine.example.com/license_server/"
          }
        ]
      }
    }
  ]
}

See Also: method, content_key, key_id, and key_guid

type

type:String

API Versions: V2

Parent: outputs / drm / schemas

Valid Values: marlin, playready, widevine

Compatible Job Types: All

Example: playready

Description:

Provider type for this DRM schema.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "cenc",
        "content_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "key_id": "526d3480-48d5-11e4-916c-0800200c9a66",
        "schemas": [
          {
            "type": "marlin"
          },
          {
            "type": "playready",
            "license_acquisition_url": "https://license.server.example.com/license/123456789"
          },
          {
            "type": "widevine",
            "license_acquisition_url": "https://widevine.example.com/license_server/"
          }
        ]
      }
    }
  ]
}

See Also: method, content_key, key_id, and key_guid

license_acquisition_url

license_acquisition_url:String

API Versions: V2

Parent: outputs / drm / schemas

Valid Values: marlin, playready, widevine

Compatible Job Types: All

Example: https://widevine.example.com/license_server/

Description:

License acquisition URL for Playready CENC DRM schema.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "drm": {
        "method": "cenc",
        "content_key": "5897a089-98dc-4d43-96f2-d6857d69b196",
        "key_id": "526d3480-48d5-11e4-916c-0800200c9a66",
        "schemas": [
          {
            "type": "marlin"
          },
          {
            "type": "playready",
            "license_acquisition_url": "https://license.server.example.com/license/123456789"
          },
          {
            "type": "widevine",
            "license_acquisition_url": "https://widevine.example.com/license_server/"
          }
        ]
      }
    }
  ]
}

See Also: method, content_key, key_id, and key_guid