Set Video Stream Configuration


You must set the video stream configuration for all remote participants to render the remote participant's video in the user interface. Use the following code snippet to set the video stream configuration for the remote participants.

webClientSDK.meetingService.videoStreamService.setVideoStreamConfiguration(
            [{ participant: "<participantGuid>", streamQuality: "r720p_30fps", streamPriority: "HIGH"},
            { participant: "<participantGuid>", streamQuality: "r360p_30fps", streamPriority: "MEDIUM"},
            { participant: "<participantGuid>", streamQuality: "r90p_15fps", streamPriority: "MEDIUM"}]
        );

The code above tells the backend service to serve a 720p, 360p, and 90p video feed to the participant whose participant ID (<participant Guid> is available in Participant Service). If the value of VideoStreamConfigurationResult.success is true, it means that the requested configuration was successfully applied. You can now start rendering the participant's video. If the value of VideoStreamConfigurationResult.success is false, then there was an error in the requested configuration and you need to fix it before you can continue.

The Web Client SDK supports a variety of different stream resolutions (See. StreamQuality).

Note

When you receive success, this means that your configuration request has been sent to the server, and within some time you will start seeing the videos that you requested arriving in the video stream array (See. videoStreams).

Parameters

Description

participantGuid

The unique identifier of the participant whose video you want to stream (See. participantGuid). This is an optional parameter.

streamQuality The combination of stream quality and frame rate for this video (See. StreamQuality).
streamPriority

The order in which video streams are assigned priority (See. Video Stream Priority).

 

The error responses of the setVideoStreamConfiguration(<videoConfigurations: VideoStreamConfiguration>) API are given below:

Response Codes

Description

DUPLICATE_PARTICIPANT_IDS The input configuration has duplicate participantGuid.
EMPTY_CONFIGURATION There is no input configuration provided.
INVALID_PRIORITY_COMBINATION The input configuration should have either no priorities or all the entries are included with priorities (See. streamPriority).
INVALID_STREAM_QUALITY_CONFIG

The input configuration you provided is an invalid stream quality (See. StreamQuality).

NOT_USING_CUSTOM_LAYOUTS

A custom layout must be selected before setVideoStreamConfiguration() can be called.
Note

You must first choose a custom layout before you can set your video stream configuration.

NO_PARTICIPANTS_WITH_IDS The input configuration you provided contains an invalid participantGuid. The participantGuid is a unique identifier of the participant whose video you want to attach.
STREAM_LIMIT_EXCEEDED

You have exceeded the maximum list item limit of 25 for the video stream input configuration.

Note

  • The requested video stream resolutions will be served on a best-effort basis. BlueJeans systems will dynamically adapt the resolution to a lower/higher value, as suitable, depending on your network and hardware capabilities.
  • You can have a maximum of 25 video streams in the custom layout.