Amazon Kinesis Video Streams

2022/05/03 - Amazon Kinesis Video Streams - 4 new4 updated api methods

Changes  Add support for multiple image feature related APIs for configuring image generation and notification of a video stream. Add "GET_IMAGES" to the list of supported API names for the GetDataEndpoint API.

DescribeImageGenerationConfiguration (new) Link ¶

Gets the ImageGenerationConfiguration for a given Kinesis video stream.

See also: AWS API Documentation

Request Syntax

client.describe_image_generation_configuration(
    StreamName='string',
    StreamARN='string'
)
type StreamName:

string

param StreamName:

The name of the stream from which to retrieve the image generation configuration. You must specify either the StreamName or the StreamARN.

type StreamARN:

string

param StreamARN:

The Amazon Resource Name (ARN) of the Kinesis video stream from which to retrieve the image generation configuration. You must specify either the StreamName or the StreamARN.

rtype:

dict

returns:

Response Syntax

{
    'ImageGenerationConfiguration': {
        'Status': 'ENABLED'|'DISABLED',
        'ImageSelectorType': 'SERVER_TIMESTAMP'|'PRODUCER_TIMESTAMP',
        'DestinationConfig': {
            'Uri': 'string',
            'DestinationRegion': 'string'
        },
        'SamplingInterval': 123,
        'Format': 'JPEG'|'PNG',
        'FormatConfig': {
            'string': 'string'
        },
        'WidthPixels': 123,
        'HeightPixels': 123
    }
}

Response Structure

  • (dict) --

    • ImageGenerationConfiguration (dict) --

      The structure that contains the information required for the Kinesis video stream (KVS) images delivery. If this structure is null, the configuration will be deleted from the stream.

      • Status (string) --

        Indicates whether the ContinuousImageGenerationConfigurations API is enabled or disabled.

      • ImageSelectorType (string) --

        The origin of the Server or Producer timestamps to use to generate the images.

      • DestinationConfig (dict) --

        The structure that contains the information required to deliver images to a customer.

        • Uri (string) --

          The Uniform Resource Idenifier (URI) that identifies where the images will be delivered.

        • DestinationRegion (string) --

          The AWS Region of the S3 bucket where images will be delivered. This DestinationRegion must match the Region where the stream is located.

      • SamplingInterval (integer) --

        The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 33 ms, because a camera that generates content at 30 FPS would create a frame every 33.3 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

      • Format (string) --

        The accepted image format.

      • FormatConfig (dict) --

        The list of a key-value pair structure that contains extra parameters that can be applied when the image is generated. The FormatConfig key is the JPEGQuality, which indicates the JPEG quality key to be used to generate the image. The FormatConfig value accepts ints from 1 to 100. If the value is 1, the image will be generated with less quality and the best compression. If the value is 100, the image will be generated with the best quality and less compression. If no value is provided, the default value of the JPEGQuality key will be set to 80.

        • (string) --

          • (string) --

      • WidthPixels (integer) --

        The width of the output image that is used in conjunction with the HeightPixels parameter. When both WidthPixels and HeightPixels parameters are provided, the image will be stretched to fit the specified aspect ratio. If only the WidthPixels parameter is provided, its original aspect ratio will be used to calculate the HeightPixels ratio. If neither parameter is provided, the original image size will be returned.

      • HeightPixels (integer) --

        The height of the output image that is used in conjunction with the WidthPixels parameter. When both HeightPixels and WidthPixels parameters are provided, the image will be stretched to fit the specified aspect ratio. If only the HeightPixels parameter is provided, its original aspect ratio will be used to calculate the WidthPixels ratio. If neither parameter is provided, the original image size will be returned.

UpdateNotificationConfiguration (new) Link ¶

Updates the notification information for a stream.

See also: AWS API Documentation

Request Syntax

client.update_notification_configuration(
    StreamName='string',
    StreamARN='string',
    NotificationConfiguration={
        'Status': 'ENABLED'|'DISABLED',
        'DestinationConfig': {
            'Uri': 'string'
        }
    }
)
type StreamName:

string

param StreamName:

The name of the stream from which to update the notification configuration. You must specify either the StreamName or the StreamARN.

type StreamARN:

string

param StreamARN:

The Amazon Resource Name (ARN) of the Kinesis video stream from where you want to update the notification configuration. You must specify either the StreamName or the StreamARN.

type NotificationConfiguration:

dict

param NotificationConfiguration:

The structure containing the information required for notifications. If the structure is null, the configuration will be deleted from the stream.

  • Status (string) -- [REQUIRED]

    Indicates if a notification configuration is enabled or disabled.

  • DestinationConfig (dict) -- [REQUIRED]

    The destination information required to deliver a notification to a customer.

    • Uri (string) -- [REQUIRED]

      The Uniform Resource Idenifier (URI) that identifies where the images will be delivered.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

DescribeNotificationConfiguration (new) Link ¶

Gets the NotificationConfiguration for a given Kinesis video stream.

See also: AWS API Documentation

Request Syntax

client.describe_notification_configuration(
    StreamName='string',
    StreamARN='string'
)
type StreamName:

string

param StreamName:

The name of the stream from which to retrieve the notification configuration. You must specify either the StreamName or the StreamARN.

type StreamARN:

string

param StreamARN:

The Amazon Resource Name (ARN) of the Kinesis video stream from where you want to retrieve the notification configuration. You must specify either the StreamName or the StreamARN.

rtype:

dict

returns:

Response Syntax

{
    'NotificationConfiguration': {
        'Status': 'ENABLED'|'DISABLED',
        'DestinationConfig': {
            'Uri': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • NotificationConfiguration (dict) --

      The structure that contains the information required for notifications. If the structure is null, the configuration will be deleted from the stream.

      • Status (string) --

        Indicates if a notification configuration is enabled or disabled.

      • DestinationConfig (dict) --

        The destination information required to deliver a notification to a customer.

        • Uri (string) --

          The Uniform Resource Idenifier (URI) that identifies where the images will be delivered.

UpdateImageGenerationConfiguration (new) Link ¶

Updates the StreamInfo and ImageProcessingConfiguration fields.

See also: AWS API Documentation

Request Syntax

client.update_image_generation_configuration(
    StreamName='string',
    StreamARN='string',
    ImageGenerationConfiguration={
        'Status': 'ENABLED'|'DISABLED',
        'ImageSelectorType': 'SERVER_TIMESTAMP'|'PRODUCER_TIMESTAMP',
        'DestinationConfig': {
            'Uri': 'string',
            'DestinationRegion': 'string'
        },
        'SamplingInterval': 123,
        'Format': 'JPEG'|'PNG',
        'FormatConfig': {
            'string': 'string'
        },
        'WidthPixels': 123,
        'HeightPixels': 123
    }
)
type StreamName:

string

param StreamName:

The name of the stream from which to update the image generation configuration. You must specify either the StreamName or the StreamARN.

type StreamARN:

string

param StreamARN:

The Amazon Resource Name (ARN) of the Kinesis video stream from where you want to update the image generation configuration. You must specify either the StreamName or the StreamARN.

type ImageGenerationConfiguration:

dict

param ImageGenerationConfiguration:

The structure that contains the information required for the KVS images delivery. If the structure is null, the configuration will be deleted from the stream.

  • Status (string) -- [REQUIRED]

    Indicates whether the ContinuousImageGenerationConfigurations API is enabled or disabled.

  • ImageSelectorType (string) -- [REQUIRED]

    The origin of the Server or Producer timestamps to use to generate the images.

  • DestinationConfig (dict) -- [REQUIRED]

    The structure that contains the information required to deliver images to a customer.

    • Uri (string) -- [REQUIRED]

      The Uniform Resource Idenifier (URI) that identifies where the images will be delivered.

    • DestinationRegion (string) -- [REQUIRED]

      The AWS Region of the S3 bucket where images will be delivered. This DestinationRegion must match the Region where the stream is located.

  • SamplingInterval (integer) -- [REQUIRED]

    The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 33 ms, because a camera that generates content at 30 FPS would create a frame every 33.3 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

  • Format (string) -- [REQUIRED]

    The accepted image format.

  • FormatConfig (dict) --

    The list of a key-value pair structure that contains extra parameters that can be applied when the image is generated. The FormatConfig key is the JPEGQuality, which indicates the JPEG quality key to be used to generate the image. The FormatConfig value accepts ints from 1 to 100. If the value is 1, the image will be generated with less quality and the best compression. If the value is 100, the image will be generated with the best quality and less compression. If no value is provided, the default value of the JPEGQuality key will be set to 80.

    • (string) --

      • (string) --

  • WidthPixels (integer) --

    The width of the output image that is used in conjunction with the HeightPixels parameter. When both WidthPixels and HeightPixels parameters are provided, the image will be stretched to fit the specified aspect ratio. If only the WidthPixels parameter is provided, its original aspect ratio will be used to calculate the HeightPixels ratio. If neither parameter is provided, the original image size will be returned.

  • HeightPixels (integer) --

    The height of the output image that is used in conjunction with the WidthPixels parameter. When both HeightPixels and WidthPixels parameters are provided, the image will be stretched to fit the specified aspect ratio. If only the HeightPixels parameter is provided, its original aspect ratio will be used to calculate the WidthPixels ratio. If neither parameter is provided, the original image size will be returned.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

CreateSignalingChannel (updated) Link ¶
Changes (request)
{'ChannelType': {'FULL_MESH'}}

Creates a signaling channel.

CreateSignalingChannel is an asynchronous operation.

See also: AWS API Documentation

Request Syntax

client.create_signaling_channel(
    ChannelName='string',
    ChannelType='SINGLE_MASTER'|'FULL_MESH',
    SingleMasterConfiguration={
        'MessageTtlSeconds': 123
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type ChannelName:

string

param ChannelName:

[REQUIRED]

A name for the signaling channel that you are creating. It must be unique for each Amazon Web Services account and Amazon Web Services Region.

type ChannelType:

string

param ChannelType:

A type of the signaling channel that you are creating. Currently, SINGLE_MASTER is the only supported channel type.

type SingleMasterConfiguration:

dict

param SingleMasterConfiguration:

A structure containing the configuration for the SINGLE_MASTER channel type.

  • MessageTtlSeconds (integer) --

    The period of time a signaling channel retains undelivered messages before they are discarded.

type Tags:

list

param Tags:

A set of tags (key-value pairs) that you want to associate with this channel.

  • (dict) --

    A key and value pair that is associated with the specified signaling channel.

    • Key (string) -- [REQUIRED]

      The key of the tag that is associated with the specified signaling channel.

    • Value (string) -- [REQUIRED]

      The value of the tag that is associated with the specified signaling channel.

rtype:

dict

returns:

Response Syntax

{
    'ChannelARN': 'string'
}

Response Structure

  • (dict) --

    • ChannelARN (string) --

      The Amazon Resource Name (ARN) of the created channel.

DescribeSignalingChannel (updated) Link ¶
Changes (response)
{'ChannelInfo': {'ChannelType': {'FULL_MESH'}}}

Returns the most current information about the signaling channel. You must specify either the name or the Amazon Resource Name (ARN) of the channel that you want to describe.

See also: AWS API Documentation

Request Syntax

client.describe_signaling_channel(
    ChannelName='string',
    ChannelARN='string'
)
type ChannelName:

string

param ChannelName:

The name of the signaling channel that you want to describe.

type ChannelARN:

string

param ChannelARN:

The ARN of the signaling channel that you want to describe.

rtype:

dict

returns:

Response Syntax

{
    'ChannelInfo': {
        'ChannelName': 'string',
        'ChannelARN': 'string',
        'ChannelType': 'SINGLE_MASTER'|'FULL_MESH',
        'ChannelStatus': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING',
        'CreationTime': datetime(2015, 1, 1),
        'SingleMasterConfiguration': {
            'MessageTtlSeconds': 123
        },
        'Version': 'string'
    }
}

Response Structure

  • (dict) --

    • ChannelInfo (dict) --

      A structure that encapsulates the specified signaling channel's metadata and properties.

      • ChannelName (string) --

        The name of the signaling channel.

      • ChannelARN (string) --

        The Amazon Resource Name (ARN) of the signaling channel.

      • ChannelType (string) --

        The type of the signaling channel.

      • ChannelStatus (string) --

        Current status of the signaling channel.

      • CreationTime (datetime) --

        The time at which the signaling channel was created.

      • SingleMasterConfiguration (dict) --

        A structure that contains the configuration for the SINGLE_MASTER channel type.

        • MessageTtlSeconds (integer) --

          The period of time a signaling channel retains undelivered messages before they are discarded.

      • Version (string) --

        The current version of the signaling channel.

GetDataEndpoint (updated) Link ¶
Changes (request)
{'APIName': {'GET_IMAGES'}}

Gets an endpoint for a specified stream for either reading or writing. Use this endpoint in your application to read from the specified stream (using the GetMedia or GetMediaForFragmentList operations) or write to it (using the PutMedia operation).

In the request, specify the stream either by StreamName or StreamARN.

See also: AWS API Documentation

Request Syntax

client.get_data_endpoint(
    StreamName='string',
    StreamARN='string',
    APIName='PUT_MEDIA'|'GET_MEDIA'|'LIST_FRAGMENTS'|'GET_MEDIA_FOR_FRAGMENT_LIST'|'GET_HLS_STREAMING_SESSION_URL'|'GET_DASH_STREAMING_SESSION_URL'|'GET_CLIP'|'GET_IMAGES'
)
type StreamName:

string

param StreamName:

The name of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamARN in the request.

type StreamARN:

string

param StreamARN:

The Amazon Resource Name (ARN) of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamName in the request.

type APIName:

string

param APIName:

[REQUIRED]

The name of the API action for which to get an endpoint.

rtype:

dict

returns:

Response Syntax

{
    'DataEndpoint': 'string'
}

Response Structure

  • (dict) --

    • DataEndpoint (string) --

      The endpoint value. To read data from the stream or to write data to it, specify this endpoint in your application.

ListSignalingChannels (updated) Link ¶
Changes (response)
{'ChannelInfoList': {'ChannelType': {'FULL_MESH'}}}

Returns an array of ChannelInfo objects. Each object describes a signaling channel. To retrieve only those channels that satisfy a specific condition, you can specify a ChannelNameCondition.

See also: AWS API Documentation

Request Syntax

client.list_signaling_channels(
    MaxResults=123,
    NextToken='string',
    ChannelNameCondition={
        'ComparisonOperator': 'BEGINS_WITH',
        'ComparisonValue': 'string'
    }
)
type MaxResults:

integer

param MaxResults:

The maximum number of channels to return in the response. The default is 500.

type NextToken:

string

param NextToken:

If you specify this parameter, when the result of a ListSignalingChannels operation is truncated, the call returns the NextToken in the response. To get another batch of channels, provide this token in your next request.

type ChannelNameCondition:

dict

param ChannelNameCondition:

Optional: Returns only the channels that satisfy a specific condition.

  • ComparisonOperator (string) --

    A comparison operator. Currently, you can only specify the BEGINS_WITH operator, which finds signaling channels whose names begin with a given prefix.

  • ComparisonValue (string) --

    A value to compare.

rtype:

dict

returns:

Response Syntax

{
    'ChannelInfoList': [
        {
            'ChannelName': 'string',
            'ChannelARN': 'string',
            'ChannelType': 'SINGLE_MASTER'|'FULL_MESH',
            'ChannelStatus': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING',
            'CreationTime': datetime(2015, 1, 1),
            'SingleMasterConfiguration': {
                'MessageTtlSeconds': 123
            },
            'Version': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • ChannelInfoList (list) --

      An array of ChannelInfo objects.

      • (dict) --

        A structure that encapsulates a signaling channel's metadata and properties.

        • ChannelName (string) --

          The name of the signaling channel.

        • ChannelARN (string) --

          The Amazon Resource Name (ARN) of the signaling channel.

        • ChannelType (string) --

          The type of the signaling channel.

        • ChannelStatus (string) --

          Current status of the signaling channel.

        • CreationTime (datetime) --

          The time at which the signaling channel was created.

        • SingleMasterConfiguration (dict) --

          A structure that contains the configuration for the SINGLE_MASTER channel type.

          • MessageTtlSeconds (integer) --

            The period of time a signaling channel retains undelivered messages before they are discarded.

        • Version (string) --

          The current version of the signaling channel.

    • NextToken (string) --

      If the response is truncated, the call returns this element with a token. To get the next batch of streams, use this token in your next request.