Amazon MediaPackage · JSON Structure

Mediapackage Api Encryption Contract Configuration Structure

Use encryptionContractConfiguration to configure one or more content encryption keys for your endpoints that use SPEKE 2.0. The encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. To configure the encryption contract, specify which audio and video encryption presets to use. Note the following considerations when using encryptionContractConfiguration: encryptionContractConfiguration can be used for DASH or CMAF endpoints that use SPEKE 2.0. SPEKE 2.0 relies on the CPIX 2.3 specification. You must disable key rotation for this endpoint by setting keyRotationIntervalSeconds to 0.

Type: object Properties: 2 Required: 2
BroadcastingMedia ProcessingMedia

EncryptionContractConfiguration is a JSON Structure definition published by Amazon MediaPackage, describing 2 properties, of which 2 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

PresetSpeke20Audio PresetSpeke20Video

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-mediapackage/refs/heads/main/json-structure/mediapackage-api-encryption-contract-configuration-structure.json",
  "name": "EncryptionContractConfiguration",
  "type": "object",
  "description": "Use encryptionContractConfiguration to configure one or more content encryption keys for your endpoints that use SPEKE 2.0. \nThe encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. \nTo configure the encryption contract, specify which audio and video encryption presets to use.\nNote the following considerations when using encryptionContractConfiguration:\nencryptionContractConfiguration can be used for DASH or CMAF endpoints that use SPEKE 2.0. SPEKE 2.0 relies on the CPIX 2.3 specification.\nYou must disable key rotation for this endpoint by setting keyRotationIntervalSeconds to 0.\n",
  "properties": {
    "PresetSpeke20Audio": {
      "allOf": [
        {
          "$ref": "#/components/schemas/PresetSpeke20Audio"
        },
        {
          "xml": {
            "name": "presetSpeke20Audio"
          },
          "description": "A collection of audio encryption presets."
        }
      ]
    },
    "PresetSpeke20Video": {
      "allOf": [
        {
          "$ref": "#/components/schemas/PresetSpeke20Video"
        },
        {
          "xml": {
            "name": "presetSpeke20Video"
          },
          "description": "A collection of video encryption presets."
        }
      ]
    }
  },
  "required": [
    "PresetSpeke20Audio",
    "PresetSpeke20Video"
  ]
}