Skip to content

/AWS1/CL_MDCCMAFENCSETTINGS

Settings for CMAF encryption

CONSTRUCTOR

IMPORTING

Optional arguments:

iv_clearleadsegments TYPE /AWS1/MDC__INTEGERMIN1MAX9999 /AWS1/MDC__INTEGERMIN1MAX9999

Reduce video startup latency by leaving initial segments unencrypted while DRM license retrieval occurs in parallel. This optimization allows immediate playback startup while maintaining content protection for the remainder of the stream. Specify the number of initial segments to leave unencrypted. Omit this field to disable Clear Lead. The HLS manifest will omit #EXT-X-KEY tags during clear segments and insert the first #EXT-X-KEY immediately before the first encrypted segment. Because encryption is applied at the fragment level, the actual duration of unencrypted content may be slightly longer than expected if the segment length is not evenly divisible by the fragment length. In such cases, encryption begins at the next fragment boundary after the specified clear lead segments, rather than at the exact segment boundary. This feature is supported exclusively for CMAF HLS (fMP4) outputs and is compatible with all existing key provider integrations (SPEKE v1, SPEKE v2, and Static Key encryption). Supported codecs: H.264, H.265, and AV1 video codecs, and AAC audio codec.

iv_constantinitializationv00 TYPE /AWS1/MDC__STRMIN32MAX32PAT000 /AWS1/MDC__STRMIN32MAX32PAT000

This is a 128-bit, 16-byte hex value represented by a 32-character text string. If this parameter is not set then the Initialization Vector will follow the segment number by default.

iv_encryptionmethod TYPE /AWS1/MDCCMAFENCRYPTIONTYPE /AWS1/MDCCMAFENCRYPTIONTYPE

Specify the encryption scheme that you want the service to use when encrypting your CMAF segments. Choose AES-CBC subsample or AES_CTR.

iv_initializationvectorinm00 TYPE /AWS1/MDCCMAFINITIALIZATIONV00 /AWS1/MDCCMAFINITIALIZATIONV00

When you use DRM with CMAF outputs, choose whether the service writes the 128-bit encryption initialization vector in the HLS and DASH manifests.

io_spekekeyprovider TYPE REF TO /AWS1/CL_MDCSPEKEKEYPVDRCMAF /AWS1/CL_MDCSPEKEKEYPVDRCMAF

If your output group type is CMAF, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is HLS, DASH, or Microsoft Smooth, use the SpekeKeyProvider settings instead.

io_statickeyprovider TYPE REF TO /AWS1/CL_MDCSTATICKEYPROVIDER /AWS1/CL_MDCSTATICKEYPROVIDER

Use these settings to set up encryption with a static key provider.

iv_type TYPE /AWS1/MDCCMAFKEYPROVIDERTYPE /AWS1/MDCCMAFKEYPROVIDERTYPE

Specify whether your DRM encryption key is static or from a key provider that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html.


Queryable Attributes

ClearLeadSegments

Reduce video startup latency by leaving initial segments unencrypted while DRM license retrieval occurs in parallel. This optimization allows immediate playback startup while maintaining content protection for the remainder of the stream. Specify the number of initial segments to leave unencrypted. Omit this field to disable Clear Lead. The HLS manifest will omit #EXT-X-KEY tags during clear segments and insert the first #EXT-X-KEY immediately before the first encrypted segment. Because encryption is applied at the fragment level, the actual duration of unencrypted content may be slightly longer than expected if the segment length is not evenly divisible by the fragment length. In such cases, encryption begins at the next fragment boundary after the specified clear lead segments, rather than at the exact segment boundary. This feature is supported exclusively for CMAF HLS (fMP4) outputs and is compatible with all existing key provider integrations (SPEKE v1, SPEKE v2, and Static Key encryption). Supported codecs: H.264, H.265, and AV1 video codecs, and AAC audio codec.

Accessible with the following methods

Method Description
GET_CLEARLEADSEGMENTS() Getter for CLEARLEADSEGMENTS, with configurable default
ASK_CLEARLEADSEGMENTS() Getter for CLEARLEADSEGMENTS w/ exceptions if field has no v
HAS_CLEARLEADSEGMENTS() Determine if CLEARLEADSEGMENTS has a value

ConstantInitializationVector

This is a 128-bit, 16-byte hex value represented by a 32-character text string. If this parameter is not set then the Initialization Vector will follow the segment number by default.

Accessible with the following methods

Method Description
GET_CONSTANTINITIALIZATION00() Getter for CONSTANTINITIALIZATIONVECTOR, with configurable d
ASK_CONSTANTINITIALIZATION00() Getter for CONSTANTINITIALIZATIONVECTOR w/ exceptions if fie
HAS_CONSTANTINITIALIZATION00() Determine if CONSTANTINITIALIZATIONVECTOR has a value

EncryptionMethod

Specify the encryption scheme that you want the service to use when encrypting your CMAF segments. Choose AES-CBC subsample or AES_CTR.

Accessible with the following methods

Method Description
GET_ENCRYPTIONMETHOD() Getter for ENCRYPTIONMETHOD, with configurable default
ASK_ENCRYPTIONMETHOD() Getter for ENCRYPTIONMETHOD w/ exceptions if field has no va
HAS_ENCRYPTIONMETHOD() Determine if ENCRYPTIONMETHOD has a value

InitializationVectorInManifest

When you use DRM with CMAF outputs, choose whether the service writes the 128-bit encryption initialization vector in the HLS and DASH manifests.

Accessible with the following methods

Method Description
GET_INITIALIZATIONVECTORIN00() Getter for INITIALIZATIONVECTORINMANI00, with configurable d
ASK_INITIALIZATIONVECTORIN00() Getter for INITIALIZATIONVECTORINMANI00 w/ exceptions if fie
HAS_INITIALIZATIONVECTORIN00() Determine if INITIALIZATIONVECTORINMANI00 has a value

SpekeKeyProvider

If your output group type is CMAF, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is HLS, DASH, or Microsoft Smooth, use the SpekeKeyProvider settings instead.

Accessible with the following methods

Method Description
GET_SPEKEKEYPROVIDER() Getter for SPEKEKEYPROVIDER

StaticKeyProvider

Use these settings to set up encryption with a static key provider.

Accessible with the following methods

Method Description
GET_STATICKEYPROVIDER() Getter for STATICKEYPROVIDER

Type

Specify whether your DRM encryption key is static or from a key provider that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html.

Accessible with the following methods

Method Description
GET_TYPE() Getter for TYPE, with configurable default
ASK_TYPE() Getter for TYPE w/ exceptions if field has no value
HAS_TYPE() Determine if TYPE has a value