Amazon Interactive Video Service

2020/08/19 - Amazon Interactive Video Service - 4 new 5 updated api methods

Changes  Amazon Interactive Video Service (IVS) now offers customers the ability to create private channels, allowing customers to restrict their streams by channel or viewer.

GetPlaybackKeyPair (new) Link ¶

Gets a specified playback authorization key pair and returns the arn and fingerprint . The privateKey held by the caller can be used to generate viewer authorization tokens, to grant viewers access to authorized channels.

See also: AWS API Documentation

Request Syntax

client.get_playback_key_pair(
    arn='string'
)
type arn

string

param arn

[REQUIRED]

ARN of the key pair to be returned.

rtype

dict

returns

Response Syntax

{
    'keyPair': {
        'arn': 'string',
        'name': 'string',
        'fingerprint': 'string',
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • keyPair (dict) --

      A key pair used to sign and validate a playback authorization token.

      • arn (string) --

        Key-pair ARN.

      • name (string) --

        Key-pair name.

      • fingerprint (string) --

        Key-pair identifier.

      • tags (dict) --

        Array of 1-50 maps, each of the form string:string (key:value) .

        • (string) --

          • (string) --

ListPlaybackKeyPairs (new) Link ¶

Gets summary information about playback key pairs.

See also: AWS API Documentation

Request Syntax

client.list_playback_key_pairs(
    nextToken='string',
    maxResults=123
)
type nextToken

string

param nextToken

Maximum number of key pairs to return.

type maxResults

integer

param maxResults

The first key pair to retrieve. This is used for pagination; see the nextToken response field.

rtype

dict

returns

Response Syntax

{
    'keyPairs': [
        {
            'arn': 'string',
            'name': 'string',
            'tags': {
                'string': 'string'
            }
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • keyPairs (list) --

      List of key pairs.

      • (dict) --

        Summary information about a playback key pair.

        • arn (string) --

          Key-pair ARN.

        • name (string) --

          Key-pair name.

        • tags (dict) --

          Array of 1-50 maps, each of the form string:string (key:value)

          • (string) --

            • (string) --

    • nextToken (string) --

      If there are more key pairs than maxResults , use nextToken in the request to get the next set.

DeletePlaybackKeyPair (new) Link ¶

Deletes a specified authorization key pair. This invalidates future viewer tokens generated using the key pair’s privateKey .

See also: AWS API Documentation

Request Syntax

client.delete_playback_key_pair(
    arn='string'
)
type arn

string

param arn

[REQUIRED]

ARN of the key pair to be deleted.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

ImportPlaybackKeyPair (new) Link ¶

Imports the public portion of a new key pair and returns its arn and fingerprint . The privateKey can then be used to generate viewer authorization tokens, to grant viewers access to authorized channels.

See also: AWS API Documentation

Request Syntax

client.import_playback_key_pair(
    publicKeyMaterial='string',
    name='string',
    tags={
        'string': 'string'
    }
)
type publicKeyMaterial

string

param publicKeyMaterial

[REQUIRED]

The public portion of a customer-generated key pair.

type name

string

param name

An arbitrary string (a nickname) assigned to a playback key pair that helps the customer identify that resource. The value does not need to be unique.

type tags

dict

param tags

Any tags provided with the request are added to the playback key pair tags.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'keyPair': {
        'arn': 'string',
        'name': 'string',
        'fingerprint': 'string',
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • keyPair (dict) --

      A key pair used to sign and validate a playback authorization token.

      • arn (string) --

        Key-pair ARN.

      • name (string) --

        Key-pair name.

      • fingerprint (string) --

        Key-pair identifier.

      • tags (dict) --

        Array of 1-50 maps, each of the form string:string (key:value) .

        • (string) --

          • (string) --

BatchGetChannel (updated) Link ¶
Changes (response)
{'channels': {'authorized': 'boolean'}}

Performs GetChannel on multiple ARNs simultaneously.

See also: AWS API Documentation

Request Syntax

client.batch_get_channel(
    arns=[
        'string',
    ]
)
type arns

list

param arns

[REQUIRED]

Array of ARNs, one per channel.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'channels': [
        {
            'arn': 'string',
            'name': 'string',
            'latencyMode': 'NORMAL'|'LOW',
            'type': 'BASIC'|'STANDARD',
            '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. Default: LOW .

        • 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. 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.

          Default: STANDARD .

        • 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 authorized.

        • 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.

CreateChannel (updated) Link ¶
Changes (request, response)
Request
{'authorized': 'boolean'}
Response
{'channel': {'authorized': 'boolean'}}

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,
    tags={
        'string': 'string'
    }
)
type name

string

param name

Channel name.

type latencyMode

string

param latencyMode

Channel latency mode. Default: LOW .

type type

string

param type

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.

Default: STANDARD .

type authorized

boolean

param authorized

Whether the channel is authorized. Default: false .

type tags

dict

param tags

See Channel$tags.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'channel': {
        'arn': 'string',
        'name': 'string',
        'latencyMode': 'NORMAL'|'LOW',
        'type': 'BASIC'|'STANDARD',
        '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. Default: LOW .

      • 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. 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.

        Default: STANDARD .

      • 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 authorized.

      • 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) --

GetChannel (updated) Link ¶
Changes (response)
{'channel': {'authorized': 'boolean'}}

Gets the channel configuration for the specified channel ARN. See also BatchGetChannel.

See also: AWS API Documentation

Request Syntax

client.get_channel(
    arn='string'
)
type arn

string

param arn

[REQUIRED]

ARN of the channel for which the configuration is to be retrieved.

rtype

dict

returns

Response Syntax

{
    'channel': {
        'arn': 'string',
        'name': 'string',
        'latencyMode': 'NORMAL'|'LOW',
        'type': 'BASIC'|'STANDARD',
        '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. Default: LOW .

      • 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. 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.

        Default: STANDARD .

      • 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 authorized.

      • tags (dict) --

        Array of 1-50 maps, each of the form string:string (key:value) .

        • (string) --

          • (string) --

ListChannels (updated) Link ¶
Changes (response)
{'channels': {'authorized': 'boolean'}}

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 string.

See also: AWS API Documentation

Request Syntax

client.list_channels(
    filterByName='string',
    nextToken='string',
    maxResults=123
)
type filterByName

string

param filterByName

Filters the channel list to match the specified name.

type nextToken

string

param nextToken

The first channel to retrieve. This is used for pagination; see the nextToken response field.

type maxResults

integer

param maxResults

Maximum number of channels to return.

rtype

dict

returns

Response Syntax

{
    'channels': [
        {
            'arn': 'string',
            'name': 'string',
            'latencyMode': 'NORMAL'|'LOW',
            'authorized': True|False,
            '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. Default: LOW .

        • authorized (boolean) --

          Whether the channel is authorized.

        • 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.

UpdateChannel (updated) Link ¶
Changes (request, response)
Request
{'authorized': 'boolean'}
Response
{'channel': {'authorized': 'boolean'}}

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
)
type arn

string

param arn

[REQUIRED]

ARN of the channel to be updated.

type name

string

param name

Channel name.

type latencyMode

string

param latencyMode

Channel latency mode. Default: LOW .

type type

string

param type

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.

Default: STANDARD .

type authorized

boolean

param authorized

Whether the channel is authorized. Default: false .

rtype

dict

returns

Response Syntax

{
    'channel': {
        'arn': 'string',
        'name': 'string',
        'latencyMode': 'NORMAL'|'LOW',
        'type': 'BASIC'|'STANDARD',
        '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. Default: LOW .

      • 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. 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.

        Default: STANDARD .

      • 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 authorized.

      • tags (dict) --

        Array of 1-50 maps, each of the form string:string (key:value) .

        • (string) --

          • (string) --