How is Connection Quality determined?

Last updated: August 13, 2025

Background

Within LiveKit, there are 3 values that represent connection quality:

  1. Poor

  2. Good

  3. Excellent

Participants connected to LiveKit receive events from the LiveKit server whenever a participant's connection quality changes.

Details

The code for calculating the connection quality is here.  The calculation for quality is made up of 3 components:

  1. packet loss

  2. are all video layers sent

  3. bitrates

*jitter and RTT (round trip time) are disabled in calculatePacketScore