AWS Elemental MediaPackage
VOD API Reference
AWS Elemental MediaPackage: VOD API Reference
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
What Is the AWS Elemental MediaPackage VOD API Reference? ... 1
Resources ... 2
Assets ... 2
URI ... 2
HTTP methods ... 2
Schemas ... 5
Properties ... 6
Assets id ... 10
URI ... 10
HTTP methods ... 10
Schemas ... 13
Properties ... 13
Packaging_configurations ... 15
URI ... 15
HTTP methods ... 15
Schemas ... 18
Properties ... 24
Packaging_configurations id ... 34
URI ... 34
HTTP methods ... 34
Schemas ... 37
Properties ... 39
Packaging_groups ... 48
URI ... 48
HTTP methods ... 48
Schemas ... 50
Properties ... 52
Packaging_groups id ... 54
URI ... 54
HTTP methods ... 54
Schemas ... 58
Properties ... 59
Packaging_groups id Configure_logs ... 60
URI ... 61
HTTP methods ... 61
Schemas ... 62
Properties ... 62
Tags resource-arn ... 64
URI ... 64
HTTP methods ... 65
Schemas ... 66
Properties ... 66
Document History ... 68
AWS glossary ... 69
What Is the AWS Elemental
MediaPackage VOD API Reference?
This is the AWS Elemental MediaPackage VOD REST API Reference. It contains examples of REST resources and their operations for video on demand (VOD).
For the AWS Elemental MediaPackage Live REST API Reference, see AWS Elemental MediaPackage API Reference.
AWS Elemental MediaPackage VOD REST API overview
The AWS Elemental MediaPackage VOD API comprises of three main resources: the asset, the packaging group, and the packaging configuration. The asset is the entry point to AWS Elemental MediaPackage VOD. A packaging group is associated with the asset, and holds one or more packaging configurations.
The packaging configurations are the exit points from AWS Elemental MediaPackage VOD. The packaging configuration determines how outputs from this asset are formatted.
To get started with AWS Elemental MediaPackage VOD Step 1: Create a packaging group.
The packaging group holds one or more packaging configurations. You can create the group once and associate multiple assets with it, so that they all use the same packaging configurations.
Step 2: Create packaging configurations.
The packaging configuration is held in a packaging group and is attached to an asset. The configuration represents the output of the content from AWS Elemental MediaPackage. Each configuration provides downstream content distribution networks (CDNs) and players access to the content for playback.
Step 3: Create an asset.
The asset represents the input to AWS Elemental MediaPackage VOD. Associate a packaging group to the asset so that content can be served for playback. When you create the asset, it initiates ingest of your specified source content from Amazon S3.
Step 4: Integrate AWS Elemental MediaPackage VOD.
When the asset is created and a packaging group is associated with it, AWS Elemental MediaPackage provides URLs for each packaging configuration on the asset. In the CDN or player, enter the
configuration URL from the asset as the content request address.
For general information on the service, see the AWS Elemental MediaPackage User Guide.
Assets
Resources
The AWS Elemental MediaPackage VOD REST API includes the following resources.
Topics
• Assets (p. 2)
• Assets id (p. 10)
• Packaging_configurations (p. 15)
• Packaging_configurations id (p. 34)
• Packaging_groups (p. 48)
• Packaging_groups id (p. 54)
• Packaging_groups id Configure_logs (p. 60)
• Tags resource-arn (p. 64)
Assets
URI
/assets
HTTP methods
GET
Operation ID: ListAssets
Lists assets 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.
HTTP methods
Responses
Status code Response model Description
200 AssetList (p. 5) 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: CreateAsset
Creates an asset to ingest VOD content.
HTTP methods
Once created, the asset starts ingesting content and generates playback URLs for the packaging configurations associated with it. When ingest is complete, downstream devices request VOD content from AWS Elemental MediaPackage using the appropriate URL.
Responses
Status code Response model Description
200 Asset (p. 5) 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.
Schemas
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
POST schema
{
"packagingGroupId": "string", "sourceArn": "string",
"resourceId": "string", "sourceRoleArn": "string", "id": "string",
"tags": { }
}
Response bodies
AssetList schema
{
"assets": [ {
"createdAt": "string", "packagingGroupId": "string", "sourceArn": "string", "resourceId": "string", "sourceRoleArn": "string", "id": "string",
"arn": "string", "tags": { }
}
], "nextToken": "string"
}
Asset schema
{
"createdAt": "string",
"packagingGroupId": "string",
Properties
"sourceArn": "string", "resourceId": "string", "sourceRoleArn": "string", "id": "string",
"arn": "string", "egressEndpoints": [ {
"packagingConfigurationId": "string", "url": "string",
"status": "string"
} ], "tags": { }
}
Properties
Asset
Parameters for an asset.
createdAt
The time the Asset was initially submitted for Ingest.
Type: string Required: False
packagingGroupId
The ID of the packaging group associated with this asset.
Type: string Required: False
sourceArn
The ARN for the source content in Amazon S3.
Type: string Required: False
resourceId
Unique identifier for this asset, as it is configured in the key provider service.
Type: string Required: False
sourceRoleArn
The ARN for the IAM role that provides AWS Elemental MediaPackage access to the Amazon S3 bucket where the source content is stored. Valid format: arn:aws:iam::{accountID}:role/{name}
Type: string
Properties
Required: False
id
Unique identifier that you assign to the asset.
Type: string Required: False
arn
The Amazon Resource Name (ARN) for the asset. You can get this from the response to any request to the asset.
Type: string Required: False
egressEndpoints
List of playback endpoints that are available for this asset.
Type: Array of type EgressEndpoint (p. 9) Required: False
tags
The tags to assign to the asset.
Type: Tags (p. 10) Required: False
AssetCreateParameters
Parameters for creating an asset.
packagingGroupId
The ID of the packaging group associated with this asset.
Type: string Required: True
sourceArn
The ARN for the source content in Amazon S3.
Type: string Required: True
resourceId
Unique identifier for this asset, as it's configured in the key provider service.
Properties
Type: string Required: False
sourceRoleArn
The ARN for the IAM role that provides AWS Elemental MediaPackage access to the Amazon S3 bucket where the source content is stored. Valid format: arn:aws:iam::{accountID}:role/{name}
Type: string Required: True
id
Unique identifier that you assign to the asset.
Type: string Required: True
tags
The tags to assign to the asset.
Type: Tags (p. 10) Required: False
AssetList
A collection of Asset records.
assets
A list of Asset records that are configured on this account in this AWS Region.
Type: Array of type AssetShallow (p. 8) Required: False
nextToken
Pagination token. Use this token to request the next page of assets results.
Type: string Required: False
AssetShallow
Parameters on an asset.
createdAt
The time the Asset was initially submitted for Ingest.
Type: string Required: False
Properties
packagingGroupId
The ID of the packaging group associated with this asset.
Type: string Required: False
sourceArn
The ARN for the source content in Amazon S3.
Type: string Required: False
resourceId
Unique identifier for this endpoint, as it is configured in the key provider service.
Type: string Required: False
sourceRoleArn
The ARN for the IAM role that provides AWS Elemental MediaPackage access to the Amazon S3 bucket where the source content is stored. Valid format: arn:aws:iam::{accountID}:role/{name}
Type: string Required: False
id
Unique identifier that you assigned to the asset.
Type: string Required: False
arn
The Amazon Resource Name (ARN) for the asset. You can get this from the response to any request to the asset.
Type: string Required: False
tags
The tags to assign to the asset.
Type: Tags (p. 10) Required: False
EgressEndpoint
The playback endpoint for a packaging configuration on an asset.
Assets id
packagingConfigurationId
The ID of a packaging configuration that's applied to this asset.
Type: string Required: False
url
The URL that's used to request content from this endpoint.
Type: string Required: False
status
The current processing status of the asset used for the packaging configuration. The status can be either QUEUED, PROCESSING, PLAYABLE, or FAILED. Status information isn't available for most assets ingested before September 30th, 2021.
Type: string Required: False
Tags
A collection of tags associated with a resource.
key-value pairs
Type: stringAssets id
URI
/assets/id
HTTP methods
GET
Operation ID: DescribeAsset Provides details about an asset.
Path parameters
Name Type Required Description
id String True Identifier for the object
that you're working on.
HTTP methods
Responses
Status code Response model Description
200 Asset (p. 13) 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.
DELETE
Operation ID: DeleteAsset Permanently deletes an asset.
HTTP methods
Path parameters
Name Type Required Description
id String True Identifier for the object
that you're working on.
Responses
Status code Response model Description
202 None 202 Accepted response
AWS Elemental MediaPackage accepted the request but has not processed it yet.
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
Schemas
Status code Response model Description
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
Response bodies
Asset schema
{
"createdAt": "string",
"packagingGroupId": "string", "sourceArn": "string",
"resourceId": "string", "sourceRoleArn": "string", "id": "string",
"arn": "string", "egressEndpoints": [ {
"packagingConfigurationId": "string", "url": "string",
"status": "string"
} ], "tags": { }}
Properties
Asset
Parameters for an asset.
createdAt
The time the Asset was initially submitted for Ingest.
Type: string Required: False
Properties
packagingGroupId
The ID of the packaging group associated with this asset.
Type: string Required: False
sourceArn
The ARN for the source content in Amazon S3.
Type: string Required: False
resourceId
Unique identifier for this asset, as it is configured in the key provider service.
Type: string Required: False
sourceRoleArn
The ARN for the IAM role that provides AWS Elemental MediaPackage access to the Amazon S3 bucket where the source content is stored. Valid format: arn:aws:iam::{accountID}:role/{name}
Type: string Required: False
id
Unique identifier that you assign to the asset.
Type: string Required: False
arn
The Amazon Resource Name (ARN) for the asset. You can get this from the response to any request to the asset.
Type: string Required: False
egressEndpoints
List of playback endpoints that are available for this asset.
Type: Array of type EgressEndpoint (p. 15) Required: False
tags
The tags to assign to the asset.
Packaging_configurations
Type: Tags (p. 15) Required: False
EgressEndpoint
The playback endpoint for a packaging configuration on an asset.
packagingConfigurationId
The ID of a packaging configuration that's applied to this asset.
Type: string Required: False
url
The URL that's used to request content from this endpoint.
Type: string Required: False
status
The current processing status of the asset used for the packaging configuration. The status can be either QUEUED, PROCESSING, PLAYABLE, or FAILED. Status information isn't available for most assets ingested before September 30th, 2021.
Type: string Required: False
Tags
A collection of tags associated with a resource.
key-value pairs
Type: stringPackaging_configurations
URI
/packaging_configurations
HTTP methods
GET
Operation ID: ListPackagingConfigurations
Lists packaging configurations that match a set of filters that you define.
HTTP methods
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 (p. 20)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
HTTP methods
Status code Response model Description
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 (p. 22)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.
Schemas
Status code Response model Description
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
POST schema
{
"packagingGroupId": "string", "dashPackage": {
"includeEncoderConfigurationInSegments": boolean, "segmentDurationSeconds": integer,
"encryption": {
"spekeKeyProvider": { "systemIds": [ "string"
],
"roleArn": "string", "url": "string"
} },
"segmentTemplateFormat": enum, "periodTriggers": [
enum ],
Schemas
"dashManifests": [ {
"minBufferTimeSeconds": integer, "manifestName": "string", "profile": enum,
"manifestLayout": enum, "streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
} ] },
"id": "string", "cmafPackage": {
"includeEncoderConfigurationInSegments": boolean, "segmentDurationSeconds": integer,
"encryption": {
"constantInitializationVector": "string", "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": {
"constantInitializationVector": "string", "encryptionMethod": enum,
"spekeKeyProvider": { "systemIds": [ "string"
],
"roleArn": "string", "url": "string"
} },
"hlsManifests": [ {
"repeatExtXKey": boolean, "adMarkers": enum, "manifestName": "string",
"programDateTimeIntervalSeconds": integer, "streamSelection": {
"streamOrder": enum,
"maxVideoBitsPerSecond": integer,
Schemas
"minVideoBitsPerSecond": integer },
"includeIframeOnlyStream": boolean }
],
"includeDvbSubtitles": boolean }, "mssPackage": {
"segmentDurationSeconds": integer, "encryption": {
"spekeKeyProvider": { "systemIds": [ "string"
],
"roleArn": "string", "url": "string"
} },
"mssManifests": [ {
"manifestName": "string", "streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
} ] }, "tags": { }
}
Response bodies
PackagingConfigurationList schema
{ "nextToken": "string", "packagingConfigurations": [ {
"packagingGroupId": "string", "dashPackage": {
"includeEncoderConfigurationInSegments": boolean, "segmentDurationSeconds": integer,
"encryption": {
"spekeKeyProvider": { "systemIds": [ "string"
],
"roleArn": "string", "url": "string"
} },
"segmentTemplateFormat": enum, "periodTriggers": [
enum ],
"dashManifests": [ {
"minBufferTimeSeconds": integer, "manifestName": "string", "profile": enum,
"manifestLayout": enum,
Schemas
"streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
} ] },
"id": "string", "arn": "string", "cmafPackage": {
"includeEncoderConfigurationInSegments": boolean, "segmentDurationSeconds": integer,
"encryption": {
"constantInitializationVector": "string", "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": {
"constantInitializationVector": "string", "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 }
],
Schemas
"includeDvbSubtitles": boolean },
"mssPackage": {
"segmentDurationSeconds": integer, "encryption": {
"spekeKeyProvider": { "systemIds": [ "string"
],
"roleArn": "string", "url": "string"
} },
"mssManifests": [ {
"manifestName": "string", "streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
} ] }, "tags": { }
} ]}
PackagingConfiguration schema
{ "packagingGroupId": "string", "dashPackage": {
"includeEncoderConfigurationInSegments": boolean, "segmentDurationSeconds": integer,
"encryption": {
"spekeKeyProvider": { "systemIds": [ "string"
],
"roleArn": "string", "url": "string"
} },
"segmentTemplateFormat": enum, "periodTriggers": [
enum ],
"dashManifests": [ {
"minBufferTimeSeconds": integer, "manifestName": "string", "profile": enum,
"manifestLayout": enum, "streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
} ] },
Schemas
"id": "string", "arn": "string", "cmafPackage": {
"includeEncoderConfigurationInSegments": boolean, "segmentDurationSeconds": integer,
"encryption": {
"constantInitializationVector": "string", "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": {
"constantInitializationVector": "string", "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 }
],
"includeDvbSubtitles": boolean }, "mssPackage": {
"segmentDurationSeconds": integer, "encryption": {
"spekeKeyProvider": { "systemIds": [ "string"
Properties
],
"roleArn": "string", "url": "string"
} },
"mssManifests": [ {
"manifestName": "string", "streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
} ] }, "tags": { }}
Properties
CmafEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
constantInitializationVector
An optional 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks. If you don't specify a value, then MediaPackage creates the constant initialization vector (IV).
Type: string Required: False
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 33) Required: True
CmafPackage
Parameters for a packaging configuration that uses Common Media Application Format (CMAF) packaging.
includeEncoderConfigurationInSegments
When includeEncoderConfigurationInSegments is set to true, MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment. This lets you use different SPS/PPS/
VPS settings for your assets during content playback.
Type: boolean Required: False
Properties
segmentDurationSeconds
Duration (in seconds) of each segment. Actual segments will be rounded to the nearest multiple of the source fragment duration.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: CmafEncryption (p. 24) Required: False
hlsManifests
A list of HLS manifest configurations available from this endpoint.
Type: Array of type HlsManifest (p. 28) Required: True
DashEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 33) Required: True
DashManifest
Parameters for a DASH manifest.
minBufferTimeSeconds
Minimum amount of content (measured in seconds) that a player must keep available in the buffer.
Type: integer Required: False
manifestName
A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
Type: string Required: False
profile
The DASH profile type. When set to HBBTV_1_5, the content is compliant with HbbTV 1.5.
Properties
Type: string Required: False
Values: NONE | HBBTV_1_5
manifestLayout
Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level.
Type: string Required: False
Values: FULL | COMPACT
streamSelection
Limitations for outputs from the endpoint, based on the video bitrate.
Type: StreamSelection (p. 33) Required: False
DashPackage
Parameters for a packaging configuration that uses Dynamic Adaptive Streaming over HTTP (DASH) packaging.
includeEncoderConfigurationInSegments
When includeEncoderConfigurationInSegments is set to true, MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment. This lets you use different SPS/PPS/
VPS settings for your assets during content playback.
Type: boolean Required: False
segmentDurationSeconds
Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source segment duration.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: DashEncryption (p. 25) Required: False
segmentTemplateFormat
Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$
Properties
media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs.
Type: string Required: False
Values: NUMBER_WITH_TIMELINE | TIME_WITH_TIMELINE | NUMBER_WITH_DURATION
periodTriggers
A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD) will be partitioned into multiple periods. If set to NONE, the entire duration of the ouput manifest is included in a single period. If set to ADS, multiple periods are added to the output manifest based on SCTE-35 ad markers in the source video stream.
Type: Array of type string Required: False
Values: ADS
dashManifests
A list of DASH manifest configurations available from this endpoint.
Type: Array of type DashManifest (p. 25) Required: True
HlsEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
constantInitializationVector
A 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks. If you don't specify a constant initialization vector (IV), MediaPackage periodically rotates the IV.
Type: string Required: False
encryptionMethod
HLS encryption type.Type: string Required: False
Values: AES_128 | SAMPLE_AES
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 33) Required: True
Properties
HlsManifest
Parameters for an HLS manifest.
repeatExtXKey
Repeat the EXT-X-KEY directive for every media segment. This might result in an increase in client requests to the DRM server.
Type: boolean Required: False
adMarkers
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.
Type: string Required: False
Values: NONE | SCTE35_ENHANCED | PASSTHROUGH
manifestName
A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
Type: string Required: False
programDateTimeIntervalSeconds
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.
Type: integer Required: False
streamSelection
Video bitrate limitations for outputs from this packaging configuration.
Type: StreamSelection (p. 33) Required: False
includeIframeOnlyStream
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.
Properties
Type: boolean Required: False
HlsPackage
Parameters for a packaging configuration that uses HTTP Live Streaming (HLS) packaging.
useAudioRenditionGroup
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.
Type: boolean Required: False
segmentDurationSeconds
Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source fragment duration.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: HlsEncryption (p. 27) Required: False
hlsManifests
A list of HLS manifest configurations available from this endpoint.
Type: Array of type HlsManifest (p. 28) Required: True
includeDvbSubtitles
When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.
Type: boolean Required: False
MssEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 33) Required: True
Properties
MssManifest
Parameters for a Microsoft Smooth manifest.
manifestName
A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
Type: string Required: False
streamSelection
Video bitrate limitations for outputs from this packaging configuration.
Type: StreamSelection (p. 33) Required: False
MssPackage
Parameters for a packaging configuration that uses Microsoft Smooth Streaming (MSS) packaging.
segmentDurationSeconds
Duration (in seconds) of each fragment. Actual fragments are rounded to the nearest multiple of the source fragment duration.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: MssEncryption (p. 29) Required: False
mssManifests
A list of Microsoft Smooth manifest configurations available from this endpoint.
Type: Array of type MssManifest (p. 30) Required: True
PackagingConfiguration
PackagingConfiguration.
packagingGroupId
The ID of the packaging group associated with this packaging configuration.
Type: string Required: False
Properties
dashPackage
Parameters for DASH-ISO packaging.
Type: DashPackage (p. 26) Required: False
id
Unique identifier that you assign to the packaging configuration.
Type: string Required: False
arn
The Amazon Resource Name (ARN) for the packaging configuration. You can get this from the response to any request to the packaging configuration.
Type: string Required: False
cmafPackage
Parameters for CMAF packaging.
Type: CmafPackage (p. 24) Required: False
hlsPackage
Parameters for Apple HLS packaging.
Type: HlsPackage (p. 29) Required: False
mssPackage
Parameters for Microsoft Smooth Streaming packaging.
Type: MssPackage (p. 30) Required: False
tags
The tags to assign to the packaging configuration.
Type: Tags (p. 34) Required: False
PackagingConfigurationCreateParameters
Parameters for creating a packaging configuration.
Properties
packagingGroupId
The ID of the packaging group associated with this packaging configuration.
Type: string Required: True
dashPackage
Parameters for DASH-ISO packaging.
Type: DashPackage (p. 26) Required: False
id
Unique identifier that you assign to the packaging configuration.
Type: string Required: True
cmafPackage
Parameters for CMAF packaging.
Type: CmafPackage (p. 24) Required: False
hlsPackage
Parameters for Apple HLS packaging.
Type: HlsPackage (p. 29) Required: False
mssPackage
Parameters for Microsoft Smooth Streaming packaging.
Type: MssPackage (p. 30) Required: False
tags
The tags to assign to the packaging configuration.
Type: Tags (p. 34) Required: False
PackagingConfigurationList
A collection of PackagingConfiguration records.
Properties
nextToken
Pagination token. Use this token to request the next page of packaging configuration results.
Type: string Required: False
packagingConfigurations
A list of PackagingConfiguration records.
Type: Array of type PackagingConfiguration (p. 30) Required: False
SpekeKeyProvider
A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys.
systemIds
List of unique identifiers for the DRM systems to use, as defined in the CPIX specification.
Type: Array of type string Required: True
roleArn
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}
Type: string Required: True
url
URL for the key provider’s key retrieval API endpoint. Must start with https://.
Type: string Required: True
StreamSelection
Limitations for outputs from the endpoint, based on the video bitrate.
streamOrder
Order in which the different video bitrates are presented to the player.
Type: string Required: False
Values: ORIGINAL | VIDEO_BITRATE_ASCENDING | VIDEO_BITRATE_DESCENDING
Packaging_configurations id
maxVideoBitsPerSecond
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.
Type: integer Required: False
minVideoBitsPerSecond
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.
Type: integer Required: False
Tags
A collection of tags associated with a resource.
key-value pairs
Type: stringPackaging_configurations id
URI
/packaging_configurations/id
HTTP methods
GET
Operation ID: DescribePackagingConfiguration Provides details about a packaging configuration.
Path parameters
Name Type Required Description
id String True Identifier for the object
that you're working on.
Responses
Status code Response model Description
200 PackagingConfiguration (p. 37)200 OK response
HTTP methods
Status code Response model Description
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.
DELETE
Operation ID: DeletePackagingConfiguration Permanently deletes a packaging configuration.
HTTP methods
Path parameters
Name Type Required Description
id String True Identifier for the object
that you're working on.
Responses
Status code Response model Description
202 None 202 Accepted response
AWS Elemental MediaPackage accepted the request but has not processed it yet.
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
Schemas
Status code Response model Description
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
Response bodies
PackagingConfiguration schema
{ "packagingGroupId": "string", "dashPackage": {
"includeEncoderConfigurationInSegments": boolean, "segmentDurationSeconds": integer,
"encryption": {
"spekeKeyProvider": { "systemIds": [ "string"
],
"roleArn": "string", "url": "string"
} },
"segmentTemplateFormat": enum, "periodTriggers": [
enum ],
"dashManifests": [ {
"minBufferTimeSeconds": integer, "manifestName": "string", "profile": enum,
"manifestLayout": enum, "streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
} ]
}, "id": "string", "arn": "string", "cmafPackage": {
Schemas
"includeEncoderConfigurationInSegments": boolean, "segmentDurationSeconds": integer,
"encryption": {
"constantInitializationVector": "string", "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": {
"constantInitializationVector": "string", "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 }
],
"includeDvbSubtitles": boolean }, "mssPackage": {
"segmentDurationSeconds": integer, "encryption": {
"spekeKeyProvider": { "systemIds": [ "string"
],
"roleArn": "string", "url": "string"
Properties
} },
"mssManifests": [ {
"manifestName": "string", "streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
} ] }, "tags": { }}
Properties
CmafEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
constantInitializationVector
An optional 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks. If you don't specify a value, then MediaPackage creates the constant initialization vector (IV).
Type: string Required: False
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 46) Required: True
CmafPackage
Parameters for a packaging configuration that uses Common Media Application Format (CMAF) packaging.
includeEncoderConfigurationInSegments
When includeEncoderConfigurationInSegments is set to true, MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment. This lets you use different SPS/PPS/
VPS settings for your assets during content playback.
Type: boolean Required: False
segmentDurationSeconds
Duration (in seconds) of each segment. Actual segments will be rounded to the nearest multiple of the source fragment duration.
Properties
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: CmafEncryption (p. 39) Required: False
hlsManifests
A list of HLS manifest configurations available from this endpoint.
Type: Array of type HlsManifest (p. 42) Required: True
DashEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 46) Required: True
DashManifest
Parameters for a DASH manifest.
minBufferTimeSeconds
Minimum amount of content (measured in seconds) that a player must keep available in the buffer.
Type: integer Required: False
manifestName
A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
Type: string Required: False
profile
The DASH profile type. When set to HBBTV_1_5, the content is compliant with HbbTV 1.5.
Type: string Required: False
Values: NONE | HBBTV_1_5
Properties
manifestLayout
Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level.
Type: string Required: False
Values: FULL | COMPACT
streamSelection
Limitations for outputs from the endpoint, based on the video bitrate.
Type: StreamSelection (p. 47) Required: False
DashPackage
Parameters for a packaging configuration that uses Dynamic Adaptive Streaming over HTTP (DASH) packaging.
includeEncoderConfigurationInSegments
When includeEncoderConfigurationInSegments is set to true, MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment. This lets you use different SPS/PPS/
VPS settings for your assets during content playback.
Type: boolean Required: False
segmentDurationSeconds
Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source segment duration.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: DashEncryption (p. 40) Required: False
segmentTemplateFormat
Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$
media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs.
Properties
Type: string Required: False
Values: NUMBER_WITH_TIMELINE | TIME_WITH_TIMELINE | NUMBER_WITH_DURATION
periodTriggers
A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD) will be partitioned into multiple periods. If set to NONE, the entire duration of the ouput manifest is included in a single period. If set to ADS, multiple periods are added to the output manifest based on SCTE-35 ad markers in the source video stream.
Type: Array of type string Required: False
Values: ADS
dashManifests
A list of DASH manifest configurations available from this endpoint.
Type: Array of type DashManifest (p. 40) Required: True
HlsEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
constantInitializationVector
A 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks. If you don't specify a constant initialization vector (IV), MediaPackage periodically rotates the IV.
Type: string Required: False
encryptionMethod
HLS encryption type.Type: string Required: False
Values: AES_128 | SAMPLE_AES
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 46) Required: True
HlsManifest
Parameters for an HLS manifest.
Properties
repeatExtXKey
Repeat the EXT-X-KEY directive for every media segment. This might result in an increase in client requests to the DRM server.
Type: boolean Required: False
adMarkers
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.
Type: string Required: False
Values: NONE | SCTE35_ENHANCED | PASSTHROUGH
manifestName
A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
Type: string Required: False
programDateTimeIntervalSeconds
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.
Type: integer Required: False
streamSelection
Video bitrate limitations for outputs from this packaging configuration.
Type: StreamSelection (p. 47) Required: False
includeIframeOnlyStream
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.
Type: boolean
Properties
Required: False
HlsPackage
Parameters for a packaging configuration that uses HTTP Live Streaming (HLS) packaging.
useAudioRenditionGroup
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.
Type: boolean Required: False
segmentDurationSeconds
Duration (in seconds) of each fragment. Actual fragments will be rounded to the nearest multiple of the source fragment duration.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: HlsEncryption (p. 42) Required: False
hlsManifests
A list of HLS manifest configurations available from this endpoint.
Type: Array of type HlsManifest (p. 42) Required: True
includeDvbSubtitles
When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.
Type: boolean Required: False
MssEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 46) Required: True
Properties
MssManifest
Parameters for a Microsoft Smooth manifest.
manifestName
A short string that's appended to the end of the endpoint URL to create a unique path to this packaging configuration.
Type: string Required: False
streamSelection
Video bitrate limitations for outputs from this packaging configuration.
Type: StreamSelection (p. 47) Required: False
MssPackage
Parameters for a packaging configuration that uses Microsoft Smooth Streaming (MSS) packaging.
segmentDurationSeconds
Duration (in seconds) of each fragment. Actual fragments are rounded to the nearest multiple of the source fragment duration.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: MssEncryption (p. 44) Required: False
mssManifests
A list of Microsoft Smooth manifest configurations available from this endpoint.
Type: Array of type MssManifest (p. 45) Required: True
PackagingConfiguration
PackagingConfiguration.
packagingGroupId
The ID of the packaging group associated with this packaging configuration.
Type: string Required: False