CreateChannel
Create a channel to start receiving content streams. The channel represents the input to MediaPackage for incoming live content from an encoder such as AWS Elemental MediaLive. The channel receives content, and after packaging it, outputs it through an origin endpoint to downstream devices (such as video players or CDNs) that request the content. You can create only one channel with each request. We recommend that you spread out channels between channel groups, such as putting redundant channels in the same AWS Region in different channel groups.
Request Syntax
POST /channelGroup/ChannelGroupName
/channel HTTP/1.1
x-amzn-client-token: ClientToken
Content-type: application/json
{
"ChannelName": "string
",
"Description": "string
",
"InputSwitchConfiguration": {
"MQCSInputSwitching": boolean
},
"InputType": "string
",
"OutputHeaderConfiguration": {
"PublishMQCS": boolean
},
"tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request uses the following URI parameters.
- ChannelGroupName
-
The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region.
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z0-9_-]+
Required: Yes
- ClientToken
-
A unique, case-sensitive token that you provide to ensure the idempotency of the request.
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[\S]+
Request Body
The request accepts the following data in JSON format.
- ChannelName
-
The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group. You can't change the name after you create the channel.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z0-9_-]+
Required: Yes
- Description
-
Enter any descriptive text that helps you to identify the channel.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
Required: No
- InputSwitchConfiguration
-
The configuration for input switching based on the media quality confidence score (MQCS) as provided from AWS Elemental MediaLive. This setting is valid only when
InputType
isCMAF
.Type: InputSwitchConfiguration object
Required: No
- InputType
-
The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default to HLS to preserve current behavior.
The allowed values are:
-
HLS
- The HLS streaming specification (which defines M3U8 manifests and TS segments). -
CMAF
- The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).
Type: String
Valid Values:
HLS | CMAF
Required: No
-
- OutputHeaderConfiguration
-
The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN. This setting is valid only when
InputType
isCMAF
.Type: OutputHeaderConfiguration object
Required: No
-
A comma-separated list of tag key:value pairs that you define. For example:
"Key1": "Value1",
"Key2": "Value2"
Type: String to string map
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"Arn": "string",
"ChannelGroupName": "string",
"ChannelName": "string",
"CreatedAt": number,
"Description": "string",
"ETag": "string",
"IngestEndpoints": [
{
"Id": "string",
"Url": "string"
}
],
"InputSwitchConfiguration": {
"MQCSInputSwitching": boolean
},
"InputType": "string",
"ModifiedAt": number,
"OutputHeaderConfiguration": {
"PublishMQCS": boolean
},
"Tags": {
"string" : "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Arn
-
The Amazon Resource Name (ARN) associated with the resource.
Type: String
- ChannelGroupName
-
The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region.
Type: String
- ChannelName
-
The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group.
Type: String
- CreatedAt
-
The date and time the channel was created.
Type: Timestamp
- Description
-
The description for your channel.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
- ETag
-
The current Entity Tag (ETag) associated with this resource. The entity tag can be used to safely make concurrent updates to the resource.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[\S]+
- IngestEndpoints
-
The list of ingest endpoints.
Type: Array of IngestEndpoint objects
- InputSwitchConfiguration
-
The configuration for input switching based on the media quality confidence score (MQCS) as provided from AWS Elemental MediaLive. This setting is valid only when
InputType
isCMAF
.Type: InputSwitchConfiguration object
- InputType
-
The input type will be an immutable field which will be used to define whether the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default to HLS to preserve current behavior.
The allowed values are:
-
HLS
- The HLS streaming specification (which defines M3U8 manifests and TS segments). -
CMAF
- The DASH-IF CMAF Ingest specification (which defines CMAF segments with optional DASH manifests).
Type: String
Valid Values:
HLS | CMAF
-
- ModifiedAt
-
The date and time the channel was modified.
Type: Timestamp
- OutputHeaderConfiguration
-
The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN. This setting is valid only when
InputType
isCMAF
.Type: OutputHeaderConfiguration object
- Tags
-
The comma-separated list of tag key:value pairs assigned to the channel.
Type: String to string map
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access Management in the IAM User Guide.
HTTP Status Code: 403
- ConflictException
-
Updating or deleting this resource can cause an inconsistent state.
HTTP Status Code: 409
- InternalServerException
-
Indicates that an error from the service occurred while trying to process a request.
HTTP Status Code: 500
- ResourceNotFoundException
-
The specified resource doesn't exist.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
The request would cause a service quota to be exceeded.
HTTP Status Code: 402
- ThrottlingException
-
The request throughput limit was exceeded.
HTTP Status Code: 429
- ValidationException
-
The input failed to meet the constraints specified by the AWS service.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: