How can I change the video quality and FPS of the ...
# ask-ai
a
How can I change the video quality and FPS of the received video stream without affecting the video quality of other participants?
t
Thanks for reaching out, 1234de12d. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
You can change the video quality and FPS of a received video stream without affecting other participants using the following methods: • For video quality: Use the
setVideoQuality()
method on a
RemoteTrackPublication
object to adjust the quality of a specific remote video track. • For FPS (frames per second): ◦ In JavaScript, use
setVideoFPS(fps: number)
. ◦ In Flutter, use
setVideoFPS(int newValue)
to set the desired FPS (the server will try to return FPS close to this value). ◦ In Android, use
setVideoFps(fps: Int?)
. • For video dimensions: Use the
setVideoDimensions(dimensions: Dimensions)
method. These methods allow you to control the quality and FPS of a specific remote video track without impacting other participants' streams. Sources: RemoteTrackPublication class - livekit_client library - Dart API | RemoteTrackPublication | LiveKit JS Client SDK - v2.8.1 | RemoteTrackPublication
a
How can I change the video quality and FPS of the received video stream without affecting the video quality of other participants using flutter client sdk?
t
To change the video quality and FPS of a received video stream using the Flutter client SDK, you can use the following methods: • For changing video quality:
remoteTrackPublication.setVideoQuality(VideoQuality newValue)
For changing FPS (frames per second): `remoteTrackPublication.setVideoFPS(int newValue)`Note: The FPS setting is only supported for video codecs that support SVC (Scalable Video Coding). The server will try to return an FPS close to your requested value. After making these changes, the SDK will automatically call
sendUpdateTrackSettings()
to apply your changes to the track. Sources: sendUpdateTrackSettings method - RemoteTrackPublication class - livekit_cli... | RemoteTrackPublication class - livekit_client library - Dart API | setVideoFPS method - RemoteTrackPublication class - livekit_client library ...
a
Is there a way for participants to always receive the best possible video quality layer based on network conditions?
t
Yes, participants can always receive the best possible video quality layer based on their network conditions when using LiveKit's simulcast feature. Simulcast enables publishing multiple versions of the same video track with different bitrate profiles, allowing LiveKit to dynamically forward the most suitable stream based on each recipient's bandwidth and preferred resolution. The system will automatically select appropriate layers when it detects bandwidth constraints and upgrade to higher resolutions as conditions improve. Additionally, if network bandwidth does not allow, the server will automatically reduce quality to optimize for uninterrupted video. Sources: Codecs and more | LiveKit Docs | RemoteTrackPublication | LiveKit JS Client SDK - v2.8.1 | set(videoQuality:) | Documentation