IVS / Client / create_recording_configuration

create_recording_configuration#

IVS.Client.create_recording_configuration(**kwargs)#

Creates a new recording configuration, used to enable recording to Amazon S3.

Known issue: In the us-east-1 region, if you use the Amazon Web Services 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

response = client.create_recording_configuration(
    destinationConfiguration={
        's3': {
            'bucketName': 'string'
        }
    },
    name='string',
    recordingReconnectWindowSeconds=123,
    renditionConfiguration={
        'renditionSelection': 'ALL'|'NONE'|'CUSTOM',
        'renditions': [
            'FULL_HD'|'HD'|'SD'|'LOWEST_RESOLUTION',
        ]
    },
    tags={
        'string': 'string'
    },
    thumbnailConfiguration={
        'recordingMode': 'DISABLED'|'INTERVAL',
        'resolution': 'FULL_HD'|'HD'|'SD'|'LOWEST_RESOLUTION',
        'storage': [
            'SEQUENTIAL'|'LATEST',
        ],
        'targetIntervalSeconds': 123
    }
)
Parameters:
  • destinationConfiguration (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.

  • name (string) – Recording-configuration name. The value does not need to be unique.

  • recordingReconnectWindowSeconds (integer) – If a broadcast disconnects and then reconnects within the specified interval, the multiple streams will be considered a single broadcast and merged together. Default: 0.

  • renditionConfiguration (dict) –

    Object that describes which renditions should be recorded for a stream.

    • renditionSelection (string) –

      Indicates which set of renditions are recorded for a stream. For BASIC channels, the CUSTOM value has no effect. If CUSTOM is specified, a set of renditions must be specified in the renditions field. Default: ALL.

    • renditions (list) –

      Indicates which renditions are recorded for a stream, if renditionSelection is CUSTOM; otherwise, this field is irrelevant. The selected renditions are recorded if they are available during the stream. If a selected rendition is unavailable, the best available rendition is recorded. For details on the resolution dimensions of each rendition, see Auto-Record to Amazon S3.

      • (string) –

  • tags (dict) –

    Array of 1-50 maps, each of the form string:string (key:value). See Tagging Amazon Web Services Resources for more information, including restrictions that apply to tags and “Tag naming limits and requirements”; Amazon IVS has no service-specific constraints beyond what is documented there.

    • (string) –

      • (string) –

  • thumbnailConfiguration (dict) –

    A complex type that allows you to enable/disable the recording of thumbnails for a live session and modify the interval at which thumbnails are generated for the live session.

    • recordingMode (string) –

      Thumbnail recording mode. Default: INTERVAL.

    • resolution (string) –

      Indicates the desired resolution of recorded thumbnails. Thumbnails are recorded at the selected resolution if the corresponding rendition is available during the stream; otherwise, they are recorded at source resolution. For more information about resolution values and their corresponding height and width dimensions, see Auto-Record to Amazon S3. Default: Null (source resolution is returned).

    • storage (list) –

      Indicates the format in which thumbnails are recorded. SEQUENTIAL records all generated thumbnails in a serial manner, to the media/thumbnails directory. LATEST saves the latest thumbnail in media/latest_thumbnail/thumb.jpg and overwrites it at the interval specified by targetIntervalSeconds. You can enable both SEQUENTIAL and LATEST. Default: SEQUENTIAL.

      • (string) –

    • targetIntervalSeconds (integer) –

      The targeted thumbnail-generation interval in seconds. This is configurable (and required) only if recordingMode is INTERVAL. Default: 60.

      Important: For the BASIC channel type, setting a value for targetIntervalSeconds does not guarantee that thumbnails are generated at the specified interval. For thumbnails to be generated at the targetIntervalSeconds interval, the IDR/Keyframe value for the input video must be less than the targetIntervalSeconds value. See Amazon IVS Streaming Configuration for information on setting IDR/Keyframe to the recommended value in video-encoder settings.

Return type:

dict

Returns:

Response Syntax

{
    'recordingConfiguration': {
        'arn': 'string',
        'destinationConfiguration': {
            's3': {
                'bucketName': 'string'
            }
        },
        'name': 'string',
        'recordingReconnectWindowSeconds': 123,
        'renditionConfiguration': {
            'renditionSelection': 'ALL'|'NONE'|'CUSTOM',
            'renditions': [
                'FULL_HD'|'HD'|'SD'|'LOWEST_RESOLUTION',
            ]
        },
        'state': 'CREATING'|'CREATE_FAILED'|'ACTIVE',
        'tags': {
            'string': 'string'
        },
        'thumbnailConfiguration': {
            'recordingMode': 'DISABLED'|'INTERVAL',
            'resolution': 'FULL_HD'|'HD'|'SD'|'LOWEST_RESOLUTION',
            'storage': [
                'SEQUENTIAL'|'LATEST',
            ],
            'targetIntervalSeconds': 123
        }
    }
}

Response Structure

  • (dict) –

    • recordingConfiguration (dict) –

      • arn (string) –

        Recording-configuration ARN.

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

      • name (string) –

        Recording-configuration name. The value does not need to be unique.

      • recordingReconnectWindowSeconds (integer) –

        If a broadcast disconnects and then reconnects within the specified interval, the multiple streams will be considered a single broadcast and merged together. Default: 0.

      • renditionConfiguration (dict) –

        Object that describes which renditions should be recorded for a stream.

        • renditionSelection (string) –

          Indicates which set of renditions are recorded for a stream. For BASIC channels, the CUSTOM value has no effect. If CUSTOM is specified, a set of renditions must be specified in the renditions field. Default: ALL.

        • renditions (list) –

          Indicates which renditions are recorded for a stream, if renditionSelection is CUSTOM; otherwise, this field is irrelevant. The selected renditions are recorded if they are available during the stream. If a selected rendition is unavailable, the best available rendition is recorded. For details on the resolution dimensions of each rendition, see Auto-Record to Amazon S3.

          • (string) –

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

        Tags attached to the resource. Array of 1-50 maps, each of the form string:string (key:value). See Tagging Amazon Web Services Resources for more information, including restrictions that apply to tags and “Tag naming limits and requirements”; Amazon IVS has no service-specific constraints beyond what is documented there.

        • (string) –

          • (string) –

      • thumbnailConfiguration (dict) –

        A complex type that allows you to enable/disable the recording of thumbnails for a live session and modify the interval at which thumbnails are generated for the live session.

        • recordingMode (string) –

          Thumbnail recording mode. Default: INTERVAL.

        • resolution (string) –

          Indicates the desired resolution of recorded thumbnails. Thumbnails are recorded at the selected resolution if the corresponding rendition is available during the stream; otherwise, they are recorded at source resolution. For more information about resolution values and their corresponding height and width dimensions, see Auto-Record to Amazon S3. Default: Null (source resolution is returned).

        • storage (list) –

          Indicates the format in which thumbnails are recorded. SEQUENTIAL records all generated thumbnails in a serial manner, to the media/thumbnails directory. LATEST saves the latest thumbnail in media/latest_thumbnail/thumb.jpg and overwrites it at the interval specified by targetIntervalSeconds. You can enable both SEQUENTIAL and LATEST. Default: SEQUENTIAL.

          • (string) –

        • targetIntervalSeconds (integer) –

          The targeted thumbnail-generation interval in seconds. This is configurable (and required) only if recordingMode is INTERVAL. Default: 60.

          Important: For the BASIC channel type, setting a value for targetIntervalSeconds does not guarantee that thumbnails are generated at the specified interval. For thumbnails to be generated at the targetIntervalSeconds interval, the IDR/Keyframe value for the input video must be less than the targetIntervalSeconds value. See Amazon IVS Streaming Configuration for information on setting IDR/Keyframe to the recommended value in video-encoder settings.

Exceptions

  • IVS.Client.exceptions.InternalServerException

  • IVS.Client.exceptions.AccessDeniedException

  • IVS.Client.exceptions.ValidationException

  • IVS.Client.exceptions.PendingVerification

  • IVS.Client.exceptions.ConflictException

  • IVS.Client.exceptions.ServiceQuotaExceededException