/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 |