SDK for PHP 3.x

Client: Aws\IVS\IVSClient
Service ID: ivs
Version: 2020-07-14

This page describes the parameters and results for the operations of the Amazon Interactive Video Service (2020-07-14), and shows how to use the Aws\IVS\IVSClient object to call the described operations. This documentation is specific to the 2020-07-14 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

BatchGetChannel ( array $params = [] )
Performs GetChannel on multiple ARNs simultaneously.
BatchGetStreamKey ( array $params = [] )
Performs GetStreamKey on multiple ARNs simultaneously.
BatchStartViewerSessionRevocation ( array $params = [] )
Performs StartViewerSessionRevocation on multiple channel ARN and viewer ID pairs simultaneously.
CreateChannel ( array $params = [] )
Creates a new channel and an associated stream key to start streaming.
CreatePlaybackRestrictionPolicy ( array $params = [] )
Creates a new playback restriction policy, for constraining playback by countries and/or origins.
CreateRecordingConfiguration ( array $params = [] )
Creates a new recording configuration, used to enable recording to Amazon S3.
CreateStreamKey ( array $params = [] )
Creates a stream key, used to initiate a stream, for the specified channel ARN.
DeleteChannel ( array $params = [] )
Deletes the specified channel and its associated stream keys.
DeletePlaybackKeyPair ( array $params = [] )
Deletes a specified authorization key pair.
DeletePlaybackRestrictionPolicy ( array $params = [] )
Deletes the specified playback restriction policy.
DeleteRecordingConfiguration ( array $params = [] )
Deletes the recording configuration for the specified ARN.
DeleteStreamKey ( array $params = [] )
Deletes the stream key for the specified ARN, so it can no longer be used to stream.
GetChannel ( array $params = [] )
Gets the channel configuration for the specified channel ARN.
GetPlaybackKeyPair ( array $params = [] )
Gets a specified playback authorization key pair and returns the arn and fingerprint.
GetPlaybackRestrictionPolicy ( array $params = [] )
Gets the specified playback restriction policy.
GetRecordingConfiguration ( array $params = [] )
Gets the recording configuration for the specified ARN.
GetStream ( array $params = [] )
Gets information about the active (live) stream on a specified channel.
GetStreamKey ( array $params = [] )
Gets stream-key information for a specified ARN.
GetStreamSession ( array $params = [] )
Gets metadata on a specified stream.
ImportPlaybackKeyPair ( array $params = [] )
Imports the public portion of a new key pair and returns its arn and fingerprint.
ListChannels ( array $params = [] )
Gets summary information about all channels in your account, in the Amazon Web Services region where the API request is processed.
ListPlaybackKeyPairs ( array $params = [] )
Gets summary information about playback key pairs.
ListPlaybackRestrictionPolicies ( array $params = [] )
Gets summary information about playback restriction policies.
ListRecordingConfigurations ( array $params = [] )
Gets summary information about all recording configurations in your account, in the Amazon Web Services region where the API request is processed.
ListStreamKeys ( array $params = [] )
Gets summary information about stream keys for the specified channel.
ListStreamSessions ( array $params = [] )
Gets a summary of current and previous streams for a specified channel in your account, in the AWS region where the API request is processed.
ListStreams ( array $params = [] )
Gets summary information about live streams in your account, in the Amazon Web Services region where the API request is processed.
ListTagsForResource ( array $params = [] )
Gets information about Amazon Web Services tags for the specified ARN.
PutMetadata ( array $params = [] )
Inserts metadata into the active stream of the specified channel.
StartViewerSessionRevocation ( array $params = [] )
Starts the process of revoking the viewer session associated with a specified channel ARN and viewer ID.
StopStream ( array $params = [] )
Disconnects the incoming RTMPS stream for the specified channel.
TagResource ( array $params = [] )
Adds or updates tags for the Amazon Web Services resource with the specified ARN.
UntagResource ( array $params = [] )
Removes tags from the resource with the specified ARN.
UpdateChannel ( array $params = [] )
Updates a channel's configuration.
UpdatePlaybackRestrictionPolicy ( array $params = [] )
Updates a specified playback restriction policy.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListChannels
ListPlaybackKeyPairs
ListPlaybackRestrictionPolicies
ListRecordingConfigurations
ListStreamKeys
ListStreamSessions
ListStreams

Operations

BatchGetChannel

$result = $client->batchGetChannel([/* ... */]);
$promise = $client->batchGetChannelAsync([/* ... */]);

Performs GetChannel on multiple ARNs simultaneously.

Parameter Syntax

$result = $client->batchGetChannel([
    'arns' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
arns
Required: Yes
Type: Array of strings

Array of ARNs, one per channel.

Result Syntax

[
    'channels' => [
        [
            'arn' => '<string>',
            'authorized' => true || false,
            'containerFormat' => 'TS|FRAGMENTED_MP4',
            'ingestEndpoint' => '<string>',
            'insecureIngest' => true || false,
            'latencyMode' => 'NORMAL|LOW',
            'multitrackInputConfiguration' => [
                'enabled' => true || false,
                'maximumResolution' => 'SD|HD|FULL_HD',
                'policy' => 'ALLOW|REQUIRE',
            ],
            'name' => '<string>',
            'playbackRestrictionPolicyArn' => '<string>',
            'playbackUrl' => '<string>',
            'preset' => 'HIGHER_BANDWIDTH_DELIVERY|CONSTRAINED_BANDWIDTH_DELIVERY',
            'recordingConfigurationArn' => '<string>',
            'srt' => [
                'endpoint' => '<string>',
                'passphrase' => '<string>',
            ],
            'tags' => ['<string>', ...],
            'type' => 'BASIC|STANDARD|ADVANCED_SD|ADVANCED_HD',
        ],
        // ...
    ],
    'errors' => [
        [
            'arn' => '<string>',
            'code' => '<string>',
            'message' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
channels
Type: Array of Channel structures

errors
Type: Array of BatchError structures

Each error object is related to a specific ARN in the request.

Errors

There are no errors described for this operation.

BatchGetStreamKey

$result = $client->batchGetStreamKey([/* ... */]);
$promise = $client->batchGetStreamKeyAsync([/* ... */]);

Performs GetStreamKey on multiple ARNs simultaneously.

Parameter Syntax

$result = $client->batchGetStreamKey([
    'arns' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
arns
Required: Yes
Type: Array of strings

Array of ARNs, one per stream key.

Result Syntax

[
    'errors' => [
        [
            'arn' => '<string>',
            'code' => '<string>',
            'message' => '<string>',
        ],
        // ...
    ],
    'streamKeys' => [
        [
            'arn' => '<string>',
            'channelArn' => '<string>',
            'tags' => ['<string>', ...],
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
errors
Type: Array of BatchError structures

streamKeys
Type: Array of StreamKey structures

Errors

There are no errors described for this operation.

BatchStartViewerSessionRevocation

$result = $client->batchStartViewerSessionRevocation([/* ... */]);
$promise = $client->batchStartViewerSessionRevocationAsync([/* ... */]);

Performs StartViewerSessionRevocation on multiple channel ARN and viewer ID pairs simultaneously.

Parameter Syntax

$result = $client->batchStartViewerSessionRevocation([
    'viewerSessions' => [ // REQUIRED
        [
            'channelArn' => '<string>', // REQUIRED
            'viewerId' => '<string>', // REQUIRED
            'viewerSessionVersionsLessThanOrEqualTo' => <integer>,
        ],
        // ...
    ],
]);

Parameter Details

Members
viewerSessions
Required: Yes
Type: Array of BatchStartViewerSessionRevocationViewerSession structures

Array of viewer sessions, one per channel-ARN and viewer-ID pair.

Result Syntax

[
    'errors' => [
        [
            'channelArn' => '<string>',
            'code' => '<string>',
            'message' => '<string>',
            'viewerId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
errors
Type: Array of BatchStartViewerSessionRevocationError structures

Each error object is related to a specific channelArn and viewerId pair in the request.

Errors

AccessDeniedException:

ValidationException:

PendingVerification:

ThrottlingException:

CreateChannel

$result = $client->createChannel([/* ... */]);
$promise = $client->createChannelAsync([/* ... */]);

Creates a new channel and an associated stream key to start streaming.

Parameter Syntax

$result = $client->createChannel([
    'authorized' => true || false,
    'containerFormat' => 'TS|FRAGMENTED_MP4',
    'insecureIngest' => true || false,
    'latencyMode' => 'NORMAL|LOW',
    'multitrackInputConfiguration' => [
        'enabled' => true || false,
        'maximumResolution' => 'SD|HD|FULL_HD',
        'policy' => 'ALLOW|REQUIRE',
    ],
    'name' => '<string>',
    'playbackRestrictionPolicyArn' => '<string>',
    'preset' => 'HIGHER_BANDWIDTH_DELIVERY|CONSTRAINED_BANDWIDTH_DELIVERY',
    'recordingConfigurationArn' => '<string>',
    'tags' => ['<string>', ...],
    'type' => 'BASIC|STANDARD|ADVANCED_SD|ADVANCED_HD',
]);

Parameter Details

Members
authorized
Type: boolean

Whether the channel is private (enabled for playback authorization). Default: false.

containerFormat
Type: string

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.

insecureIngest
Type: boolean

Whether the channel allows insecure RTMP and SRT ingest. Default: false.

latencyMode
Type: 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.

multitrackInputConfiguration

Object specifying multitrack input configuration. Default: no multitrack input configuration is specified.

name
Type: string

Channel name.

playbackRestrictionPolicyArn
Type: string

Playback-restriction-policy ARN. A valid ARN value here both specifies the ARN and enables playback restriction. Default: "" (empty string, no playback restriction policy is applied).

preset
Type: string

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 ("").

recordingConfigurationArn
Type: string

Recording-configuration ARN. A valid ARN value here both specifies the ARN and enables recording. Default: "" (empty string, recording is disabled).

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

type
Type: string

Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. For details, see Channel Types.

Result Syntax

[
    'channel' => [
        'arn' => '<string>',
        'authorized' => true || false,
        'containerFormat' => 'TS|FRAGMENTED_MP4',
        'ingestEndpoint' => '<string>',
        'insecureIngest' => true || false,
        'latencyMode' => 'NORMAL|LOW',
        'multitrackInputConfiguration' => [
            'enabled' => true || false,
            'maximumResolution' => 'SD|HD|FULL_HD',
            'policy' => 'ALLOW|REQUIRE',
        ],
        'name' => '<string>',
        'playbackRestrictionPolicyArn' => '<string>',
        'playbackUrl' => '<string>',
        'preset' => 'HIGHER_BANDWIDTH_DELIVERY|CONSTRAINED_BANDWIDTH_DELIVERY',
        'recordingConfigurationArn' => '<string>',
        'srt' => [
            'endpoint' => '<string>',
            'passphrase' => '<string>',
        ],
        'tags' => ['<string>', ...],
        'type' => 'BASIC|STANDARD|ADVANCED_SD|ADVANCED_HD',
    ],
    'streamKey' => [
        'arn' => '<string>',
        'channelArn' => '<string>',
        'tags' => ['<string>', ...],
        'value' => '<string>',
    ],
]

Result Details

Members
channel
Type: Channel structure

streamKey
Type: StreamKey structure

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

PendingVerification:

ServiceQuotaExceededException:

CreatePlaybackRestrictionPolicy

$result = $client->createPlaybackRestrictionPolicy([/* ... */]);
$promise = $client->createPlaybackRestrictionPolicyAsync([/* ... */]);

Creates a new playback restriction policy, for constraining playback by countries and/or origins.

Parameter Syntax

$result = $client->createPlaybackRestrictionPolicy([
    'allowedCountries' => ['<string>', ...],
    'allowedOrigins' => ['<string>', ...],
    'enableStrictOriginEnforcement' => true || false,
    'name' => '<string>',
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
allowedCountries
Type: Array of strings

A list of country codes that control geoblocking restriction. Allowed values are the officially assigned ISO 3166-1 alpha-2 codes. Default: All countries (an empty array).

allowedOrigins
Type: Array of strings

A list of origin sites that control CORS restriction. Allowed values are the same as valid values of the Origin header defined at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin. Default: All origins (an empty array).

enableStrictOriginEnforcement
Type: boolean

Whether channel playback is constrained by origin site. Default: false.

name
Type: string

Playback-restriction-policy name. The value does not need to be unique.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Result Syntax

[
    'playbackRestrictionPolicy' => [
        'allowedCountries' => ['<string>', ...],
        'allowedOrigins' => ['<string>', ...],
        'arn' => '<string>',
        'enableStrictOriginEnforcement' => true || false,
        'name' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
playbackRestrictionPolicy
Type: PlaybackRestrictionPolicy structure

Errors

AccessDeniedException:

ValidationException:

PendingVerification:

ThrottlingException:

ServiceQuotaExceededException:

CreateRecordingConfiguration

$result = $client->createRecordingConfiguration([/* ... */]);
$promise = $client->createRecordingConfigurationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->createRecordingConfiguration([
    'destinationConfiguration' => [ // REQUIRED
        's3' => [
            'bucketName' => '<string>', // REQUIRED
        ],
    ],
    'name' => '<string>',
    'recordingReconnectWindowSeconds' => <integer>,
    'renditionConfiguration' => [
        'renditionSelection' => 'ALL|NONE|CUSTOM',
        'renditions' => ['<string>', ...],
    ],
    'tags' => ['<string>', ...],
    'thumbnailConfiguration' => [
        'recordingMode' => 'DISABLED|INTERVAL',
        'resolution' => 'SD|HD|FULL_HD|LOWEST_RESOLUTION',
        'storage' => ['<string>', ...],
        'targetIntervalSeconds' => <integer>,
    ],
]);

Parameter Details

Members
destinationConfiguration
Required: Yes
Type: DestinationConfiguration structure

A complex type that contains a destination configuration for where recorded video will be stored.

name
Type: string

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

recordingReconnectWindowSeconds
Type: int

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
Type: RenditionConfiguration structure

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

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

thumbnailConfiguration
Type: ThumbnailConfiguration structure

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.

Result Syntax

[
    'recordingConfiguration' => [
        'arn' => '<string>',
        'destinationConfiguration' => [
            's3' => [
                'bucketName' => '<string>',
            ],
        ],
        'name' => '<string>',
        'recordingReconnectWindowSeconds' => <integer>,
        'renditionConfiguration' => [
            'renditionSelection' => 'ALL|NONE|CUSTOM',
            'renditions' => ['<string>', ...],
        ],
        'state' => 'CREATING|CREATE_FAILED|ACTIVE',
        'tags' => ['<string>', ...],
        'thumbnailConfiguration' => [
            'recordingMode' => 'DISABLED|INTERVAL',
            'resolution' => 'SD|HD|FULL_HD|LOWEST_RESOLUTION',
            'storage' => ['<string>', ...],
            'targetIntervalSeconds' => <integer>,
        ],
    ],
]

Result Details

Members
recordingConfiguration
Type: RecordingConfiguration structure

Errors

InternalServerException:

AccessDeniedException:

ValidationException:

PendingVerification:

ConflictException:

ServiceQuotaExceededException:

CreateStreamKey

$result = $client->createStreamKey([/* ... */]);
$promise = $client->createStreamKeyAsync([/* ... */]);

Creates a stream key, used to initiate a stream, for the specified channel ARN.

Note that CreateChannel creates a stream key. If you subsequently use CreateStreamKey on the same channel, it will fail because a stream key already exists and there is a limit of 1 stream key per channel. To reset the stream key on a channel, use DeleteStreamKey and then CreateStreamKey.

Parameter Syntax

$result = $client->createStreamKey([
    'channelArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
channelArn
Required: Yes
Type: string

ARN of the channel for which to create the stream key.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Result Syntax

[
    'streamKey' => [
        'arn' => '<string>',
        'channelArn' => '<string>',
        'tags' => ['<string>', ...],
        'value' => '<string>',
    ],
]

Result Details

Members
streamKey
Type: StreamKey structure

Stream key used to authenticate an RTMPS stream for ingestion.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

PendingVerification:

ServiceQuotaExceededException:

DeleteChannel

$result = $client->deleteChannel([/* ... */]);
$promise = $client->deleteChannelAsync([/* ... */]);

Deletes the specified channel and its associated stream keys.

If you try to delete a live channel, you will get an error (409 ConflictException). To delete a channel that is live, call StopStream, wait for the Amazon EventBridge "Stream End" event (to verify that the stream's state is no longer Live), then call DeleteChannel. (See Using EventBridge with Amazon IVS.)

Parameter Syntax

$result = $client->deleteChannel([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN of the channel to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

PendingVerification:

ConflictException:

DeletePlaybackKeyPair

$result = $client->deletePlaybackKeyPair([/* ... */]);
$promise = $client->deletePlaybackKeyPairAsync([/* ... */]);

Deletes a specified authorization key pair. This invalidates future viewer tokens generated using the key pair’s privateKey. For more information, see Setting Up Private Channels in the Amazon IVS User Guide.

Parameter Syntax

$result = $client->deletePlaybackKeyPair([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN of the key pair to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

PendingVerification:

DeletePlaybackRestrictionPolicy

$result = $client->deletePlaybackRestrictionPolicy([/* ... */]);
$promise = $client->deletePlaybackRestrictionPolicyAsync([/* ... */]);

Deletes the specified playback restriction policy.

Parameter Syntax

$result = $client->deletePlaybackRestrictionPolicy([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN of the playback restriction policy to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

PendingVerification:

ConflictException:

DeleteRecordingConfiguration

$result = $client->deleteRecordingConfiguration([/* ... */]);
$promise = $client->deleteRecordingConfigurationAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->deleteRecordingConfiguration([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN of the recording configuration to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

InternalServerException:

AccessDeniedException:

ValidationException:

ConflictException:

DeleteStreamKey

$result = $client->deleteStreamKey([/* ... */]);
$promise = $client->deleteStreamKeyAsync([/* ... */]);

Deletes the stream key for the specified ARN, so it can no longer be used to stream.

Parameter Syntax

$result = $client->deleteStreamKey([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN of the stream key to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

PendingVerification:

GetChannel

$result = $client->getChannel([/* ... */]);
$promise = $client->getChannelAsync([/* ... */]);

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

Parameter Syntax

$result = $client->getChannel([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

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

Result Syntax

[
    'channel' => [
        'arn' => '<string>',
        'authorized' => true || false,
        'containerFormat' => 'TS|FRAGMENTED_MP4',
        'ingestEndpoint' => '<string>',
        'insecureIngest' => true || false,
        'latencyMode' => 'NORMAL|LOW',
        'multitrackInputConfiguration' => [
            'enabled' => true || false,
            'maximumResolution' => 'SD|HD|FULL_HD',
            'policy' => 'ALLOW|REQUIRE',
        ],
        'name' => '<string>',
        'playbackRestrictionPolicyArn' => '<string>',
        'playbackUrl' => '<string>',
        'preset' => 'HIGHER_BANDWIDTH_DELIVERY|CONSTRAINED_BANDWIDTH_DELIVERY',
        'recordingConfigurationArn' => '<string>',
        'srt' => [
            'endpoint' => '<string>',
            'passphrase' => '<string>',
        ],
        'tags' => ['<string>', ...],
        'type' => 'BASIC|STANDARD|ADVANCED_SD|ADVANCED_HD',
    ],
]

Result Details

Members
channel
Type: Channel structure

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

GetPlaybackKeyPair

$result = $client->getPlaybackKeyPair([/* ... */]);
$promise = $client->getPlaybackKeyPairAsync([/* ... */]);

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 private channels. For more information, see Setting Up Private Channels in the Amazon IVS User Guide.

Parameter Syntax

$result = $client->getPlaybackKeyPair([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN of the key pair to be returned.

Result Syntax

[
    'keyPair' => [
        'arn' => '<string>',
        'fingerprint' => '<string>',
        'name' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
keyPair
Type: PlaybackKeyPair structure

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

GetPlaybackRestrictionPolicy

$result = $client->getPlaybackRestrictionPolicy([/* ... */]);
$promise = $client->getPlaybackRestrictionPolicyAsync([/* ... */]);

Gets the specified playback restriction policy.

Parameter Syntax

$result = $client->getPlaybackRestrictionPolicy([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN of the playback restriction policy to be returned.

Result Syntax

[
    'playbackRestrictionPolicy' => [
        'allowedCountries' => ['<string>', ...],
        'allowedOrigins' => ['<string>', ...],
        'arn' => '<string>',
        'enableStrictOriginEnforcement' => true || false,
        'name' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
playbackRestrictionPolicy
Type: PlaybackRestrictionPolicy structure

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

PendingVerification:

GetRecordingConfiguration

$result = $client->getRecordingConfiguration([/* ... */]);
$promise = $client->getRecordingConfigurationAsync([/* ... */]);

Gets the recording configuration for the specified ARN.

Parameter Syntax

$result = $client->getRecordingConfiguration([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN of the recording configuration to be retrieved.

Result Syntax

[
    'recordingConfiguration' => [
        'arn' => '<string>',
        'destinationConfiguration' => [
            's3' => [
                'bucketName' => '<string>',
            ],
        ],
        'name' => '<string>',
        'recordingReconnectWindowSeconds' => <integer>,
        'renditionConfiguration' => [
            'renditionSelection' => 'ALL|NONE|CUSTOM',
            'renditions' => ['<string>', ...],
        ],
        'state' => 'CREATING|CREATE_FAILED|ACTIVE',
        'tags' => ['<string>', ...],
        'thumbnailConfiguration' => [
            'recordingMode' => 'DISABLED|INTERVAL',
            'resolution' => 'SD|HD|FULL_HD|LOWEST_RESOLUTION',
            'storage' => ['<string>', ...],
            'targetIntervalSeconds' => <integer>,
        ],
    ],
]

Result Details

Members
recordingConfiguration
Type: RecordingConfiguration structure

Errors

ResourceNotFoundException:

InternalServerException:

AccessDeniedException:

ValidationException:

GetStream

$result = $client->getStream([/* ... */]);
$promise = $client->getStreamAsync([/* ... */]);

Gets information about the active (live) stream on a specified channel.

Parameter Syntax

$result = $client->getStream([
    'channelArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
channelArn
Required: Yes
Type: string

Channel ARN for stream to be accessed.

Result Syntax

[
    'stream' => [
        'channelArn' => '<string>',
        'health' => 'HEALTHY|STARVING|UNKNOWN',
        'playbackUrl' => '<string>',
        'startTime' => <DateTime>,
        'state' => 'LIVE|OFFLINE',
        'streamId' => '<string>',
        'viewerCount' => <integer>,
    ],
]

Result Details

Members
stream
Type: Stream structure

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

ChannelNotBroadcasting:

GetStreamKey

$result = $client->getStreamKey([/* ... */]);
$promise = $client->getStreamKeyAsync([/* ... */]);

Gets stream-key information for a specified ARN.

Parameter Syntax

$result = $client->getStreamKey([
    'arn' => '<string>', // REQUIRED
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN for the stream key to be retrieved.

Result Syntax

[
    'streamKey' => [
        'arn' => '<string>',
        'channelArn' => '<string>',
        'tags' => ['<string>', ...],
        'value' => '<string>',
    ],
]

Result Details

Members
streamKey
Type: StreamKey structure

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

GetStreamSession

$result = $client->getStreamSession([/* ... */]);
$promise = $client->getStreamSessionAsync([/* ... */]);

Gets metadata on a specified stream.

Parameter Syntax

$result = $client->getStreamSession([
    'channelArn' => '<string>', // REQUIRED
    'streamId' => '<string>',
]);

Parameter Details

Members
channelArn
Required: Yes
Type: string

ARN of the channel resource

streamId
Type: string

Unique identifier for a live or previously live stream in the specified channel. If no streamId is provided, this returns the most recent stream session for the channel, if it exists.

Result Syntax

[
    'streamSession' => [
        'channel' => [
            'arn' => '<string>',
            'authorized' => true || false,
            'containerFormat' => 'TS|FRAGMENTED_MP4',
            'ingestEndpoint' => '<string>',
            'insecureIngest' => true || false,
            'latencyMode' => 'NORMAL|LOW',
            'multitrackInputConfiguration' => [
                'enabled' => true || false,
                'maximumResolution' => 'SD|HD|FULL_HD',
                'policy' => 'ALLOW|REQUIRE',
            ],
            'name' => '<string>',
            'playbackRestrictionPolicyArn' => '<string>',
            'playbackUrl' => '<string>',
            'preset' => 'HIGHER_BANDWIDTH_DELIVERY|CONSTRAINED_BANDWIDTH_DELIVERY',
            'recordingConfigurationArn' => '<string>',
            'srt' => [
                'endpoint' => '<string>',
                'passphrase' => '<string>',
            ],
            'tags' => ['<string>', ...],
            'type' => 'BASIC|STANDARD|ADVANCED_SD|ADVANCED_HD',
        ],
        'endTime' => <DateTime>,
        'ingestConfiguration' => [
            'audio' => [
                'channels' => <integer>,
                'codec' => '<string>',
                'sampleRate' => <integer>,
                'targetBitrate' => <integer>,
                'track' => '<string>',
            ],
            'video' => [
                'avcLevel' => '<string>',
                'avcProfile' => '<string>',
                'codec' => '<string>',
                'encoder' => '<string>',
                'level' => '<string>',
                'profile' => '<string>',
                'targetBitrate' => <integer>,
                'targetFramerate' => <integer>,
                'track' => '<string>',
                'videoHeight' => <integer>,
                'videoWidth' => <integer>,
            ],
        ],
        'ingestConfigurations' => [
            'audioConfigurations' => [
                [
                    'channels' => <integer>,
                    'codec' => '<string>',
                    'sampleRate' => <integer>,
                    'targetBitrate' => <integer>,
                    'track' => '<string>',
                ],
                // ...
            ],
            'videoConfigurations' => [
                [
                    'avcLevel' => '<string>',
                    'avcProfile' => '<string>',
                    'codec' => '<string>',
                    'encoder' => '<string>',
                    'level' => '<string>',
                    'profile' => '<string>',
                    'targetBitrate' => <integer>,
                    'targetFramerate' => <integer>,
                    'track' => '<string>',
                    'videoHeight' => <integer>,
                    'videoWidth' => <integer>,
                ],
                // ...
            ],
        ],
        'recordingConfiguration' => [
            'arn' => '<string>',
            'destinationConfiguration' => [
                's3' => [
                    'bucketName' => '<string>',
                ],
            ],
            'name' => '<string>',
            'recordingReconnectWindowSeconds' => <integer>,
            'renditionConfiguration' => [
                'renditionSelection' => 'ALL|NONE|CUSTOM',
                'renditions' => ['<string>', ...],
            ],
            'state' => 'CREATING|CREATE_FAILED|ACTIVE',
            'tags' => ['<string>', ...],
            'thumbnailConfiguration' => [
                'recordingMode' => 'DISABLED|INTERVAL',
                'resolution' => 'SD|HD|FULL_HD|LOWEST_RESOLUTION',
                'storage' => ['<string>', ...],
                'targetIntervalSeconds' => <integer>,
            ],
        ],
        'startTime' => <DateTime>,
        'streamId' => '<string>',
        'truncatedEvents' => [
            [
                'code' => '<string>',
                'eventTime' => <DateTime>,
                'name' => '<string>',
                'type' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
streamSession
Type: StreamSession structure

List of stream details.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

ImportPlaybackKeyPair

$result = $client->importPlaybackKeyPair([/* ... */]);
$promise = $client->importPlaybackKeyPairAsync([/* ... */]);

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 private channels. For more information, see Setting Up Private Channels in the Amazon IVS User Guide.

Parameter Syntax

$result = $client->importPlaybackKeyPair([
    'name' => '<string>',
    'publicKeyMaterial' => '<string>', // REQUIRED
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
name
Type: string

Playback-key-pair name. The value does not need to be unique.

publicKeyMaterial
Required: Yes
Type: string

The public portion of a customer-generated key pair.

tags
Type: Associative array of custom strings keys (TagKey) to strings

Any tags provided with the request are added to the playback key pair tags. See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented there.

Result Syntax

[
    'keyPair' => [
        'arn' => '<string>',
        'fingerprint' => '<string>',
        'name' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
keyPair
Type: PlaybackKeyPair structure

Errors

AccessDeniedException:

ValidationException:

PendingVerification:

ConflictException:

ServiceQuotaExceededException:

ListChannels

$result = $client->listChannels([/* ... */]);
$promise = $client->listChannelsAsync([/* ... */]);

Gets summary information about all channels in your account, in the Amazon Web Services 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).

Parameter Syntax

$result = $client->listChannels([
    'filterByName' => '<string>',
    'filterByPlaybackRestrictionPolicyArn' => '<string>',
    'filterByRecordingConfigurationArn' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
filterByName
Type: string

Filters the channel list to match the specified name.

filterByPlaybackRestrictionPolicyArn
Type: string

Filters the channel list to match the specified policy.

filterByRecordingConfigurationArn
Type: string

Filters the channel list to match the specified recording-configuration ARN.

maxResults
Type: int

Maximum number of channels to return. Default: 100.

nextToken
Type: string

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

Result Syntax

[
    'channels' => [
        [
            'arn' => '<string>',
            'authorized' => true || false,
            'insecureIngest' => true || false,
            'latencyMode' => 'NORMAL|LOW',
            'name' => '<string>',
            'playbackRestrictionPolicyArn' => '<string>',
            'preset' => 'HIGHER_BANDWIDTH_DELIVERY|CONSTRAINED_BANDWIDTH_DELIVERY',
            'recordingConfigurationArn' => '<string>',
            'tags' => ['<string>', ...],
            'type' => 'BASIC|STANDARD|ADVANCED_SD|ADVANCED_HD',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
channels
Required: Yes
Type: Array of ChannelSummary structures

List of the matching channels.

nextToken
Type: string

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

Errors

AccessDeniedException:

ValidationException:

ConflictException:

ListPlaybackKeyPairs

$result = $client->listPlaybackKeyPairs([/* ... */]);
$promise = $client->listPlaybackKeyPairsAsync([/* ... */]);

Gets summary information about playback key pairs. For more information, see Setting Up Private Channels in the Amazon IVS User Guide.

Parameter Syntax

$result = $client->listPlaybackKeyPairs([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

Maximum number of key pairs to return. Default: your service quota or 100, whichever is smaller.

nextToken
Type: string

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

Result Syntax

[
    'keyPairs' => [
        [
            'arn' => '<string>',
            'name' => '<string>',
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
keyPairs
Required: Yes
Type: Array of PlaybackKeyPairSummary structures

List of key pairs.

nextToken
Type: string

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

Errors

AccessDeniedException:

ValidationException:

ListPlaybackRestrictionPolicies

$result = $client->listPlaybackRestrictionPolicies([/* ... */]);
$promise = $client->listPlaybackRestrictionPoliciesAsync([/* ... */]);

Gets summary information about playback restriction policies.

Parameter Syntax

$result = $client->listPlaybackRestrictionPolicies([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

Maximum number of policies to return. Default: 1.

nextToken
Type: string

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

Result Syntax

[
    'nextToken' => '<string>',
    'playbackRestrictionPolicies' => [
        [
            'allowedCountries' => ['<string>', ...],
            'allowedOrigins' => ['<string>', ...],
            'arn' => '<string>',
            'enableStrictOriginEnforcement' => true || false,
            'name' => '<string>',
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

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

playbackRestrictionPolicies
Required: Yes
Type: Array of PlaybackRestrictionPolicySummary structures

List of the matching policies.

Errors

AccessDeniedException:

ValidationException:

PendingVerification:

ConflictException:

ListRecordingConfigurations

$result = $client->listRecordingConfigurations([/* ... */]);
$promise = $client->listRecordingConfigurationsAsync([/* ... */]);

Gets summary information about all recording configurations in your account, in the Amazon Web Services region where the API request is processed.

Parameter Syntax

$result = $client->listRecordingConfigurations([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

Maximum number of recording configurations to return. Default: your service quota or 100, whichever is smaller.

nextToken
Type: string

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

Result Syntax

[
    'nextToken' => '<string>',
    'recordingConfigurations' => [
        [
            'arn' => '<string>',
            'destinationConfiguration' => [
                's3' => [
                    'bucketName' => '<string>',
                ],
            ],
            'name' => '<string>',
            'state' => 'CREATING|CREATE_FAILED|ACTIVE',
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

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

recordingConfigurations
Required: Yes
Type: Array of RecordingConfigurationSummary structures

List of the matching recording configurations.

Errors

InternalServerException:

AccessDeniedException:

ValidationException:

ListStreamKeys

$result = $client->listStreamKeys([/* ... */]);
$promise = $client->listStreamKeysAsync([/* ... */]);

Gets summary information about stream keys for the specified channel.

Parameter Syntax

$result = $client->listStreamKeys([
    'channelArn' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
channelArn
Required: Yes
Type: string

Channel ARN used to filter the list.

maxResults
Type: int

Maximum number of streamKeys to return. Default: 1.

nextToken
Type: string

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

Result Syntax

[
    'nextToken' => '<string>',
    'streamKeys' => [
        [
            'arn' => '<string>',
            'channelArn' => '<string>',
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

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

streamKeys
Required: Yes
Type: Array of StreamKeySummary structures

List of stream keys.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

ListStreamSessions

$result = $client->listStreamSessions([/* ... */]);
$promise = $client->listStreamSessionsAsync([/* ... */]);

Gets a summary of current and previous streams for a specified channel in your account, in the AWS region where the API request is processed.

Parameter Syntax

$result = $client->listStreamSessions([
    'channelArn' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
channelArn
Required: Yes
Type: string

Channel ARN used to filter the list.

maxResults
Type: int

Maximum number of streams to return. Default: 100.

nextToken
Type: string

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

Result Syntax

[
    'nextToken' => '<string>',
    'streamSessions' => [
        [
            'endTime' => <DateTime>,
            'hasErrorEvent' => true || false,
            'startTime' => <DateTime>,
            'streamId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

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

streamSessions
Required: Yes
Type: Array of StreamSessionSummary structures

List of stream sessions.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

ListStreams

$result = $client->listStreams([/* ... */]);
$promise = $client->listStreamsAsync([/* ... */]);

Gets summary information about live streams in your account, in the Amazon Web Services region where the API request is processed.

Parameter Syntax

$result = $client->listStreams([
    'filterBy' => [
        'health' => 'HEALTHY|STARVING|UNKNOWN',
    ],
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
filterBy
Type: StreamFilters structure

Filters the stream list to match the specified criterion.

maxResults
Type: int

Maximum number of streams to return. Default: 100.

nextToken
Type: string

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

Result Syntax

[
    'nextToken' => '<string>',
    'streams' => [
        [
            'channelArn' => '<string>',
            'health' => 'HEALTHY|STARVING|UNKNOWN',
            'startTime' => <DateTime>,
            'state' => 'LIVE|OFFLINE',
            'streamId' => '<string>',
            'viewerCount' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

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

streams
Required: Yes
Type: Array of StreamSummary structures

List of streams.

Errors

AccessDeniedException:

ValidationException:

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Gets information about Amazon Web Services tags for the specified ARN.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource to be retrieved. The ARN must be URL-encoded.

Result Syntax

[
    'tags' => ['<string>', ...],
]

Result Details

Members
tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

Tags attached to the resource. Array of maps, each of the form string:string (key:value).

Errors

ResourceNotFoundException:

InternalServerException:

ValidationException:

PutMetadata

$result = $client->putMetadata([/* ... */]);
$promise = $client->putMetadataAsync([/* ... */]);

Inserts metadata into the active stream of the specified channel. At most 5 requests per second per channel are allowed, each with a maximum 1 KB payload. (If 5 TPS is not sufficient for your needs, we recommend batching your data into a single PutMetadata call.) At most 155 requests per second per account are allowed. Also see Embedding Metadata within a Video Stream in the Amazon IVS User Guide.

Parameter Syntax

$result = $client->putMetadata([
    'channelArn' => '<string>', // REQUIRED
    'metadata' => '<string>', // REQUIRED
]);

Parameter Details

Members
channelArn
Required: Yes
Type: string

ARN of the channel into which metadata is inserted. This channel must have an active stream.

metadata
Required: Yes
Type: string

Metadata to insert into the stream. Maximum: 1 KB per request.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

ChannelNotBroadcasting:

ThrottlingException:

StartViewerSessionRevocation

$result = $client->startViewerSessionRevocation([/* ... */]);
$promise = $client->startViewerSessionRevocationAsync([/* ... */]);

Starts the process of revoking the viewer session associated with a specified channel ARN and viewer ID. Optionally, you can provide a version to revoke viewer sessions less than and including that version. For instructions on associating a viewer ID with a viewer session, see Setting Up Private Channels.

Parameter Syntax

$result = $client->startViewerSessionRevocation([
    'channelArn' => '<string>', // REQUIRED
    'viewerId' => '<string>', // REQUIRED
    'viewerSessionVersionsLessThanOrEqualTo' => <integer>,
]);

Parameter Details

Members
channelArn
Required: Yes
Type: string

The ARN of the channel associated with the viewer session to revoke.

viewerId
Required: Yes
Type: string

The ID of the viewer associated with the viewer session to revoke. Do not use this field for personally identifying, confidential, or sensitive information.

viewerSessionVersionsLessThanOrEqualTo
Type: int

An optional filter on which versions of the viewer session to revoke. All versions less than or equal to the specified version will be revoked. Default: 0.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

InternalServerException:

AccessDeniedException:

ValidationException:

PendingVerification:

ThrottlingException:

StopStream

$result = $client->stopStream([/* ... */]);
$promise = $client->stopStreamAsync([/* ... */]);

Disconnects the incoming RTMPS stream for the specified channel. Can be used in conjunction with DeleteStreamKey to prevent further streaming to a channel.

Many streaming client-software libraries automatically reconnect a dropped RTMPS session, so to stop the stream permanently, you may want to first revoke the streamKey attached to the channel.

Parameter Syntax

$result = $client->stopStream([
    'channelArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
channelArn
Required: Yes
Type: string

ARN of the channel for which the stream is to be stopped.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

ChannelNotBroadcasting:

StreamUnavailable:

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Adds or updates tags for the Amazon Web Services resource with the specified ARN.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

ARN of the resource for which tags are to be added or updated. The ARN must be URL-encoded.

tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

Array of tags to be added or updated. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented there.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

InternalServerException:

ValidationException:

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes tags from the resource with the specified ARN.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

ARN of the resource for which tags are to be removed. The ARN must be URL-encoded.

tagKeys
Required: Yes
Type: Array of strings

Array of tags to be removed. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented there.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundException:

InternalServerException:

ValidationException:

UpdateChannel

$result = $client->updateChannel([/* ... */]);
$promise = $client->updateChannelAsync([/* ... */]);

Updates a channel's configuration. Live channels cannot be updated. You must stop the ongoing stream, update the channel, and restart the stream for the changes to take effect.

Parameter Syntax

$result = $client->updateChannel([
    'arn' => '<string>', // REQUIRED
    'authorized' => true || false,
    'containerFormat' => 'TS|FRAGMENTED_MP4',
    'insecureIngest' => true || false,
    'latencyMode' => 'NORMAL|LOW',
    'multitrackInputConfiguration' => [
        'enabled' => true || false,
        'maximumResolution' => 'SD|HD|FULL_HD',
        'policy' => 'ALLOW|REQUIRE',
    ],
    'name' => '<string>',
    'playbackRestrictionPolicyArn' => '<string>',
    'preset' => 'HIGHER_BANDWIDTH_DELIVERY|CONSTRAINED_BANDWIDTH_DELIVERY',
    'recordingConfigurationArn' => '<string>',
    'type' => 'BASIC|STANDARD|ADVANCED_SD|ADVANCED_HD',
]);

Parameter Details

Members
arn
Required: Yes
Type: string

ARN of the channel to be updated.

authorized
Type: boolean

Whether the channel is private (enabled for playback authorization).

containerFormat
Type: string

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.

insecureIngest
Type: boolean

Whether the channel allows insecure RTMP and SRT ingest. Default: false.

latencyMode
Type: 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.

multitrackInputConfiguration

Object specifying multitrack input configuration. Default: no multitrack input configuration is specified.

name
Type: string

Channel name.

playbackRestrictionPolicyArn
Type: string

Playback-restriction-policy ARN. A valid ARN value here both specifies the ARN and enables playback restriction. If this is set to an empty string, playback restriction policy is disabled.

preset
Type: string

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 ("").

recordingConfigurationArn
Type: string

Recording-configuration ARN. A valid ARN value here both specifies the ARN and enables recording. If this is set to an empty string, recording is disabled.

type
Type: string

Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. For details, see Channel Types.

Result Syntax

[
    'channel' => [
        'arn' => '<string>',
        'authorized' => true || false,
        'containerFormat' => 'TS|FRAGMENTED_MP4',
        'ingestEndpoint' => '<string>',
        'insecureIngest' => true || false,
        'latencyMode' => 'NORMAL|LOW',
        'multitrackInputConfiguration' => [
            'enabled' => true || false,
            'maximumResolution' => 'SD|HD|FULL_HD',
            'policy' => 'ALLOW|REQUIRE',
        ],
        'name' => '<string>',
        'playbackRestrictionPolicyArn' => '<string>',
        'playbackUrl' => '<string>',
        'preset' => 'HIGHER_BANDWIDTH_DELIVERY|CONSTRAINED_BANDWIDTH_DELIVERY',
        'recordingConfigurationArn' => '<string>',
        'srt' => [
            'endpoint' => '<string>',
            'passphrase' => '<string>',
        ],
        'tags' => ['<string>', ...],
        'type' => 'BASIC|STANDARD|ADVANCED_SD|ADVANCED_HD',
    ],
]

Result Details

Members
channel
Type: Channel structure

Object specifying the updated channel.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

PendingVerification:

ConflictException:

UpdatePlaybackRestrictionPolicy

$result = $client->updatePlaybackRestrictionPolicy([/* ... */]);
$promise = $client->updatePlaybackRestrictionPolicyAsync([/* ... */]);

Updates a specified playback restriction policy.

Parameter Syntax

$result = $client->updatePlaybackRestrictionPolicy([
    'allowedCountries' => ['<string>', ...],
    'allowedOrigins' => ['<string>', ...],
    'arn' => '<string>', // REQUIRED
    'enableStrictOriginEnforcement' => true || false,
    'name' => '<string>',
]);

Parameter Details

Members
allowedCountries
Type: Array of strings

A list of country codes that control geoblocking restriction. Allowed values are the officially assigned ISO 3166-1 alpha-2 codes. Default: All countries (an empty array).

allowedOrigins
Type: Array of strings

A list of origin sites that control CORS restriction. Allowed values are the same as valid values of the Origin header defined at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin. Default: All origins (an empty array).

arn
Required: Yes
Type: string

ARN of the playback-restriction-policy to be updated.

enableStrictOriginEnforcement
Type: boolean

Whether channel playback is constrained by origin site. Default: false.

name
Type: string

Playback-restriction-policy name. The value does not need to be unique.

Result Syntax

[
    'playbackRestrictionPolicy' => [
        'allowedCountries' => ['<string>', ...],
        'allowedOrigins' => ['<string>', ...],
        'arn' => '<string>',
        'enableStrictOriginEnforcement' => true || false,
        'name' => '<string>',
        'tags' => ['<string>', ...],
    ],
]

Result Details

Members
playbackRestrictionPolicy
Type: PlaybackRestrictionPolicy structure

Object specifying the updated policy.

Errors

ResourceNotFoundException:

AccessDeniedException:

ValidationException:

PendingVerification:

ConflictException:

Shapes

AccessDeniedException

Description

Members
exceptionMessage
Type: string

User does not have sufficient access to perform this action.

AudioConfiguration

Description

Object specifying a stream’s audio configuration, as set up by the broadcaster (usually in an encoder). This is part of the IngestConfigurations object and the deprecated IngestConfiguration object. It is used for monitoring stream health.

Members
channels
Type: long (int|float)

Number of audio channels.

codec
Type: string

Codec used for the audio encoding.

sampleRate
Type: long (int|float)

Number of audio samples recorded per second.

targetBitrate
Type: long (int|float)

The expected ingest bitrate (bits per second). This is configured in the encoder.

track
Type: string

Name of the audio track (if the stream has an audio track). If multitrack is not enabled, this is track0 (the sole track).

BatchError

Description

Error related to a specific channel, specified by its ARN.

Members
arn
Type: string

ARN of an IVS resource; e.g., channel.

code
Type: string

Error code.

message
Type: string

Error message, determined by the application.

BatchStartViewerSessionRevocationError

Description

Error for a request in the batch for BatchStartViewerSessionRevocation. Each error is related to a specific channel-ARN and viewer-ID pair.

Members
channelArn
Required: Yes
Type: string

Channel ARN.

code
Type: string

Error code.

message
Type: string

Error message, determined by the application.

viewerId
Required: Yes
Type: string

The ID of the viewer session to revoke.

BatchStartViewerSessionRevocationViewerSession

Description

A viewer session to revoke in the call to BatchStartViewerSessionRevocation.

Members
channelArn
Required: Yes
Type: string

The ARN of the channel associated with the viewer session to revoke.

viewerId
Required: Yes
Type: string

The ID of the viewer associated with the viewer session to revoke. Do not use this field for personally identifying, confidential, or sensitive information.

viewerSessionVersionsLessThanOrEqualTo
Type: int

An optional filter on which versions of the viewer session to revoke. All versions less than or equal to the specified version will be revoked. Default: 0.

Channel

Description

Object specifying a channel.

Members
arn
Type: string

Channel ARN.

authorized
Type: boolean

Whether the channel is private (enabled for playback authorization). Default: false.

containerFormat
Type: string

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.

ingestEndpoint
Type: string

Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software.

insecureIngest
Type: boolean

Whether the channel allows insecure RTMP ingest. Default: false.

latencyMode
Type: 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.

multitrackInputConfiguration

Object specifying multitrack input configuration. Default: no multitrack input configuration is specified.

name
Type: string

Channel name.

playbackRestrictionPolicyArn
Type: string

Playback-restriction-policy ARN. A valid ARN value here both specifies the ARN and enables playback restriction. Default: "" (empty string, no playback restriction policy is applied).

playbackUrl
Type: string

Channel playback URL.

preset
Type: string

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 ("").

recordingConfigurationArn
Type: string

Recording-configuration ARN. A valid ARN value here both specifies the ARN and enables recording. Default: "" (empty string, recording is disabled).

srt
Type: Srt structure

Specifies the endpoint and optional passphrase for streaming with the SRT protocol.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

type
Type: string

Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. For details, see Channel Types.

ChannelNotBroadcasting

Description

Members
exceptionMessage
Type: string

The stream is offline for the given channel ARN.

ChannelSummary

Description

Summary information about a channel.

Members
arn
Type: string

Channel ARN.

authorized
Type: boolean

Whether the channel is private (enabled for playback authorization). Default: false.

insecureIngest
Type: boolean

Whether the channel allows insecure RTMP ingest. Default: false.

latencyMode
Type: 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.

name
Type: string

Channel name.

playbackRestrictionPolicyArn
Type: string

Playback-restriction-policy ARN. A valid ARN value here both specifies the ARN and enables playback restriction. Default: "" (empty string, no playback restriction policy is applied).

preset
Type: string

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 ("").

recordingConfigurationArn
Type: string

Recording-configuration ARN. A valid ARN value here both specifies the ARN and enables recording. Default: "" (empty string, recording is disabled).

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

type
Type: string

Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately. Default: STANDARD. For details, see Channel Types.

ConflictException

Description

Members
exceptionMessage
Type: string

Updating or deleting a resource can cause an inconsistent state.

DestinationConfiguration

Description

A complex type that describes a location where recorded videos will be stored. Each member represents a type of destination configuration. For recording, you define one and only one type of destination configuration.

Members
s3
Type: S3DestinationConfiguration structure

An S3 destination configuration where recorded videos will be stored.

IngestConfiguration

Description

Object specifying the ingest configuration set up by the broadcaster, usually in an encoder.

Note: IngestConfiguration is deprecated in favor of IngestConfigurations but retained to ensure backward compatibility. If multitrack is not enabled, IngestConfiguration and IngestConfigurations contain the same data, namely information about track0 (the sole track). If multitrack is enabled, IngestConfiguration contains data for only the first track (track0) and IngestConfigurations contains data for all tracks.

Members
audio
Type: AudioConfiguration structure

Encoder settings for audio.

video
Type: VideoConfiguration structure

Encoder settings for video.

IngestConfigurations

Description

Object specifying the ingest configuration set up by the broadcaster, usually in an encoder.

Note: Use IngestConfigurations instead of IngestConfiguration (which is deprecated). If multitrack is not enabled, IngestConfiguration and IngestConfigurations contain the same data, namely information about track0 (the sole track). If multitrack is enabled, IngestConfiguration contains data for only the first track (track0) and IngestConfigurations contains data for all tracks.

Members
audioConfigurations
Required: Yes
Type: Array of AudioConfiguration structures

Encoder settings for audio.

videoConfigurations
Required: Yes
Type: Array of VideoConfiguration structures

Encoder settings for video

InternalServerException

Description

Members
exceptionMessage
Type: string

Unexpected error during processing of request.

MultitrackInputConfiguration

Description

A complex type that specifies multitrack input configuration.

Members
enabled
Type: boolean

Indicates whether multitrack input is enabled. Can be set to true only if channel type is STANDARD. Setting enabled to true with any other channel type will cause an exception. If true, then policy, maximumResolution, and containerFormat are required, and containerFormat must be set to FRAGMENTED_MP4. Default: false.

maximumResolution
Type: string

Maximum resolution for multitrack input. Required if enabled is true.

policy
Type: string

Indicates whether multitrack input is allowed or required. Required if enabled is true.

PendingVerification

Description

Members
exceptionMessage
Type: string

Your account is pending verification.

PlaybackKeyPair

Description

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

Members
arn
Type: string

Key-pair ARN.

fingerprint
Type: string

Key-pair identifier.

name
Type: string

Playback-key-pair name. The value does not need to be unique.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

PlaybackKeyPairSummary

Description

Summary information about a playback key pair.

Members
arn
Type: string

Key-pair ARN.

name
Type: string

Playback-key-pair name. The value does not need to be unique.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

PlaybackRestrictionPolicy

Description

An object representing a policy to constrain playback by country and/or origin sites.

Members
allowedCountries
Required: Yes
Type: Array of strings

A list of country codes that control geoblocking restriction. Allowed values are the officially assigned ISO 3166-1 alpha-2 codes. Default: All countries (an empty array).

allowedOrigins
Required: Yes
Type: Array of strings

A list of origin sites that control CORS restriction. Allowed values are the same as valid values of the Origin header defined at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin. Default: All origins (an empty array).

arn
Required: Yes
Type: string

Playback-restriction-policy ARN

enableStrictOriginEnforcement
Type: boolean

Whether channel playback is constrained by origin site. Default: false.

name
Type: string

Playback-restriction-policy name. The value does not need to be unique.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

PlaybackRestrictionPolicySummary

Description

Summary information about a PlaybackRestrictionPolicy.

Members
allowedCountries
Required: Yes
Type: Array of strings

A list of country codes that control geoblocking restriction. Allowed values are the officially assigned ISO 3166-1 alpha-2 codes. Default: All countries (an empty array).

allowedOrigins
Required: Yes
Type: Array of strings

A list of origin sites that control CORS restriction. Allowed values are the same as valid values of the Origin header defined at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin. Default: All origins (an empty array).

arn
Required: Yes
Type: string

Playback-restriction-policy ARN

enableStrictOriginEnforcement
Type: boolean

Whether channel playback is constrained by origin site. Default: false.

name
Type: string

Playback-restriction-policy name. The value does not need to be unique.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

RecordingConfiguration

Description

An object representing a configuration to record a channel stream.

Members
arn
Required: Yes
Type: string

Recording-configuration ARN.

destinationConfiguration
Required: Yes
Type: DestinationConfiguration structure

A complex type that contains information about where recorded video will be stored.

name
Type: string

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

recordingReconnectWindowSeconds
Type: int

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
Type: RenditionConfiguration structure

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

state
Required: Yes
Type: string

Indicates the current state of the recording configuration. When the state is ACTIVE, the configuration is ready for recording a channel stream.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

thumbnailConfiguration
Type: ThumbnailConfiguration structure

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.

RecordingConfigurationSummary

Description

Summary information about a RecordingConfiguration.

Members
arn
Required: Yes
Type: string

Recording-configuration ARN.

destinationConfiguration
Required: Yes
Type: DestinationConfiguration structure

A complex type that contains information about where recorded video will be stored.

name
Type: string

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

state
Required: Yes
Type: string

Indicates the current state of the recording configuration. When the state is ACTIVE, the configuration is ready for recording a channel stream.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

RenditionConfiguration

Description

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

Members
renditionSelection
Type: 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
Type: Array of strings

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.

ResourceNotFoundException

Description

Members
exceptionMessage
Type: string

Request references a resource which does not exist.

S3DestinationConfiguration

Description

A complex type that describes an S3 location where recorded videos will be stored.

Members
bucketName
Required: Yes
Type: string

Location (S3 bucket name) where recorded videos will be stored.

ServiceQuotaExceededException

Description

Members
exceptionMessage
Type: string

Request would cause a service quota to be exceeded.

Srt

Description

Specifies information needed to stream using the SRT protocol.

Members
endpoint
Type: string

The endpoint to be used when streaming with IVS using the SRT protocol.

passphrase
Type: string

Auto-generated passphrase to enable encryption. This field is applicable only if the end user has not enabled the insecureIngest option for the channel.

Stream

Description

Specifies a live video stream that has been ingested and distributed.

Members
channelArn
Type: string

Channel ARN for the stream.

health
Type: string

The stream’s health.

playbackUrl
Type: string

URL of the master playlist, required by the video player to play the HLS stream.

startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Time of the stream’s start. This is an ISO 8601 timestamp; note that this is returned as a string.

state
Type: string

The stream’s state. Do not rely on the OFFLINE state, as the API may not return it; instead, a "NotBroadcasting" error will indicate that the stream is not live.

streamId
Type: string

Unique identifier for a live or previously live stream in the specified channel.

viewerCount
Type: long (int|float)

A count of concurrent views of the stream. Typically, a new view appears in viewerCount within 15 seconds of when video playback starts and a view is removed from viewerCount within 1 minute of when video playback ends. A value of -1 indicates that the request timed out; in this case, retry.

StreamEvent

Description

Object specifying a stream’s events. For a list of events, see Using Amazon EventBridge with Amazon IVS.

Members
code
Type: string

Provides additional details about the stream event. There are several values; the long descriptions are provided in the IVS console but not delivered through the IVS API or EventBridge. Multitrack-related codes are used only for certain Session Ended events.

  • MultitrackInputNotAllowed — The broadcast client attempted to connect with multitrack input, but multitrack input was not enabled on the channel. Check your broadcast software settings or set MultitrackInputConfiguration.Policy to ALLOW or REQUIRE.

  • MultitrackInputRequired — The broadcast client attempted to connect with single-track video, but multitrack input is required on this channel. Enable multitrack video in your broadcast software or configure the channel’s MultitrackInputConfiguration.Policy to ALLOW.

  • InvalidGetClientConfigurationStreamKey — The broadcast client attempted to connect with an invalid, expired, or corrupt stream key.

  • GetClientConfigurationStreamKeyRequired — The broadcast client attempted to stream multitrack video without providing an authenticated stream key from GetClientConfiguration.

  • InvalidMultitrackInputTrackCount — The multitrack input stream contained an invalid number of tracks.

  • InvalidMultitrackInputVideoTrackMediaProperties — The multitrack input stream contained one or more tracks with an invalid codec, resolution, bitrate, or framerate.

  • StreamTakeoverMediaMismatch — The broadcast client attempted to take over with different media properties (e.g., codec, resolution, or video track type) from the original stream.

  • StreamTakeoverInvalidPriority — The broadcast client attempted a takeover with either a priority integer value equal to or lower than the original stream's value or a value outside the allowed range of 1 to 2,147,483,647.

    StreamTakeoverLimitBreached — The broadcast client reached the maximum allowed takeover attempts for this stream.

eventTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Time when the event occurred. This is an ISO 8601 timestamp; note that this is returned as a string.

name
Type: string

Name that identifies the stream event within a type.

type
Type: string

Logical group for certain events.

StreamFilters

Description

Object specifying the stream attribute on which to filter.

Members
health
Type: string

The stream’s health.

StreamKey

Description

Object specifying a stream key.

Members
arn
Type: string

Stream-key ARN.

channelArn
Type: string

Channel ARN for the stream.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

value
Type: string

Stream-key value.

StreamKeySummary

Description

Summary information about a stream key.

Members
arn
Type: string

Stream-key ARN.

channelArn
Type: string

Channel ARN for the stream.

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

StreamSession

Description

Object that captures the Amazon IVS configuration that the customer provisioned, the ingest configurations that the broadcaster used, and the most recent Amazon IVS stream events it encountered.

Members
channel
Type: Channel structure

The properties of the channel at the time of going live.

endTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Time when the channel went offline. This is an ISO 8601 timestamp; note that this is returned as a string. For live streams, this is NULL.

ingestConfiguration
Type: IngestConfiguration structure

The properties of the incoming RTMP stream.

Note: ingestConfiguration is deprecated in favor of ingestConfigurations but retained to ensure backward compatibility. If multitrack is not enabled, ingestConfiguration and ingestConfigurations contain the same data, namely information about track0 (the sole track). If multitrack is enabled, ingestConfiguration contains data for only the first track (track0) and ingestConfigurations contains data for all tracks.

ingestConfigurations
Type: IngestConfigurations structure

The properties of the incoming RTMP stream. If multitrack is enabled, ingestConfigurations contains data for all tracks; otherwise, it contains data only for track0 (the sole track).

recordingConfiguration
Type: RecordingConfiguration structure

The properties of recording the live stream.

startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Time when the channel went live. This is an ISO 8601 timestamp; note that this is returned as a string.

streamId
Type: string

Unique identifier for a live or previously live stream in the specified channel.

truncatedEvents
Type: Array of StreamEvent structures

List of Amazon IVS events that the stream encountered. The list is sorted by most recent events and contains up to 500 events. For Amazon IVS events, see Using Amazon EventBridge with Amazon IVS.

StreamSessionSummary

Description

Summary information about a stream session.

Members
endTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Time when the channel went offline. This is an ISO 8601 timestamp; note that this is returned as a string. For live streams, this is NULL.

hasErrorEvent
Type: boolean

If true, this stream encountered a quota breach or failure.

startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Time when the channel went live. This is an ISO 8601 timestamp; note that this is returned as a string.

streamId
Type: string

Unique identifier for a live or previously live stream in the specified channel.

StreamSummary

Description

Summary information about a stream.

Members
channelArn
Type: string

Channel ARN for the stream.

health
Type: string

The stream’s health.

startTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Time of the stream’s start. This is an ISO 8601 timestamp; note that this is returned as a string.

state
Type: string

The stream’s state. Do not rely on the OFFLINE state, as the API may not return it; instead, a "NotBroadcasting" error will indicate that the stream is not live.

streamId
Type: string

Unique identifier for a live or previously live stream in the specified channel.

viewerCount
Type: long (int|float)

A count of concurrent views of the stream. Typically, a new view appears in viewerCount within 15 seconds of when video playback starts and a view is removed from viewerCount within 1 minute of when video playback ends. A value of -1 indicates that the request timed out; in this case, retry.

StreamUnavailable

Description

Members
exceptionMessage
Type: string

The stream is temporarily unavailable.

ThrottlingException

Description

Members
exceptionMessage
Type: string

Request was denied due to request throttling.

ThumbnailConfiguration

Description

An object representing a configuration of thumbnails for recorded video.

Members
recordingMode
Type: string

Thumbnail recording mode. Default: INTERVAL.

resolution
Type: 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
Type: Array of strings

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.

targetIntervalSeconds
Type: long (int|float)

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, or the STANDARD channel type with multitrack input, 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.

ValidationException

Description

Members
exceptionMessage
Type: string

The input fails to satisfy the constraints specified by an Amazon Web Services service.

VideoConfiguration

Description

Object specifying a stream’s video configuration, as set up by the broadcaster (usually in an encoder). This is part of the IngestConfigurations object and the deprecated IngestConfiguration object. It is used for monitoring stream health.

Members
avcLevel
Type: string

Indicates the degree of required decoder performance for a profile. Normally this is set automatically by the encoder. For details, see the H.264 specification.

avcProfile
Type: string

Indicates to the decoder the requirements for decoding the stream. For definitions of the valid values, see the H.264 specification.

codec
Type: string

Codec used for the video encoding.

encoder
Type: string

Software or hardware used to encode the video.

level
Type: string

Indicates the degree of required decoder performance for a profile. Normally this is set automatically by the encoder. When an AVC codec is used, this field has the same value as avcLevel.

profile
Type: string

Indicates to the decoder the requirements for decoding the stream. When an AVC codec is used, this field has the same value as avcProfile.

targetBitrate
Type: long (int|float)

The expected ingest bitrate (bits per second). This is configured in the encoder.

targetFramerate
Type: long (int|float)

The expected ingest framerate. This is configured in the encoder.

track
Type: string

Name of the video track. If multitrack is not enabled, this is track0 (the sole track).

videoHeight
Type: long (int|float)

Video-resolution height in pixels.

videoWidth
Type: long (int|float)

Video-resolution width in pixels.