IvsRealTime class
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.
- 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.
- Source stage — The stage where the participant originally joined, which is used as the source for replication.
- Destination stage — The stage to which the participant is replicated.
- Replicated participant — A participant in a stage that is replicated to one or more destination stages.
- Replica participant — A participant in a destination stage that is replicated from another stage (the source stage).
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.
Constructors
- IvsRealTime({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
close(
) → void - Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
-
createEncoderConfiguration(
{String? name, Map< String, String> ? tags, Video? video}) → Future<CreateEncoderConfigurationResponse> - Creates an EncoderConfiguration object.
-
createIngestConfiguration(
{required IngestProtocol ingestProtocol, Map< String, String> ? attributes, bool? insecureIngest, String? name, bool? redundantIngest, String? stageArn, Map<String, String> ? tags, String? userId}) → Future<CreateIngestConfigurationResponse> - Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage.
-
createParticipantToken(
{required String stageArn, Map< String, String> ? attributes, List<ParticipantTokenCapability> ? capabilities, int? duration, String? userId}) → Future<CreateParticipantTokenResponse> - 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.
-
createStage(
{AutoParticipantRecordingConfiguration? autoParticipantRecordingConfiguration, String? name, List< ParticipantTokenConfiguration> ? participantTokenConfigurations, Map<String, String> ? tags}) → Future<CreateStageResponse> - Creates a new stage (and optionally participant tokens).
-
createStorageConfiguration(
{required S3StorageConfiguration s3, String? name, Map< String, String> ? tags}) → Future<CreateStorageConfigurationResponse> - 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.
-
deleteEncoderConfiguration(
{required String arn}) → Future< void> - Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise, returns an error.
-
deleteIngestConfiguration(
{required String arn, bool? force}) → Future< void> -
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
forceis set totrue. -
deletePublicKey(
{required String arn}) → Future< void> - Deletes the specified public key used to sign stage participant tokens. This invalidates future participant tokens generated using the key pair’s private key.
-
deleteStage(
{required String arn}) → Future< void> -
Shuts down and deletes the specified stage (disconnecting all
participants). This operation also removes the
stageArnfrom the associated IngestConfiguration, if there are participants using the IngestConfiguration to publish to the stage. -
deleteStorageConfiguration(
{required String arn}) → Future< void> - Deletes the storage configuration for the specified ARN.
-
disconnectParticipant(
{required String participantId, required String stageArn, String? reason}) → Future< void> -
Disconnects a specified participant from a specified stage. If the
participant is publishing using an IngestConfiguration,
DisconnectParticipant also updates the
stageArnin the IngestConfiguration to be an empty string. -
getComposition(
{required String arn}) → Future< GetCompositionResponse> - Get information about the specified Composition resource.
-
getEncoderConfiguration(
{required String arn}) → Future< GetEncoderConfigurationResponse> - Gets information about the specified EncoderConfiguration resource.
-
getIngestConfiguration(
{required String arn}) → Future< GetIngestConfigurationResponse> - Gets information about the specified IngestConfiguration.
-
getParticipant(
{required String participantId, required String sessionId, required String stageArn}) → Future< GetParticipantResponse> - Gets information about the specified participant token.
-
getPublicKey(
{required String arn}) → Future< GetPublicKeyResponse> - Gets information for the specified public key.
-
getStage(
{required String arn}) → Future< GetStageResponse> - Gets information for the specified stage.
-
getStageSession(
{required String sessionId, required String stageArn}) → Future< GetStageSessionResponse> - Gets information for the specified stage session.
-
getStorageConfiguration(
{required String arn}) → Future< GetStorageConfigurationResponse> - Gets the storage configuration for the specified ARN.
-
importPublicKey(
{required String publicKeyMaterial, String? name, Map< String, String> ? tags}) → Future<ImportPublicKeyResponse> - Import a public key to be used for signing stage participant tokens.
-
listCompositions(
{String? filterByEncoderConfigurationArn, String? filterByStageArn, int? maxResults, String? nextToken}) → Future< ListCompositionsResponse> - Gets summary information about all Compositions in your account, in the AWS region where the API request is processed.
-
listEncoderConfigurations(
{int? maxResults, String? nextToken}) → Future< ListEncoderConfigurationsResponse> - Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request is processed.
-
listIngestConfigurations(
{String? filterByStageArn, IngestConfigurationState? filterByState, int? maxResults, String? nextToken}) → Future< ListIngestConfigurationsResponse> - Lists all IngestConfigurations in your account, in the AWS region where the API request is processed.
-
listParticipantEvents(
{required String participantId, required String sessionId, required String stageArn, int? maxResults, String? nextToken}) → Future< ListParticipantEventsResponse> - Lists events for a specified participant that occurred during a specified stage session.
-
listParticipantReplicas(
{required String participantId, required String sourceStageArn, int? maxResults, String? nextToken}) → Future< ListParticipantReplicasResponse> - Lists all the replicas for a participant from a source stage.
-
listParticipants(
{required String sessionId, required String stageArn, bool? filterByPublished, ParticipantRecordingFilterByRecordingState? filterByRecordingState, ParticipantState? filterByState, String? filterByUserId, int? maxResults, String? nextToken}) → Future< ListParticipantsResponse> - Lists all participants in a specified stage session.
-
listPublicKeys(
{int? maxResults, String? nextToken}) → Future< ListPublicKeysResponse> - Gets summary information about all public keys in your account, in the AWS region where the API request is processed.
-
listStages(
{int? maxResults, String? nextToken}) → Future< ListStagesResponse> - Gets summary information about all stages in your account, in the AWS region where the API request is processed.
-
listStageSessions(
{required String stageArn, int? maxResults, String? nextToken}) → Future< ListStageSessionsResponse> - Gets all sessions for a specified stage.
-
listStorageConfigurations(
{int? maxResults, String? nextToken}) → Future< ListStorageConfigurationsResponse> - Gets summary information about all storage configurations in your account, in the AWS region where the API request is processed.
-
listTagsForResource(
{required String resourceArn}) → Future< ListTagsForResourceResponse> - Gets information about AWS tags for the specified ARN.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
startComposition(
{required List< DestinationConfiguration> destinations, required String stageArn, String? idempotencyToken, LayoutConfiguration? layout, Map<String, String> ? tags}) → Future<StartCompositionResponse> - Starts a Composition from a stage based on the configuration provided in the request.
-
startParticipantReplication(
{required String destinationStageArn, required String participantId, required String sourceStageArn, Map< String, String> ? attributes, int? reconnectWindowSeconds}) → Future<StartParticipantReplicationResponse> - Starts replicating a publishing participant from a source stage to a destination stage.
-
stopComposition(
{required String arn}) → Future< void> - Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped.
-
stopParticipantReplication(
{required String destinationStageArn, required String participantId, required String sourceStageArn}) → Future< StopParticipantReplicationResponse> - Stops a replicated participant session.
-
tagResource(
{required String resourceArn, required Map< String, String> tags}) → Future<void> - Adds or updates tags for the AWS resource with the specified ARN.
-
toString(
) → String -
A string representation of this object.
inherited
-
untagResource(
{required String resourceArn, required List< String> tagKeys}) → Future<void> - Removes tags from the resource with the specified ARN.
-
updateIngestConfiguration(
{required String arn, bool? redundantIngest, String? stageArn}) → Future< UpdateIngestConfigurationResponse> - Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated.
-
updateStage(
{required String arn, AutoParticipantRecordingConfiguration? autoParticipantRecordingConfiguration, String? name}) → Future< UpdateStageResponse> - Updates a stage’s configuration.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited