OptionalautoWhen set to false, you have to manually call consumeWebcamStreams and consumeMicStreams to consume the streams.
OptionalcamEnables webcam on join.
OptionalcodecSwitch codec to VP8 when the user cant consume the codec then we goes to VP8 .
OptionalcustomCustom camera video track to use as the camera input.
If this is not provided, the SDK will automatically create and use a default camera video track. You can create a custom track using createCameraVideoTrack.
OptionalcustomCustom microphone audio track to use as the microphone input.
If this is not provided, the SDK will automatically create and use a default microphone audio track.You can create a custom track using createMicrophoneAudioTrack.
OptionaldefaultSpecifies which camera the default webcam opens on.
front → front cameraback → rear cameraA customCameraTrack keeps its own facingMode, and after
changeCam() the webcam stays on the camera switched to.
OptionaldynaCap each participant's simulcast ladder to what the viewer actually needs.
Turning this on also enables multiStream.
OptionalenableBatch signalling messages instead of sending each one as it is produced.
OptionaljoinControls how the participant joins the room.
true, the participant automatically joins the room as soon as the provider is mounted.false, the participant must explicitly call join() to enter the room.OptionalmaxMaximum resolution for video publishing.
"sd" opens the default camera at 960x540 instead of 1280x720, and makes
setQuality ask for one simulcast layer lower: "high" gets the middle
layer, "med" and "low" the lowest. A customCameraTrack keeps its
own encoder config.
OptionalmetaCustom metadata associated with the participant.
OptionalmicEnables microphone on join.
OptionalmodeDefines how media streams should behave.There are 3 types of Mode
OptionalmultiEnables or disables multi-resolution streaming.
OptionalparticipantUnique participant identifier.
OptionalparticipantDisplay name of the participant.
OptionalpreferredPreferred network protocol for media transmission.
Allowed Value:
OptionalsignalingIf you want to use a proxy server with the VideoSDK, you can specify your baseURL here.
Note
If you intend to use a proxy server with the VideoSDK, priorly inform us at support@videosdk.live
OptionalspeakingThe language this participant speaks.
Real-time translation uses it as the source language for this participant's speech, and it reaches other participants as participantLanguage on onTranslationText.
It can only be set before the room is joined — there is no method to change it during the room.
Authentication token used to authorize the participant with VideoSDK.
You can generate a token using one of the following methods:
OptionaltranslationThe language this participant receives translated speech in.
When it is not set, this device receives no translated text even while translation is running for the room. It can be changed during the room with changeTranslationLanguage(), which affects only this device.
Both language props take one of the codes listed under Supported Languages — a plain code such as "es", a regional variant such as "en-GB" or "pt-BR", a script variant such as "zh-Hant", or "multi". Nothing in the SDK validates the code: an unsupported one raises no error, the device simply receives no translated text.
RoomProvideris a Context Provider that initializes and manages the room lifecycle and exposes room state to all child components.This provider wraps the core VideoSDK room logic using React Context, allowing any nested component to access room data and hooks.
To learn more about React Context Providers, refer to the official React documentation.
Example
Returns