← Back to release summary

RTCRtpSendParameters.degradationPreference

Category
WebRTC
Type
New or changed feature
Status
Enabled by default (Chrome 83)
Intent stage
Evaluate readiness to ship

Summary

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.

Standards & signals

Docs: https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSendParameters

Explainers: https://w3c.github.io/mst-content-hint/#degradation-preference-when-encoding

View on chromestatus.com