AWS Elemental MediaPackage
VOD API Reference

Packaging_configurations

URI

/packaging_configurations

HTTP Methods

GET

Operation ID: ListPackagingConfigurations

Lists packaging configurations that match a set of filters that you define.

Query Parameters

Name Type Required Description
packagingGroupId String False

Limits the results to records that are associated with the given packaging group.

nextToken String False

Pagination token. Use this token to request the next page of record results.

maxResults String False

Upper bound on number of records to return.

Responses

Status Code Response Model Description
200 PackagingConfigurationList

200 OK response

The list of tags is returned successfully.

403 None

403 Forbidden response

AWS Elemental MediaPackage cannot authorize the request, possibly due to insufficient authentication credentials.

404 None

404 Not Found response

AWS Elemental MediaPackage did not find a representation of the target resource.

422 None

422 Unprocessable Entity response

AWS Elemental MediaPackage could not process the instructions in the body of the request.

429 None

429 Too Many Requests response

Too many requests have been sent in a given amount of time.

500 None

500 Internal Server Error response

An unexpected condition prevented AWS Elemental MediaPackage from fulfilling the request.

503 None

Service unavailable response

AWS Elemental MediaPackage can't currently complete the request, usually because of a temporary overload or maintenance.

POST

Operation ID: CreatePackagingConfiguration

Creates a packaging configuration in a packaging group.

The packaging configuration represents a single delivery point for an asset. It determines how the output from this endpoint is formatted.

Responses

Status Code Response Model Description
200 PackagingConfiguration

200 OK response

The list of tags is returned successfully.

403 None

403 Forbidden response

AWS Elemental MediaPackage cannot authorize the request, possibly due to insufficient authentication credentials.

404 None

404 Not Found response

AWS Elemental MediaPackage did not find a representation of the target resource.

422 None

422 Unprocessable Entity response

AWS Elemental MediaPackage could not process the instructions in the body of the request.

429 None

429 Too Many Requests response

Too many requests have been sent in a given amount of time.

500 None

500 Internal Server Error response

An unexpected condition prevented AWS Elemental MediaPackage from fulfilling the request.

503 None

Service unavailable response

AWS Elemental MediaPackage can't currently complete the request, usually because of a temporary overload or maintenance.

OPTIONS

Enable cross-origin resource sharing (CORS) by returning correct headers.

Responses

Status Code Response Model Description
200 None

200 OK response

The list of tags is returned successfully.

Schemas

Request Bodies

Example POST

{ "packagingGroupId": "string", "dashPackage": { "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "dashManifests": [ { "minBufferTimeSeconds": integer, "manifestName": "string", "profile": enum, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer } } ] }, "id": "string", "cmafPackage": { "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "hlsManifests": [ { "repeatExtXKey": boolean, "adMarkers": enum, "manifestName": "string", "programDateTimeIntervalSeconds": integer, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "includeIframeOnlyStream": boolean } ] }, "hlsPackage": { "useAudioRenditionGroup": boolean, "segmentDurationSeconds": integer, "encryption": { "encryptionMethod": enum, "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "hlsManifests": [ { "repeatExtXKey": boolean, "adMarkers": enum, "manifestName": "string", "programDateTimeIntervalSeconds": integer, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "includeIframeOnlyStream": boolean } ] }, "mssPackage": { "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "mssManifests": [ { "manifestName": "string", "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer } } ] } }

Response Bodies

Example PackagingConfigurationList

{ "nextToken": "string", "packagingConfigurations": [ { "packagingGroupId": "string", "dashPackage": { "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "dashManifests": [ { "minBufferTimeSeconds": integer, "manifestName": "string", "profile": enum, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer } } ] }, "id": "string", "arn": "string", "cmafPackage": { "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "hlsManifests": [ { "repeatExtXKey": boolean, "adMarkers": enum, "manifestName": "string", "programDateTimeIntervalSeconds": integer, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "includeIframeOnlyStream": boolean } ] }, "hlsPackage": { "useAudioRenditionGroup": boolean, "segmentDurationSeconds": integer, "encryption": { "encryptionMethod": enum, "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "hlsManifests": [ { "repeatExtXKey": boolean, "adMarkers": enum, "manifestName": "string", "programDateTimeIntervalSeconds": integer, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "includeIframeOnlyStream": boolean } ] }, "mssPackage": { "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "mssManifests": [ { "manifestName": "string", "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer } } ] } } ] }

Example PackagingConfiguration

{ "packagingGroupId": "string", "dashPackage": { "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "dashManifests": [ { "minBufferTimeSeconds": integer, "manifestName": "string", "profile": enum, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer } } ] }, "id": "string", "arn": "string", "cmafPackage": { "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "hlsManifests": [ { "repeatExtXKey": boolean, "adMarkers": enum, "manifestName": "string", "programDateTimeIntervalSeconds": integer, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "includeIframeOnlyStream": boolean } ] }, "hlsPackage": { "useAudioRenditionGroup": boolean, "segmentDurationSeconds": integer, "encryption": { "encryptionMethod": enum, "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "hlsManifests": [ { "repeatExtXKey": boolean, "adMarkers": enum, "manifestName": "string", "programDateTimeIntervalSeconds": integer, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "includeIframeOnlyStream": boolean } ] }, "mssPackage": { "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "mssManifests": [ { "manifestName": "string", "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer } } ] } }

Properties

CmafEncryption

Holds encryption information so that access to the content can be controlled by a DRM solution.

Property Type Required Description
spekeKeyProvider

SpekeKeyProvider

True

Parameters for the SPEKE key provider.

CmafPackage

Parameters for a packaging configuration that uses Common Media Application Format (CMAF) packaging.

Property Type Required Description
segmentDurationSeconds

integer

False

Duration (in seconds) of each segment. Actual segments will be rounded to the nearest multiple of the source fragment duration.

encryption

CmafEncryption

False

Parameters for encrypting content.

hlsManifests

Array of type HlsManifest

True

A list of HLS manifest configurations available from this endpoint.

DashEncryption

Holds encryption information so that access to the content can be controlled by a DRM solution.

Property Type Required Description
spekeKeyProvider

SpekeKeyProvider

True

Parameters for the SPEKE key provider.

DashManifest

Parameters for a DASH manifest.

Property Type Required Description
minBufferTimeSeconds

integer

False

Minimum amount of content (measured in seconds) that a player must keep available in the buffer.

manifestName

string

False

A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.

profile

string

Values: NONE | HBBTV_1_5

False

The DASH profile type. When set to HBBTV_1_5, the content is compliant with HbbTV 1.5.

streamSelection

StreamSelection

False

Limitations for outputs from the endpoint, based on the video bitrate.

DashPackage

Parameters for a packaging configuration that uses Dynamic Adaptive Streaming over HTTP (DASH) packaging.

Property Type Required Description
segmentDurationSeconds

integer

False

Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source segment duration.

encryption

DashEncryption

False

Parameters for encrypting content.

dashManifests

Array of type DashManifest

True

A list of DASH manifest configurations available from this endpoint.

HlsEncryption

Holds encryption information so that access to the content can be controlled by a DRM solution.

Property Type Required Description
encryptionMethod

string

Values: AES_128 | SAMPLE_AES

False

HLS encryption type.

spekeKeyProvider

SpekeKeyProvider

True

Parameters for the SPEKE key provider.

HlsManifest

Parameters for an HLS manifest.

Property Type Required Description
repeatExtXKey

boolean

False

Repeat the EXT-X-KEY directive for every media segment. This might result in an increase in client requests to the DRM server.

adMarkers

string

Values: NONE | SCTE35_ENHANCED | PASSTHROUGH

False

This setting controls ad markers in the packaged content. NONE omits SCTE-35 ad markers from the output. PASSTHROUGH copies SCTE-35 ad markers from the source content to the output. SCTE35_ENHANCED generates ad markers and blackout tags in the output, based on SCTE-35 messages in the source content.

manifestName

string

False

A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.

programDateTimeIntervalSeconds

integer

False

Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested.

Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.

Omit this attribute or enter 0 to indicate that the EXT-X-PROGRAM-DATE-TIME tags are not included in the manifest.

streamSelection

StreamSelection

False

Video bitrate limitations for outputs from this packaging configuration.

includeIframeOnlyStream

boolean

False

Applies to stream sets with a single video track only. When enabled, the output includes an additional I-frame only stream, along with the other tracks.

HlsPackage

Parameters for a packaging configuration that uses HTTP Live Streaming (HLS) packaging.

Property Type Required Description
useAudioRenditionGroup

boolean

False

When true, AWS Elemental MediaPackage bundles all audio tracks in a rendition group. All other tracks in the stream can be used with any audio rendition from the group.

segmentDurationSeconds

integer

False

Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source fragment duration.

encryption

HlsEncryption

False

Parameters for encrypting content.

hlsManifests

Array of type HlsManifest

True

A list of HLS manifest configurations available from this endpoint.

MssEncryption

Holds encryption information so that access to the content can be controlled by a DRM solution.

Property Type Required Description
spekeKeyProvider

SpekeKeyProvider

True

Parameters for the SPEKE key provider.

MssManifest

Parameters for a Microsoft Smooth manifest.

Property Type Required Description
manifestName

string

False

A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.

streamSelection

StreamSelection

False

Video bitrate limitations for outputs from this packaging configuration.

MssPackage

Parameters for a packaging configuration that uses Microsoft Smooth Streaming (MSS) packaging.

Property Type Required Description
segmentDurationSeconds

integer

False

Duration (in seconds) of each fragment. Actual fragments are rounded to the nearest multiple of the source fragment duration.

encryption

MssEncryption

False

Parameters for encrypting content.

mssManifests

Array of type MssManifest

True

A list of Microsoft Smooth manifest configurations available from this endpoint.

PackagingConfiguration

PackagingConfiguration.

Property Type Required Description
packagingGroupId

string

False

The ID of the packaging group associated with this packaging configuration.

dashPackage

DashPackage

False

Parameters for DASH-ISO packaging.

id

string

False

Unique identifier that you assign to the packaging configuration.

arn

string

False

The Amazon Resource Name (ARN) for the packaging configuration. You can get this from the response to any request to the packaging configuration.

cmafPackage

CmafPackage

False

Parameters for CMAF packaging.

hlsPackage

HlsPackage

False

Parameters for Apple HLS packaging.

mssPackage

MssPackage

False

Parameters for Microsoft Smooth Streaming packaging.

PackagingConfigurationCreateParameters

Parameters for creating a packaging configuration.

Property Type Required Description
packagingGroupId

string

True

The ID of the packaging group associated with this packaging configuration.

dashPackage

DashPackage

False

Parameters for DASH-ISO packaging.

id

string

True

Unique identifier that you assign to the packaging configuration.

cmafPackage

CmafPackage

False

Parameters for CMAF packaging.

hlsPackage

HlsPackage

False

Parameters for Apple HLS packaging.

mssPackage

MssPackage

False

Parameters for Microsoft Smooth Streaming packaging.

PackagingConfigurationList

A collection of PackagingConfiguration records.

Property Type Required Description
nextToken

string

False

Pagination token. Use this token to request the next page of packaging configuration results.

packagingConfigurations

Array of type PackagingConfiguration

False

A list of PackagingConfiguration records.

SpekeKeyProvider

A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys.

Property Type Required Description
systemIds

Array of type string

True

List of unique identifiers for the DRM systems to use, as defined in the CPIX specification.

roleArn

string

True

The ARN for the IAM role granted by the key provider that provides access to the key provider API. This role must have a trust policy that allows AWS Elemental MediaPackage to assume the role, and it must have a sufficient permissions policy to allow access to the specific key retrieval URL. Valid format: arn:aws:iam::{accountID}:role/{name}

url

string

True

URL for the key provider’s key retrieval API endpoint. Must start with https://.

StreamSelection

Limitations for outputs from the endpoint, based on the video bitrate.

Property Type Required Description
streamOrder

string

Values: ORIGINAL | VIDEO_BITRATE_ASCENDING | VIDEO_BITRATE_DESCENDING

False

Order in which the different video bitrates are presented to the player.

maxVideoBitsPerSecond

integer

False

The upper limit of the bitrates that this endpoint serves. If the video track exceeds this threshold, then AWS Elemental MediaPackage excludes it from output. If you don't specify a value, it defaults to 2147483647 bits per second.

minVideoBitsPerSecond

integer

False

The lower limit of the bitrates that this endpoint serves. If the video track is below this threshold, then AWS Elemental MediaPackage excludes it from output. If you don't specify a value, it defaults to 0 bits per second.