thankful-twilight-49934
09/17/2025, 2:43 PMtall-airline-16756
09/17/2025, 2:43 PMtall-airline-16756
09/17/2025, 2:44 PMthankful-twilight-49934
09/17/2025, 2:52 PMtall-airline-16756
09/17/2025, 2:53 PMTrackE2EEStateEvent. These let you monitor encryption states such as "OK", "MissingKey", or "DecryptionFailed", so you can connect any media quality concerns to potential encryption issues if they come up.
Sources: End-to-end encryption | LiveKit Docs | Sources/LiveKit/E2EE/E2EEManager.swift | sample-app-common/src/main/java/io/livekit/android/sample/CallViewModel.kt | livekit/src/room/e2ee/manager.rs | examples/demo/demo.tsthankful-twilight-49934
09/17/2025, 2:57 PMtall-airline-16756
09/17/2025, 2:57 PMthankful-twilight-49934
09/17/2025, 2:59 PMtall-airline-16756
09/17/2025, 3:00 PMthankful-twilight-49934
09/17/2025, 3:07 PMe2ee_config = rtc.E2EEOptions(
key_provider_options=rtc.KeyProviderOptions(
shared_key=b"my_shared_key",
# ratchet_salt=b"my_salt",
),
encryption_type=rtc.EncryptionType.GCM,
)
# Connect to the room with end-to-end encryption (E2EE)
# Only clients possessing the same shared key will be able to decode the published tracks
await ctx.connect(e2ee=e2ee_config)tall-airline-16756
09/17/2025, 3:08 PMthankful-twilight-49934
09/30/2025, 7:41 AMtall-airline-16756
09/30/2025, 7:42 AMVideoCaptureOptions, you can define the resolution and frame rate that best suit your source video stream.
• Enable simulcast: By configuring videoSimulcastLayers, LiveKit can offer multiple resolution layers, adapting smoothly to changing network conditions.
• Enable dynacast: This handy feature disables unused simulcast layers when no one’s watching them, helping optimize bandwidth.
• Adjust encoding parameters: With videoEncoding, you can set bitrate and framerate limits, and even use predefined VideoPresets for the best setup.
Also, LiveKit SDKs come with great tools to keep an eye on network conditions and help diagnose any issues:
• JavaScript SDK: You can use getSenderStats() to gather useful metrics like jitter, packet loss, round-trip time, and reasons for quality limitations.
• Flutter SDK: Similar stats are available here too, including frame height, width, frames per second, and encoder details.
These stats are really helpful for spotting network challenges like high packet loss or congestion that might be affecting your video quality. Please feel free to reach out if you’d like me to walk you through setting these up or using the diagnostic tools—I’m here to support you every step of the way!
Sources: src/room/participant/publishUtils.ts | CHANGELOG.md | Configuring the Client SDK for Optimal Video Quality | Codecs and more | LiveKit Docsthankful-twilight-49934
09/30/2025, 7:45 AMtall-airline-16756
09/30/2025, 7:45 AM