When encoding video, and some constraint (bandwidth, CPU) prevents encoding at the configured framerate and resolution, the encoder must make a choice on how to modify the encoding parameters. An attribute is defined for RTCRtpSendParameters that allows this to be explicitly indicated for an RTCRtpSender.

Motivation

Developers need to be able to control how the quality degrades as different types of content have different requirements. On a screenshare presentation, users will probably prefer to be able to read what is being presented on the screen rather than having super smooth animations. But on a normal video call, a smooth framerate is probably more important than having a higher resolution. Developers need to be able to signal what is preferred for their application and possibly update it as desired.

Documentation

Specification

Specification link


Specification currently under development in a Working Group

Status in Chromium

Blink>WebRTC


Enabled by default (tracking bug)

Consensus & Standardization

After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.

  • Positive
  • No signal
  • No signal
  • No signals

Owner

Last updated on 2021-08-26