joinStorageSession method

Future<void> joinStorageSession({
  1. required String channelArn,
})
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.

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 or DASH playback, image generation via GetImages, and more with ingested WebRTC media. 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.

May throw AccessDeniedException. May throw ClientLimitExceededException. May throw InvalidArgumentException. May throw ResourceNotFoundException.

Parameter channelArn : The Amazon Resource Name (ARN) of the signaling channel.

Implementation

Future<void> joinStorageSession({
  required String channelArn,
}) async {
  final $payload = <String, dynamic>{
    'channelArn': channelArn,
  };
  await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/joinStorageSession',
    exceptionFnMap: _exceptionFns,
  );
}