AWS::IVS::Channel
The AWS::IVS::Channel
resource specifies an Amazon IVS channel. A channel stores configuration information
related to your live stream. For more information, see CreateChannel in the
Amazon IVS Low-Latency Streaming API Reference.
Note
By default, the IVS API CreateChannel endpoint creates a stream key in addition to a channel. The Amazon IVS Channel resource does not create a stream key; to create a stream key, use the StreamKey resource instead.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::IVS::Channel", "Properties" : { "Authorized" :
Boolean
, "ContainerFormat" :String
, "InsecureIngest" :Boolean
, "LatencyMode" :String
, "MultitrackInputConfiguration" :MultitrackInputConfiguration
, "Name" :String
, "Preset" :String
, "RecordingConfigurationArn" :String
, "Tags" :[ Tag, ... ]
, "Type" :String
} }
YAML
Type: AWS::IVS::Channel Properties: Authorized:
Boolean
ContainerFormat:String
InsecureIngest:Boolean
LatencyMode:String
MultitrackInputConfiguration:MultitrackInputConfiguration
Name:String
Preset:String
RecordingConfigurationArn:String
Tags:- Tag
Type:String
Properties
-
Whether the channel is authorized.
Default:
false
Required: No
Type: Boolean
Update requires: No interruption
ContainerFormat
-
Indicates which content-packaging format is used (MPEG-TS or fMP4). If
multitrackInputConfiguration
is specified andenabled
istrue
, thencontainerFormat
is required and must be set toFRAGMENTED_MP4
. Otherwise,containerFormat
may be set toTS
orFRAGMENTED_MP4
. Default:TS
.Required: No
Type: String
Allowed values:
TS | FRAGMENTED_MP4
Update requires: No interruption
InsecureIngest
-
Whether the channel allows insecure RTMP ingest.
Default:
false
Required: No
Type: Boolean
Update requires: No interruption
LatencyMode
-
Channel latency mode. Valid values:
-
NORMAL
: Use NORMAL to broadcast and deliver live video up to Full HD. -
LOW
: Use LOW for near real-time interactions with viewers.
Note
In the Amazon IVS console,
LOW
andNORMAL
correspond toUltra-low
andStandard
, respectively.Default:
LOW
Required: No
Type: String
Allowed values:
NORMAL | LOW
Update requires: No interruption
-
MultitrackInputConfiguration
-
Object specifying multitrack input configuration. Default: no multitrack input configuration is specified.
Required: No
Type: MultitrackInputConfiguration
Update requires: No interruption
Name
-
Channel name.
Required: No
Type: String
Pattern:
^[a-zA-Z0-9-_]*$
Minimum:
0
Maximum:
128
Update requires: No interruption
Preset
-
An optional transcode preset for the channel. This is selectable only for
ADVANCED_HD
andADVANCED_SD
channel types. For those channel types, the default preset isHIGHER_BANDWIDTH_DELIVERY
. For other channel types (BASIC
andSTANDARD
),preset
is the empty string ("").Required: No
Type: String
Allowed values:
| HIGHER_BANDWIDTH_DELIVERY | CONSTRAINED_BANDWIDTH_DELIVERY
Update requires: No interruption
RecordingConfigurationArn
-
The ARN of a RecordingConfiguration resource. An empty string indicates that recording is disabled for the channel. A RecordingConfiguration ARN indicates that recording is enabled using the specified recording configuration. See the RecordingConfiguration resource for more information and an example.
Default: "" (empty string, recording is disabled)
Required: No
Type: String
Pattern:
^$|arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$
Minimum:
0
Maximum:
128
Update requires: No interruption
-
An array of key-value pairs to apply to this resource.
For more information, see Tag.
Required: No
Type: Array of Tag
Maximum:
50
Update requires: No interruption
Type
-
The channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. For details, see Channel Types.
Default:
STANDARD
Required: No
Type: String
Allowed values:
STANDARD | BASIC | ADVANCED_SD | ADVANCED_HD
Update requires: No interruption
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the channel ARN. For example:
{ "Ref": "myChannel" }
For the Amazon IVS channel myChannel
,
Ref
returns the channel ARN.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
The Fn::GetAtt
intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt
intrinsic function, see Fn::GetAtt
.
Arn
-
The channel ARN. For example:
arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh
IngestEndpoint
-
Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software.
For example:
a1b2c3d4e5f6.global-contribute.live-video.net
PlaybackUrl
-
Channel playback URL. For example:
https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8
Examples
Channel and Stream Key Template Examples
The following examples specify an Amazon IVS channel and stream key.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "Channel": { "Type": "AWS::IVS::Channel", "Properties": { "Name": "MyChannel", "Tags": [ { "Key": "MyKey", "Value": "MyValue" } ], "InsecureIngest": true } }, "StreamKey": { "Type": "AWS::IVS::StreamKey", "Properties": { "ChannelArn": {"Ref": "Channel"}, "Tags": [ { "Key": "MyKey", "Value": "MyValue" } ] } } }, "Outputs": { "ChannelArn": { "Value": {"Ref": "Channel"} }, "ChannelIngestEndpoint": { "Value": { "Fn::GetAtt": [ "Channel", "IngestEndpoint" ] } }, "ChannelPlaybackUrl": { "Value": { "Fn::GetAtt": [ "Channel", "PlaybackUrl" ] } }, "StreamKeyArn": { "Value": {"Ref": "StreamKey"} } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Resources: Channel: Type: AWS::IVS::Channel Properties: Name: MyChannel Tags: - Key: MyKey Value: MyValue InsecureIngest: true StreamKey: Type: AWS::IVS::StreamKey Properties: ChannelArn: !Ref Channel Tags: - Key: MyKey Value: MyValue Outputs: ChannelArn: Value: !Ref Channel ChannelIngestEndpoint: Value: !GetAtt Channel.IngestEndpoint ChannelPlaybackUrl: Value: !GetAtt Channel.PlaybackUrl StreamKeyArn: Value: !Ref StreamKey
See also
-
Channel data type
-
CreateChannel API endpoint