2021/04/07 - Amazon Interactive Video Service - 4 new5 updated api methods
Changes This release adds support for the Auto-Record to S3 feature. Amazon IVS now enables you to save your live video to Amazon S3.
Creates a new recording configuration, used to enable recording to Amazon S3.
Known issue: In the us-east-1 region, if you use the AWS CLI to create a recording configuration, it returns success even if the S3 bucket is in a different region. In this case, the state of the recording configuration is CREATE_FAILED (instead of ACTIVE). (In other regions, the CLI correctly returns failure if the bucket is in a different region.)
Workaround: Ensure that your S3 bucket is in the same region as the recording configuration. If you create a recording configuration in a different region as your S3 bucket, delete that recording configuration and create a new one with an S3 bucket from the correct region.
See also: AWS API Documentation
Request Syntax
client.create_recording_configuration( name='string', destinationConfiguration={ 's3': { 'bucketName': 'string' } }, tags={ 'string': 'string' } )
string
An arbitrary string (a nickname) that helps the customer identify that resource. The value does not need to be unique.
dict
[REQUIRED]
A complex type that contains a destination configuration for where recorded video will be stored.
s3 (dict) --
An S3 destination configuration where recorded videos will be stored.
bucketName (string) -- [REQUIRED]
Location (S3 bucket name) where recorded videos will be stored.
dict
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
dict
Response Syntax
{ 'recordingConfiguration': { 'arn': 'string', 'name': 'string', 'destinationConfiguration': { 's3': { 'bucketName': 'string' } }, 'state': 'CREATING'|'CREATE_FAILED'|'ACTIVE', 'tags': { 'string': 'string' } } }
Response Structure
(dict) --
recordingConfiguration (dict) --
An object representing a configuration to record a channel stream.
arn (string) --
Recording-configuration ARN.
name (string) --
An arbitrary string (a nickname) assigned to a recording configuration that helps the customer identify that resource. The value does not need to be unique.
destinationConfiguration (dict) --
A complex type that contains information about where recorded video will be stored.
s3 (dict) --
An S3 destination configuration where recorded videos will be stored.
bucketName (string) --
Location (S3 bucket name) where recorded videos will be stored.
state (string) --
Indicates the current state of the recording configuration. When the state is ACTIVE, the configuration is ready for recording a channel stream.
tags (dict) --
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
Gets summary information about all recording configurations in your account, in the AWS region where the API request is processed.
See also: AWS API Documentation
Request Syntax
client.list_recording_configurations( nextToken='string', maxResults=123 )
string
The first recording configuration to retrieve. This is used for pagination; see the nextToken response field.
integer
Maximum number of recording configurations to return. Default: 50.
dict
Response Syntax
{ 'recordingConfigurations': [ { 'arn': 'string', 'name': 'string', 'destinationConfiguration': { 's3': { 'bucketName': 'string' } }, 'state': 'CREATING'|'CREATE_FAILED'|'ACTIVE', 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' }
Response Structure
(dict) --
recordingConfigurations (list) --
List of the matching recording configurations.
(dict) --
Summary information about a RecordingConfiguration.
arn (string) --
Recording-configuration ARN.
name (string) --
An arbitrary string (a nickname) assigned to a recording configuration that helps the customer identify that resource. The value does not need to be unique.
destinationConfiguration (dict) --
A complex type that contains information about where recorded video will be stored.
s3 (dict) --
An S3 destination configuration where recorded videos will be stored.
bucketName (string) --
Location (S3 bucket name) where recorded videos will be stored.
state (string) --
Indicates the current state of the recording configuration. When the state is ACTIVE, the configuration is ready for recording a channel stream.
tags (dict) --
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
nextToken (string) --
If there are more recording configurations than maxResults, use nextToken in the request to get the next set.
Gets the recording configuration for the specified ARN.
See also: AWS API Documentation
Request Syntax
client.get_recording_configuration( arn='string' )
string
[REQUIRED]
ARN of the recording configuration to be retrieved.
dict
Response Syntax
{ 'recordingConfiguration': { 'arn': 'string', 'name': 'string', 'destinationConfiguration': { 's3': { 'bucketName': 'string' } }, 'state': 'CREATING'|'CREATE_FAILED'|'ACTIVE', 'tags': { 'string': 'string' } } }
Response Structure
(dict) --
recordingConfiguration (dict) --
An object representing a configuration to record a channel stream.
arn (string) --
Recording-configuration ARN.
name (string) --
An arbitrary string (a nickname) assigned to a recording configuration that helps the customer identify that resource. The value does not need to be unique.
destinationConfiguration (dict) --
A complex type that contains information about where recorded video will be stored.
s3 (dict) --
An S3 destination configuration where recorded videos will be stored.
bucketName (string) --
Location (S3 bucket name) where recorded videos will be stored.
state (string) --
Indicates the current state of the recording configuration. When the state is ACTIVE, the configuration is ready for recording a channel stream.
tags (dict) --
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
Deletes the recording configuration for the specified ARN.
If you try to delete a recording configuration that is associated with a channel, you will get an error (409 ConflictException). To avoid this, for all channels that reference the recording configuration, first use UpdateChannel to set the recordingConfigurationArn field to an empty string, then use DeleteRecordingConfiguration.
See also: AWS API Documentation
Request Syntax
client.delete_recording_configuration( arn='string' )
string
[REQUIRED]
ARN of the recording configuration to be deleted.
None
{'channels': {'recordingConfigurationArn': 'string'}}
Performs GetChannel on multiple ARNs simultaneously.
See also: AWS API Documentation
Request Syntax
client.batch_get_channel( arns=[ 'string', ] )
list
[REQUIRED]
Array of ARNs, one per channel.
(string) --
dict
Response Syntax
{ 'channels': [ { 'arn': 'string', 'name': 'string', 'latencyMode': 'NORMAL'|'LOW', 'type': 'BASIC'|'STANDARD', 'recordingConfigurationArn': 'string', 'ingestEndpoint': 'string', 'playbackUrl': 'string', 'authorized': True|False, 'tags': { 'string': 'string' } }, ], 'errors': [ { 'arn': 'string', 'code': 'string', 'message': 'string' }, ] }
Response Structure
(dict) --
channels (list) --
(dict) --
Object specifying a channel.
arn (string) --
Channel ARN.
name (string) --
Channel name.
latencyMode (string) --
Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)
type (string) --
Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. 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: Amazon IVS 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.
recordingConfigurationArn (string) --
Recording-configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (empty string, recording is disabled).
ingestEndpoint (string) --
Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software.
playbackUrl (string) --
Channel playback URL.
authorized (boolean) --
Whether the channel is private (enabled for playback authorization). Default: false.
tags (dict) --
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
errors (list) --
Each error object is related to a specific ARN in the request.
(dict) --
Error related to a specific channel, specified by its ARN.
arn (string) --
Channel ARN.
code (string) --
Error code.
message (string) --
Error message, determined by the application.
{'recordingConfigurationArn': 'string'}Response
{'channel': {'recordingConfigurationArn': 'string'}}
Creates a new channel and an associated stream key to start streaming.
See also: AWS API Documentation
Request Syntax
client.create_channel( name='string', latencyMode='NORMAL'|'LOW', type='BASIC'|'STANDARD', authorized=True|False, recordingConfigurationArn='string', tags={ 'string': 'string' } )
string
Channel name.
string
Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.) Default: LOW.
string
Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. 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: Amazon IVS 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.
boolean
Whether the channel is private (enabled for playback authorization). Default: false.
string
Recording-configuration ARN. Default: "" (empty string, recording is disabled).
dict
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
dict
Response Syntax
{ 'channel': { 'arn': 'string', 'name': 'string', 'latencyMode': 'NORMAL'|'LOW', 'type': 'BASIC'|'STANDARD', 'recordingConfigurationArn': 'string', 'ingestEndpoint': 'string', 'playbackUrl': 'string', 'authorized': True|False, 'tags': { 'string': 'string' } }, 'streamKey': { 'arn': 'string', 'value': 'string', 'channelArn': 'string', 'tags': { 'string': 'string' } } }
Response Structure
(dict) --
channel (dict) --
Object specifying a channel.
arn (string) --
Channel ARN.
name (string) --
Channel name.
latencyMode (string) --
Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)
type (string) --
Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. 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: Amazon IVS 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.
recordingConfigurationArn (string) --
Recording-configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (empty string, recording is disabled).
ingestEndpoint (string) --
Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software.
playbackUrl (string) --
Channel playback URL.
authorized (boolean) --
Whether the channel is private (enabled for playback authorization). Default: false.
tags (dict) --
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
streamKey (dict) --
Object specifying a stream key.
arn (string) --
Stream-key ARN.
value (string) --
Stream-key value.
channelArn (string) --
Channel ARN for the stream.
tags (dict) --
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
{'channel': {'recordingConfigurationArn': 'string'}}
Gets the channel configuration for the specified channel ARN. See also BatchGetChannel.
See also: AWS API Documentation
Request Syntax
client.get_channel( arn='string' )
string
[REQUIRED]
ARN of the channel for which the configuration is to be retrieved.
dict
Response Syntax
{ 'channel': { 'arn': 'string', 'name': 'string', 'latencyMode': 'NORMAL'|'LOW', 'type': 'BASIC'|'STANDARD', 'recordingConfigurationArn': 'string', 'ingestEndpoint': 'string', 'playbackUrl': 'string', 'authorized': True|False, 'tags': { 'string': 'string' } } }
Response Structure
(dict) --
channel (dict) --
Object specifying a channel.
arn (string) --
Channel ARN.
name (string) --
Channel name.
latencyMode (string) --
Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)
type (string) --
Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. 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: Amazon IVS 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.
recordingConfigurationArn (string) --
Recording-configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (empty string, recording is disabled).
ingestEndpoint (string) --
Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software.
playbackUrl (string) --
Channel playback URL.
authorized (boolean) --
Whether the channel is private (enabled for playback authorization). Default: false.
tags (dict) --
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
{'filterByRecordingConfigurationArn': 'string'}Response
{'channels': {'recordingConfigurationArn': 'string'}}
Gets summary information about all channels in your account, in the AWS region where the API request is processed. This list can be filtered to match a specified name or recording-configuration ARN. Filters are mutually exclusive and cannot be used together. If you try to use both filters, you will get an error (409 ConflictException).
See also: AWS API Documentation
Request Syntax
client.list_channels( filterByName='string', filterByRecordingConfigurationArn='string', nextToken='string', maxResults=123 )
string
Filters the channel list to match the specified name.
string
Filters the channel list to match the specified recording-configuration ARN.
string
The first channel to retrieve. This is used for pagination; see the nextToken response field.
integer
Maximum number of channels to return. Default: 50.
dict
Response Syntax
{ 'channels': [ { 'arn': 'string', 'name': 'string', 'latencyMode': 'NORMAL'|'LOW', 'authorized': True|False, 'recordingConfigurationArn': 'string', 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' }
Response Structure
(dict) --
channels (list) --
List of the matching channels.
(dict) --
Summary information about a channel.
arn (string) --
Channel ARN.
name (string) --
Channel name.
latencyMode (string) --
Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)
authorized (boolean) --
Whether the channel is private (enabled for playback authorization). Default: false.
recordingConfigurationArn (string) --
Recording-configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (empty string, recording is disabled).
tags (dict) --
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --
nextToken (string) --
If there are more channels than maxResults, use nextToken in the request to get the next set.
{'recordingConfigurationArn': 'string'}Response
{'channel': {'recordingConfigurationArn': 'string'}}
Updates a channel's configuration. This does not affect an ongoing stream of this channel. You must stop and restart the stream for the changes to take effect.
See also: AWS API Documentation
Request Syntax
client.update_channel( arn='string', name='string', latencyMode='NORMAL'|'LOW', type='BASIC'|'STANDARD', authorized=True|False, recordingConfigurationArn='string' )
string
[REQUIRED]
ARN of the channel to be updated.
string
Channel name.
string
Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)
string
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: Amazon IVS 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.
boolean
Whether the channel is private (enabled for playback authorization).
string
Recording-configuration ARN. If this is set to an empty string, recording is disabled. A value other than an empty string indicates that recording is enabled
dict
Response Syntax
{ 'channel': { 'arn': 'string', 'name': 'string', 'latencyMode': 'NORMAL'|'LOW', 'type': 'BASIC'|'STANDARD', 'recordingConfigurationArn': 'string', 'ingestEndpoint': 'string', 'playbackUrl': 'string', 'authorized': True|False, 'tags': { 'string': 'string' } } }
Response Structure
(dict) --
channel (dict) --
Object specifying a channel.
arn (string) --
Channel ARN.
name (string) --
Channel name.
latencyMode (string) --
Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW. (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)
type (string) --
Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. 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: Amazon IVS 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.
recordingConfigurationArn (string) --
Recording-configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (empty string, recording is disabled).
ingestEndpoint (string) --
Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software.
playbackUrl (string) --
Channel playback URL.
authorized (boolean) --
Whether the channel is private (enabled for playback authorization). Default: false.
tags (dict) --
Array of 1-50 maps, each of the form string:string (key:value).
(string) --
(string) --