Intent to Implement and Ship: RTCRtpSendParameters.degradationPreference

126 views
Skip to first unread message

Florent Castelli

unread,
Mar 16, 2020, 8:28:43 AM3/16/20
to blin...@chromium.org
orp...@chromium.org https://w3c.github.io/mst-content-hint/#degradation-preference-when-encoding Specification: https://w3c.github.io/mst-content-hint/#degradation-preference-when-encoding https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSendParameters This API was already part of the WebRTC 1.0 review then moved to the Content Hint specification. 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. 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.
Parts of the functionality attached to this setting is already shipped by users agents. There's been consensus on formalising it and exposing a direct control surface for it. Firefox: Public support (https://github.com/mozilla/standards-positions/issues/101#issuecomment-598735123) Edge: No public signals Safari: No public signals Web developers: No signals This API is used with MediaStreamTrack contentHint feature and are specified together. It is set with RTCRtpSender get/setParameters() which has been released for a while now and developers are familiar with it, no risks are expected.
Yes Not quite Tests check setting and reading the value back. Actual behaviour depends on a lot of realtime factors and can't reliably be tested in WPT right now, just like many other WebRTC features. https://bugs.chromium.org/p/chromium/issues/detail?id=1061408 https://chromestatus.com/feature/5135353876840448

Yoav Weiss

unread,
Mar 19, 2020, 8:19:18 AM3/19/20
to Florent Castelli, blink-dev
LGTM1

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADRnnSXLHGvrEyvAarrjMDEh5awwpbuV1hapwFwa6w8PBO3PxQ%40mail.gmail.com.

Chris Harrelson

unread,
Mar 19, 2020, 3:11:11 PM3/19/20
to Yoav Weiss, Florent Castelli, blink-dev

Mike West

unread,
Mar 19, 2020, 3:13:06 PM3/19/20
to Chris Harrelson, Yoav Weiss, Florent Castelli, blink-dev
Reply all
Reply to author
Forward
0 new messages