Menu
AWS Elemental MediaPackage
API Reference

Origin_endpoints

URI

/origin_endpoints

HTTP Methods

GET

Operation ID: ListOriginEndpoints

Lists endpoints that match a set of filters that you define.

AWS CLI Request Syntax

Copy
aws mediapackage list-origin-endpoints [--channelId <channelId>] [--starting-token <value>] [--page-size <value>] [--max-items <value>]

Where channel id is the channel that this endpoint is associated with. Use pagination to limit the number of entries you receive in the response. For more how to use pagination, see Using the AWS Command Line Interface's Pagination Options.

Query Parameters

Name Type Required Description
nextToken String False

Pagination token from the GET list request. Use the token to fetch the next page of results.

maxResults String False

Maximum number of records to return.

channelId String False

Limits results to endpoints associated with the given channel ID.

Responses

Status Code Response Model Description
200 OriginEndpointList

200 OK response

The list of endpoints is returned successfully.

422 None

422 Unprocessable Entity response

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

500 None

500 Internal Server Error response

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

403 None

403 Forbidden response

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

503 None

Service unavailable response

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

404 None

404 Not Found response

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

429 None

429 Too Many Requests response

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

POST

Operation ID: CreateOriginEndpoint

Create an endpoint on an AWS Elemental MediaPackage channel.

An endpoint represents a single delivery point of a channel, and defines content egress handling through various components, such as packaging protocols, DRM and encryption integration, and more.

Once created, an endpoint provides a fixed public URL. This URL remains the same throughout the lifetime of the endpoint, regardless of any failures or upgrades that might occur. Integrate the URL with a downstream CDN (such as Amazon CloudFront) or playback device.

AWS CLI Request Syntax

Copy
aws mediapackage create-origin-endpoint --id <endpointId> --channel-id <channelId> --dash-package | --hls-package | --mss-package} <packagingSettings> [--description <value>] [--manifest-name <value>] [--startover-window-seconds <value>] [--time-delay-seconds <value>] [--whitelist <value>]

For nested parameters, such as those for packagingSettings, you can reference a JSON file file://<fileName>.json that holds all of the attributes. For a complete list of endpoint attributes, see the CreateOriginEndpointParameters property.

Example POST OriginEndpoint Request Body

Copy
{ "id": "hlssports", "channelID": "sportschannel", "description": "hls sports endoint", "manifestName": "sports", "hlsPackage": { "segmentDurationSeconds": 10, "playlistWindowSeconds": 60, "playlistType": "none", "adMarkers": "none",-- "includeIframeOnlyStream": true, "useAudioRenditionGroup": true, "streamSelection": { "maxVideoBitsPerSecond": 600000 } } }

Responses

Status Code Response Model Description
200 OriginEndpoint

200 OK response

The endpoint is created successfully.

422 None

422 Unprocessable Entity response

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

500 None

500 Internal Server Error response

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

403 None

403 Forbidden response

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

503 None

Service unavailable response

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

404 None

404 Not Found response

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

429 None

429 Too Many Requests response

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

Schemas

Request Bodies

Example POST

Copy
{ "startoverWindowSeconds": integer, "timeDelaySeconds": integer, "manifestName": "string", "description": "string", "dashPackage": { "manifestWindowSeconds": integer, "minBufferTimeSeconds": integer, "segmentDurationSeconds": integer, "encryption": { "keyRotationIntervalSeconds": integer, "spekeKeyProvider": { "resourceId": "string", "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "profile": enum, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "minUpdatePeriodSeconds": integer, "suggestedPresentationDelaySeconds": integer }, "id": "string", "whitelist": [ "string" ], "channelId": "string", "hlsPackage": { "useAudioRenditionGroup": boolean, "segmentDurationSeconds": integer, "adMarkers": enum, "playlistWindowSeconds": integer, "encryption": { "repeatExtXKey": boolean, "constantInitializationVector": "string", "keyRotationIntervalSeconds": integer, "encryptionMethod": enum, "spekeKeyProvider": { "resourceId": "string", "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "programDateTimeIntervalSeconds": integer, "playlistType": enum, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "includeIframeOnlyStream": boolean }, "mssPackage": { "manifestWindowSeconds": integer, "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "resourceId": "string", "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer } } }

Response Bodies

Example OriginEndpointList

Copy
{ "originEndpoints": [ { "startoverWindowSeconds": integer, "timeDelaySeconds": integer, "manifestName": "string", "description": "string", "dashPackage": { "manifestWindowSeconds": integer, "minBufferTimeSeconds": integer, "segmentDurationSeconds": integer, "encryption": { "keyRotationIntervalSeconds": integer, "spekeKeyProvider": { "resourceId": "string", "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "profile": enum, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "minUpdatePeriodSeconds": integer, "suggestedPresentationDelaySeconds": integer }, "id": "string", "whitelist": [ "string" ], "arn": "string", "channelId": "string", "url": "string", "hlsPackage": { "useAudioRenditionGroup": boolean, "segmentDurationSeconds": integer, "adMarkers": enum, "playlistWindowSeconds": integer, "encryption": { "repeatExtXKey": boolean, "constantInitializationVector": "string", "keyRotationIntervalSeconds": integer, "encryptionMethod": enum, "spekeKeyProvider": { "resourceId": "string", "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "programDateTimeIntervalSeconds": integer, "playlistType": enum, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "includeIframeOnlyStream": boolean }, "mssPackage": { "manifestWindowSeconds": integer, "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "resourceId": "string", "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer } } } ], "nextToken": "string" }

Example OriginEndpoint

Copy
{ "startoverWindowSeconds": integer, "timeDelaySeconds": integer, "manifestName": "string", "description": "string", "dashPackage": { "manifestWindowSeconds": integer, "minBufferTimeSeconds": integer, "segmentDurationSeconds": integer, "encryption": { "keyRotationIntervalSeconds": integer, "spekeKeyProvider": { "resourceId": "string", "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "profile": enum, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "minUpdatePeriodSeconds": integer, "suggestedPresentationDelaySeconds": integer }, "id": "string", "whitelist": [ "string" ], "arn": "string", "channelId": "string", "url": "string", "hlsPackage": { "useAudioRenditionGroup": boolean, "segmentDurationSeconds": integer, "adMarkers": enum, "playlistWindowSeconds": integer, "encryption": { "repeatExtXKey": boolean, "constantInitializationVector": "string", "keyRotationIntervalSeconds": integer, "encryptionMethod": enum, "spekeKeyProvider": { "resourceId": "string", "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "programDateTimeIntervalSeconds": integer, "playlistType": enum, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }, "includeIframeOnlyStream": boolean }, "mssPackage": { "manifestWindowSeconds": integer, "segmentDurationSeconds": integer, "encryption": { "spekeKeyProvider": { "resourceId": "string", "systemIds": [ "string" ], "roleArn": "string", "url": "string" } }, "streamSelection": { "streamOrder": enum, "maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer } } }

Properties

DashEncryption

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

Property Type Required Description
keyRotationIntervalSeconds

integer

False

Number of seconds before AWS Elemental MediaPackage rotates to a new key. By default, rotation is set to 60 seconds. Set to 0 to disable key rotation.

spekeKeyProvider

SpekeKeyProvider

True

Parameters for the SPEKE key provider.

DashPackage

Parameters for DASH packaging.

Property Type Required Description
manifestWindowSeconds

integer

False

Time window (in seconds) contained in each manifest.

minBufferTimeSeconds

integer

False

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

segmentDurationSeconds

integer

False

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

encryption

DashEncryption

False

Parameters for encrypting content.

profile

string

Values: NONE | HBBTV_1_5

False

DASH profile for the output, such as HbbTV.

Valid values:

  • none - the output doesn't use a DASH profile.

  • hbbtv_1.5 - the output is HbbTV-compliant.

streamSelection

StreamSelection

False

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

minUpdatePeriodSeconds

integer

False

Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.

suggestedPresentationDelaySeconds

integer

False

Amount of time (in seconds) that the player should be from the live point at the end of the manifest.

HlsEncryption

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

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.

constantInitializationVector

string

False

A 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks.

keyRotationIntervalSeconds

integer

False

Number of seconds before AWS Elemental MediaPackage rotates to a new key. By default, rotation is set to 60 seconds. Set to 0 to disable key rotation.

encryptionMethod

string

Values: AES_128 | SAMPLE_AES

False

HLS encryption type.

spekeKeyProvider

SpekeKeyProvider

True

Parameters for the SPEKE key provider.

HlsPackage

Parameters for Apple 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 are rounded to the nearest multiple of the source fragment duration.

adMarkers

string

Values: NONE | SCTE35_ENHANCED | PASSTHROUGH

False

Controls how ad markers are included in the packaged endpoint. Valid values are none, passthrough, or scte35_enhanced.

  • none - omits all SCTE-35 ad markers from the output.

  • passthrough - creates a copy in the output of the SCTE-35 ad markers (comments) taken directly from the input manifest.

  • scte35_enhanced - generates ad markers and blackout tags in the output based on the SCTE-35 messages from the input manifest.

playlistWindowSeconds

integer

False

Time window (in seconds) contained in each parent manifest.

encryption

HlsEncryption

False

Parameters for encrypting content.

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.

playlistType

string

Values: NONE | EVENT | VOD

False

When specified as either event or vod, a corresponding EXT-X-PLAYLIST-TYPE entry is included in the media playlist. Indicates if the playlist is live to VOD content.

streamSelection

StreamSelection

False

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

includeIframeOnlyStream

boolean

False

Only applies to stream sets with a single video track. When true, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included.

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.

MssPackage

Parameters for Microsoft Smooth Streaming packaging.

Property Type Required Description
manifestWindowSeconds

integer

False

Time window (in seconds) contained in each manifest.

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.

streamSelection

StreamSelection

False

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

OriginEndpoint

OriginEndpoint configuration.

Property Type Required Description
startoverWindowSeconds

integer

False

Maximum duration (seconds) of content to retain for startover playback. A 0 indicates that startover playback is disabled for this endpoint.

timeDelaySeconds

integer

False

Minimum duration (seconds) of delay to enforce on the playback of live content. A 0 indicates that there is no time delay in effect for this endpoint

manifestName

string

False

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

description

string

False

Any descriptive information that you want to add to the endpoint for future identification purposes.

dashPackage

DashPackage

False

Parameters for DASH packaging.

id

string

False

The endpoint identifier.

whitelist

Array of type string

False

The IP addresses that can access this endpoint.

arn

string

False

The endpoint's unique system-generated resource name, based on the AWS record.

channelId

string

False

The ID of the channel associated with this endpoint.

url

string

False

The URL that's used to request content from this endpoint.

hlsPackage

HlsPackage

False

Parameters for Apple HLS packaging.

mssPackage

MssPackage

False

Parameters for Microsoft Smooth Streaming packaging.

OriginEndpointCreateParameters

OriginEndpoint configuration.

Property Type Required Description
startoverWindowSeconds

integer

False

Maximum duration (seconds) of content to retain for startover playback. Omit this attribute or enter 0 to indicate that startover playback is disabled for this endpoint.

timeDelaySeconds

integer

False

Minimum duration (seconds) of delay to enforce on the playback of live content. Omit this attribute or enter 0 to indicate that there is no time delay in effect for this endpoint

manifestName

string

False

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

description

string

False

Any descriptive information that you want to add to the endpoint for future identification purposes.

dashPackage

DashPackage

False

Parameters for DASH packaging.

id

string

True

The endpoint ID is required and must be unique for your account in this region. The ID can't be changed after the endpoint is created.

whitelist

Array of type string

False

The IP addresses that can access this endpoint.

channelId

string

True

The ID of the channel associated with this endpoint.

hlsPackage

HlsPackage

False

Parameters for Apple HLS packaging.

mssPackage

MssPackage

False

Parameters for Microsoft Smooth Streaming packaging.

OriginEndpointList

Property Type Required Description
originEndpoints

Array of type OriginEndpoint

False

List of endpoints that are configured on this account and the channel that you specified in the request parameters.

nextToken

string

False

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

SpekeKeyProvider

Keyprovider settings for DRM.

Property Type Required Description
resourceId

string

True

Unique identifier for this endpoint, as it is configured in the key provider service.

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. A 0 indicates that there is no maximum bitrate for this endpoint.

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. A 0 indicates that there is no minimum bitrate for this endpoint.