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 Interactive Video Service 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
, "InsecureIngest" :Boolean
, "LatencyMode" :String
, "Name" :String
, "RecordingConfigurationArn" :String
, "Tags" :[ Tag, ... ]
, "Type" :String
} }
YAML
Type: AWS::IVS::Channel Properties: Authorized:
Boolean
InsecureIngest:Boolean
LatencyMode:String
Name:String
RecordingConfigurationArn:String
Tags:- Tag
Type:String
Properties
Authorized
-
Whether the channel is authorized.
Default:
false
Required: No
Type: Boolean
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:
LOW | NORMAL
Update requires: No interruption
-
Name
-
Channel name.
Required: No
Type: String
Minimum:
0
Maximum:
128
Pattern:
^[a-zA-Z0-9-_]*$
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
Minimum:
0
Maximum:
128
Pattern:
^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$
Update requires: No interruption
Tags
-
An array of key-value pairs to apply to this resource.
For more information, see Tag.
Required: No
Type: List of Tag
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. Valid values:
-
STANDARD
: Video is transcoded: multiple qualities are generated from the original input to automatically give viewers the best experience for their devices and network conditions. Transcoding allows higher playback quality across a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above that, audio is passed through. -
BASIC
: Video is transmuxed: Amazon IVS delivers the original input to viewers. The viewer’s video-quality choice is limited to the original input. Resolution can be up to 1080p and bitrate can be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p.
Default:
STANDARD
Required: No
Type: String
Allowed values:
ADVANCED_HD | ADVANCED_SD | BASIC | STANDARD
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