AWS::IVS::Channel - AWS CloudFormation

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

Authorized

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 and enabled is true, then containerFormat is required and must be set to FRAGMENTED_MP4. Otherwise, containerFormat may be set to TS or FRAGMENTED_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 and NORMAL correspond to Ultra-low and Standard, 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 and ADVANCED_SD channel types. For those channel types, the default preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), 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

Tags

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