Interface KinesisVideoWebRtcStorageAsyncClient
- All Superinterfaces:
AutoCloseable
,AwsClient
,SdkAutoCloseable
,SdkClient
builder()
method.The asynchronous client performs non-blocking I/O when configured with any
SdkAsyncHttpClient
supported in the SDK. However, full non-blocking is not guaranteed as the async client may
perform blocking calls in some cases such as credentials retrieval and endpoint discovery as part of the async API
call.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Value for looking up the service's metadata from theServiceMetadataProvider
.static final String
-
Method Summary
Modifier and TypeMethodDescriptionbuilder()
Create a builder that can be used to configure and create aKinesisVideoWebRtcStorageAsyncClient
.create()
Create aKinesisVideoWebRtcStorageAsyncClient
with the region loaded from theDefaultAwsRegionProviderChain
and credentials loaded from theDefaultCredentialsProvider
.joinStorageSession
(Consumer<JoinStorageSessionRequest.Builder> joinStorageSessionRequest) joinStorageSession
(JoinStorageSessionRequest joinStorageSessionRequest) joinStorageSessionAsViewer
(Consumer<JoinStorageSessionAsViewerRequest.Builder> joinStorageSessionAsViewerRequest) Join the ongoing one way-video and/or multi-way audio WebRTC session as a viewer for an input channel.joinStorageSessionAsViewer
(JoinStorageSessionAsViewerRequest joinStorageSessionAsViewerRequest) Join the ongoing one way-video and/or multi-way audio WebRTC session as a viewer for an input channel.The SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfigurationMethods inherited from interface software.amazon.awssdk.utils.SdkAutoCloseable
close
Methods inherited from interface software.amazon.awssdk.core.SdkClient
serviceName
-
Field Details
-
SERVICE_NAME
- See Also:
-
SERVICE_METADATA_ID
Value for looking up the service's metadata from theServiceMetadataProvider
.- See Also:
-
-
Method Details
-
joinStorageSession
default CompletableFuture<JoinStorageSessionResponse> joinStorageSession(JoinStorageSessionRequest joinStorageSessionRequest) Before using this API, you must call the
GetSignalingChannelEndpoint
API to request the WEBRTC endpoint. You then specify the endpoint and region in yourJoinStorageSession
API request.Join the ongoing one way-video and/or multi-way audio WebRTC session as a video producing device for an input channel. If there’s no existing session for the channel, a new streaming session needs to be created, and the Amazon Resource Name (ARN) of the signaling channel must be provided.
Currently for the
SINGLE_MASTER
type, a video producing device is able to ingest both audio and video media into a stream. Only video producing devices can join the session and record media.Both audio and video tracks are currently required for WebRTC ingestion.
Current requirements:
-
Video track: H.264
-
Audio track: Opus
The resulting ingested video in the Kinesis video stream will have the following parameters: H.264 video and AAC audio.
Once a master participant has negotiated a connection through WebRTC, the ingested media session will be stored in the Kinesis video stream. Multiple viewers are then able to play back real-time media through our Playback APIs.
You can also use existing Kinesis Video Streams features like
HLS
orDASH
playback, image generation via GetImages, and more with ingested WebRTC media.S3 image delivery and notifications are not currently supported.
Assume that only one video producing device client can be associated with a session for the channel. If more than one client joins the session of a specific channel as a video producing device, the most recent client request takes precedence.
Additional information
-
Idempotent - This API is not idempotent.
-
Retry behavior - This is counted as a new API call.
-
Concurrent calls - Concurrent calls are allowed. An offer is sent once per each call.
- Parameters:
joinStorageSessionRequest
-- Returns:
- A Java Future containing the result of the JoinStorageSession operation returned by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()
to retrieve the underlying exception.- ClientLimitExceededException Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.
- InvalidArgumentException The value for this input parameter is invalid.
- AccessDeniedException You do not have required permissions to perform this operation.
- ResourceNotFoundException The specified resource is not found.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- KinesisVideoWebRtcStorageException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
-
joinStorageSession
default CompletableFuture<JoinStorageSessionResponse> joinStorageSession(Consumer<JoinStorageSessionRequest.Builder> joinStorageSessionRequest) Before using this API, you must call the
GetSignalingChannelEndpoint
API to request the WEBRTC endpoint. You then specify the endpoint and region in yourJoinStorageSession
API request.Join the ongoing one way-video and/or multi-way audio WebRTC session as a video producing device for an input channel. If there’s no existing session for the channel, a new streaming session needs to be created, and the Amazon Resource Name (ARN) of the signaling channel must be provided.
Currently for the
SINGLE_MASTER
type, a video producing device is able to ingest both audio and video media into a stream. Only video producing devices can join the session and record media.Both audio and video tracks are currently required for WebRTC ingestion.
Current requirements:
-
Video track: H.264
-
Audio track: Opus
The resulting ingested video in the Kinesis video stream will have the following parameters: H.264 video and AAC audio.
Once a master participant has negotiated a connection through WebRTC, the ingested media session will be stored in the Kinesis video stream. Multiple viewers are then able to play back real-time media through our Playback APIs.
You can also use existing Kinesis Video Streams features like
HLS
orDASH
playback, image generation via GetImages, and more with ingested WebRTC media.S3 image delivery and notifications are not currently supported.
Assume that only one video producing device client can be associated with a session for the channel. If more than one client joins the session of a specific channel as a video producing device, the most recent client request takes precedence.
Additional information
-
Idempotent - This API is not idempotent.
-
Retry behavior - This is counted as a new API call.
-
Concurrent calls - Concurrent calls are allowed. An offer is sent once per each call.
This is a convenience which creates an instance of the
JoinStorageSessionRequest.Builder
avoiding the need to create one manually viaJoinStorageSessionRequest.builder()
- Parameters:
joinStorageSessionRequest
- AConsumer
that will call methods onJoinStorageSessionRequest.Builder
to create a request.- Returns:
- A Java Future containing the result of the JoinStorageSession operation returned by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()
to retrieve the underlying exception.- ClientLimitExceededException Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.
- InvalidArgumentException The value for this input parameter is invalid.
- AccessDeniedException You do not have required permissions to perform this operation.
- ResourceNotFoundException The specified resource is not found.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- KinesisVideoWebRtcStorageException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
-
joinStorageSessionAsViewer
default CompletableFuture<JoinStorageSessionAsViewerResponse> joinStorageSessionAsViewer(JoinStorageSessionAsViewerRequest joinStorageSessionAsViewerRequest) Join the ongoing one way-video and/or multi-way audio WebRTC session as a viewer for an input channel. If there’s no existing session for the channel, create a new streaming session and provide the Amazon Resource Name (ARN) of the signaling channel (
channelArn
) and client id (clientId
).Currently for
SINGLE_MASTER
type, a video producing device is able to ingest both audio and video media into a stream, while viewers can only ingest audio. Both a video producing device and viewers can join a session first and wait for other participants. While participants are having peer to peer conversations through WebRTC, the ingested media session will be stored into the Kinesis Video Stream. Multiple viewers are able to playback real-time media.Customers can also use existing Kinesis Video Streams features like
HLS
orDASH
playback, Image generation, and more with ingested WebRTC media. If there’s an existing session with the sameclientId
that's found in the join session request, the new request takes precedence.- Parameters:
joinStorageSessionAsViewerRequest
-- Returns:
- A Java Future containing the result of the JoinStorageSessionAsViewer operation returned by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()
to retrieve the underlying exception.- ClientLimitExceededException Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.
- InvalidArgumentException The value for this input parameter is invalid.
- AccessDeniedException You do not have required permissions to perform this operation.
- ResourceNotFoundException The specified resource is not found.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- KinesisVideoWebRtcStorageException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
joinStorageSessionAsViewer
default CompletableFuture<JoinStorageSessionAsViewerResponse> joinStorageSessionAsViewer(Consumer<JoinStorageSessionAsViewerRequest.Builder> joinStorageSessionAsViewerRequest) Join the ongoing one way-video and/or multi-way audio WebRTC session as a viewer for an input channel. If there’s no existing session for the channel, create a new streaming session and provide the Amazon Resource Name (ARN) of the signaling channel (
channelArn
) and client id (clientId
).Currently for
SINGLE_MASTER
type, a video producing device is able to ingest both audio and video media into a stream, while viewers can only ingest audio. Both a video producing device and viewers can join a session first and wait for other participants. While participants are having peer to peer conversations through WebRTC, the ingested media session will be stored into the Kinesis Video Stream. Multiple viewers are able to playback real-time media.Customers can also use existing Kinesis Video Streams features like
HLS
orDASH
playback, Image generation, and more with ingested WebRTC media. If there’s an existing session with the sameclientId
that's found in the join session request, the new request takes precedence.
This is a convenience which creates an instance of the
JoinStorageSessionAsViewerRequest.Builder
avoiding the need to create one manually viaJoinStorageSessionAsViewerRequest.builder()
- Parameters:
joinStorageSessionAsViewerRequest
- AConsumer
that will call methods onJoinStorageSessionAsViewerRequest.Builder
to create a request.- Returns:
- A Java Future containing the result of the JoinStorageSessionAsViewer operation returned by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()
to retrieve the underlying exception.- ClientLimitExceededException Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.
- InvalidArgumentException The value for this input parameter is invalid.
- AccessDeniedException You do not have required permissions to perform this operation.
- ResourceNotFoundException The specified resource is not found.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- KinesisVideoWebRtcStorageException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
serviceClientConfiguration
Description copied from interface:SdkClient
The SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfiguration- Specified by:
serviceClientConfiguration
in interfaceAwsClient
- Specified by:
serviceClientConfiguration
in interfaceSdkClient
- Returns:
- SdkServiceClientConfiguration
-
create
Create aKinesisVideoWebRtcStorageAsyncClient
with the region loaded from theDefaultAwsRegionProviderChain
and credentials loaded from theDefaultCredentialsProvider
. -
builder
Create a builder that can be used to configure and create aKinesisVideoWebRtcStorageAsyncClient
.
-