AWS::IVS::Channel - AWS CloudFormation

AWS::IVS::Channel

The AWS::IVS::Channel resource creates a new channel. An Amazon IVS 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, "LatencyMode" : String, "Name" : String, "Tags" : [ Tag, ... ], "Type" : String } }

YAML

Type: AWS::IVS::Channel Properties: Authorized: Boolean LatencyMode: String Name: String Tags: - Tag Type: String

Properties

Authorized

Whether the channel is authorized.

Required: No

Type: Boolean

Update requires: No interruption

LatencyMode

Channel latency mode. Valid values:

  • NORMAL: Use NORMAL for broadcasts that do not require viewer interaction.

  • LOW: Use LOW to minimize broadcaster-to-viewer latency for interactive broadcasts.

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

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: Multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Vertical resolution can be up to 1080 and bitrate can be up to 8.5 Mbps.

  • BASIC: delivers the original input to viewers. The viewer’s video-quality choice is limited to the original input. Vertical resolution can be up to 480 and bitrate can be up to 1.5 Mbps.

Default: STANDARD.

Required: No

Type: String

Allowed values: 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 create 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" } ] } }, "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 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