IVSRealTimeClient

The Amazon Interactive Video Service (IVS) real-time API is REST compatible, using a standard HTTP API and an AWS EventBridge event stream for responses. JSON is used for both requests and responses, including errors.

Key Concepts

  • Stage — A virtual space where participants can exchange video in real time.

  • Participant token — A token that authenticates a participant when they join a stage.

  • Participant object — Represents participants (people) in the stage and contains information about them. When a token is created, it includes a participant ID; when a participant uses that token to join a stage, the participant is associated with that participant ID. There is a 1:1 mapping between participant tokens and participants.

For server-side composition:

  • Composition process — Composites participants of a stage into a single video and forwards it to a set of outputs (e.g., IVS channels). Composition operations support this process.

  • Composition — Controls the look of the outputs, including how participants are positioned in the video.

For more information about your IVS live stream, also see Getting Started with Amazon IVS Real-Time Streaming .

Tagging

A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Best practices and strategies  in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS stages has no service-specific constraints beyond what is documented there.

Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags ).

The Amazon IVS real-time API has these tag-related operations: TagResource, UntagResource, and ListTagsForResource. The following resource supports tagging: Stage.

At most 50 tags can be applied to a resource.

Installation

NPM
npm install @aws-sdk/client-ivs-realtime
Yarn
yarn add @aws-sdk/client-ivs-realtime
pnpm
pnpm add @aws-sdk/client-ivs-realtime

IVSRealTimeClient Operations

Command
Summary
CreateEncoderConfigurationCommand

Creates an EncoderConfiguration object.

CreateIngestConfigurationCommand

Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage.

CreateParticipantTokenCommand

Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire. Tokens always are scoped to the stage for which they are created.

Encryption keys are owned by Amazon IVS and never used directly by your application.

CreateStageCommand

Creates a new stage (and optionally participant tokens).

CreateStorageConfigurationCommand

Creates a new storage configuration, used to enable recording to Amazon S3. When a StorageConfiguration is created, IVS will modify the S3 bucketPolicy of the provided bucket. This will ensure that IVS has sufficient permissions to write content to the provided bucket.

DeleteEncoderConfigurationCommand

Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise, returns an error.

DeleteIngestConfigurationCommand

Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. An IngestConfiguration cannot be deleted if the publisher is actively streaming to a stage, unless force is set to true.

DeletePublicKeyCommand

Deletes the specified public key used to sign stage participant tokens. This invalidates future participant tokens generated using the key pair’s private key.

DeleteStageCommand

Shuts down and deletes the specified stage (disconnecting all participants). This operation also removes the stageArn from the associated IngestConfiguration, if there are participants using the IngestConfiguration to publish to the stage.

DeleteStorageConfigurationCommand

Deletes the storage configuration for the specified ARN.

If you try to delete a storage configuration that is used by a Composition, you will get an error (409 ConflictException). To avoid this, for all Compositions that reference the storage configuration, first use StopComposition and wait for it to complete, then use DeleteStorageConfiguration.

DisconnectParticipantCommand

Disconnects a specified participant from a specified stage. If the participant is publishing using an IngestConfiguration, DisconnectParticipant also updates the stageArn in the IngestConfiguration to be an empty string.

GetCompositionCommand

Get information about the specified Composition resource.

GetEncoderConfigurationCommand

Gets information about the specified EncoderConfiguration resource.

GetIngestConfigurationCommand

Gets information about the specified IngestConfiguration.

GetParticipantCommand

Gets information about the specified participant token.

GetPublicKeyCommand

Gets information for the specified public key.

GetStageCommand

Gets information for the specified stage.

GetStageSessionCommand

Gets information for the specified stage session.

GetStorageConfigurationCommand

Gets the storage configuration for the specified ARN.

ImportPublicKeyCommand

Import a public key to be used for signing stage participant tokens.

ListCompositionsCommand

Gets summary information about all Compositions in your account, in the AWS region where the API request is processed.

ListEncoderConfigurationsCommand

Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request is processed.

ListIngestConfigurationsCommand

Lists all IngestConfigurations in your account, in the AWS region where the API request is processed.

ListParticipantEventsCommand

Lists events for a specified participant that occurred during a specified stage session.

ListParticipantsCommand

Lists all participants in a specified stage session.

ListPublicKeysCommand

Gets summary information about all public keys in your account, in the AWS region where the API request is processed.

ListStageSessionsCommand

Gets all sessions for a specified stage.

ListStagesCommand

Gets summary information about all stages in your account, in the AWS region where the API request is processed.

ListStorageConfigurationsCommand

Gets summary information about all storage configurations in your account, in the AWS region where the API request is processed.

ListTagsForResourceCommand

Gets information about AWS tags for the specified ARN.

StartCompositionCommand

Starts a Composition from a stage based on the configuration provided in the request.

A Composition is an ephemeral resource that exists after this operation returns successfully. Composition stops and the resource is deleted:

  • When StopComposition is called.

  • After a 1-minute timeout, when all participants are disconnected from the stage.

  • After a 1-minute timeout, if there are no participants in the stage when StartComposition is called.

  • When broadcasting to the IVS channel fails and all retries are exhausted.

  • When broadcasting is disconnected and all attempts to reconnect are exhausted.

StopCompositionCommand

Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped.

TagResourceCommand

Adds or updates tags for the AWS resource with the specified ARN.

UntagResourceCommand

Removes tags from the resource with the specified ARN.

UpdateIngestConfigurationCommand

Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated.

UpdateStageCommand

Updates a stage’s configuration.

IVSRealTimeClient Configuration

Parameter
Type
Description
defaultsMode
Optional
DefaultsMode | Provider<DefaultsMode>
The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.
disableHostPrefix
Optional
boolean
Disable dynamically changing the endpoint of the client based on the hostPrefix trait of an operation.
extensions
Optional
RuntimeExtension[]
Optional extensions
logger
Optional
Logger
Optional logger for logging debug/info/warn/error.
maxAttempts
Optional
number | Provider<number>
Value for how many times a request will be made at most in case of retry.
profile
Optional
string
Setting a client profile is similar to setting a value for the AWS_PROFILE environment variable. Setting a profile on a client in code only affects the single client instance, unlike AWS_PROFILE.When set, and only for environments where an AWS configuration file exists, fields configurable by this file will be retrieved from the specified profile within that file. Conflicting code configuration and environment variables will still have higher priority.For client credential resolution that involves checking the AWS configuration file, the client's profile (this value) will be used unless a different profile is set in the credential provider options.
region
Optional
string | Provider<string>
The AWS region to which this client will send requests
requestHandler
Optional
__HttpHandlerUserInput
The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.
retryMode
Optional
string | Provider<string>
Specifies which retry algorithm to use.
useDualstackEndpoint
Optional
boolean | Provider<boolean>
Enables IPv6/IPv4 dualstack endpoint.
useFipsEndpoint
Optional
boolean | Provider<boolean>
Enables FIPS compatible endpoints.
Additional config fields are described in the full configuration type: IVSRealTimeClientConfig