Skip to main content
This guide covers quality control mechanisms in lib-jitsi-meet, including codec selection, resolution management, and adaptive quality features.

Overview

The QualityController class manages optimal video quality by controlling:
  • Codec selection: Choose between VP8, VP9, H.264, and AV1
  • Resolution management: Control send and receive video resolution
  • Adaptive mode: Automatically adjust quality based on CPU and bandwidth
  • Last-N: Limit number of received video streams

Codec Configuration

Codec Preference Order

Configure codec preferences in conference options:

Codec Selection by Complexity

Codecs are automatically selected based on conference complexity:

Mobile Codec Settings

Video Resolution Management

Sender Video Constraints

Control outgoing video resolution:

Receiver Video Constraints

Control resolution for each received video stream:

Dynamic Resolution Adjustment

Last-N Configuration

Limit the number of video streams received to optimize bandwidth:

Adaptive Last-N

Automatically adjust based on CPU performance:

Last-N Events

Adaptive Quality Mode

Enable Adaptive Mode

How Adaptive Mode Works

Adaptive mode automatically:
  1. Monitors encode stats: Tracks CPU usage and encoding performance
  2. Detects quality limitations: Identifies CPU or bandwidth bottlenecks
  3. Adjusts parameters: Reduces Last-N or switches codecs
  4. Ramps back up: Gradually increases quality when conditions improve

Quality Limitation Events

Bandwidth Management

Video Bitrate Control

Simulcast Configuration

Simulcast sends multiple quality layers:

Audio Quality Settings

Audio Constraints

Stereo Audio

Quality Monitoring

Connection Quality

Track Statistics

Performance Metrics

Codec-Specific Features

VP9 SVC (Scalable Video Coding)

H.264 Hardware Acceleration

AV1 Support (Experimental)

Advanced Quality Control

Per-Track Quality Settings

Quality Profiles

Auto Quality Adjustment

Best Practices

  • VP9: Best quality, good for small conferences (2-4 participants)
  • VP8: Balanced performance, good for medium conferences (5-10 participants)
  • H.264: Hardware accelerated, good for mobile and large conferences
Enable adaptive mode to automatically handle CPU and bandwidth limitations:
Adjust Last-N and receiver constraints based on your UI layout:
Track quality metrics to identify issues:

Next Steps

End-to-End Encryption

Enable E2EE in conferences

Statistics & Analytics

Monitor performance metrics