Intent to Implement and Ship: RTCRtpEncodingParameters.scaleResolutionDownBy & RTCRtpEncodingParameters.maxFramerate

98 views
Skip to first unread message

Florent Castelli

unread,
Jan 18, 2019, 10:55:40 AM1/18/19
to blin...@chromium.org

Contact emails

orp...@chromium.org


Design doc/Spec

https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-scaleresolutiondownby

https://w3c.github.io/webrtc-pc/#dom-rtcrtpencodingparameters-maxframerate


Summary

Those encoding parameters allow to change how the video layers are transmitted by scaling down the frame size or limiting the encoding frame rate.


Motivation

Those parameters are mainly used for simulcast transmissions to have different encoding parameters for each simulcast layer. They are an essential part of the APIs required to enable simulcast usage according to the WebRTC 1.0 specification.


Risks

Interoperability and Compatibility

This will also improve interoperability for applications already using scaleResolutionDownBy shipped by Firefox.

All browsers agreed to complete the WebRTC 1.0 specification, so there shouldn't be any long term interoperability issues.


As for compatibility, many applications rely on WebRTC currently automatically resizing simulcast layers (which is not spec compliant). Those usually don't specify any of the new parameters, so it should be easy to detect when the old behavior is desired or those explicit values should be used.

We can warn users if we detect this to encourage them to migrate to using this API. Removal of the old behavior is not yet planned.


Edge: Positive to completing WebRTC 1.0

Firefox: Shipped scaleResolutionDownBy, positive to completing WebRTC 1.0 (for maxFramerate)

Safari: Positive to completing WebRTC 1.0

Web / Framework developers: Positive, simulcast support is a much requested feature.


Ergonomics

Those parameters are used with RTCRtpSender.get/setParameters().


Activation

There shouldn't be any activation issues.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes


Is this feature fully tested by web-platform-tests?

WPT check only the setting values can be read back when set. There are no tests to check the layers have the expected size or the right frame rate.


Link to entry on the feature dashboard

https://www.chromestatus.com/feature/5703036164898816

https://www.chromestatus.com/feature/6216116758118400


Requesting approval to ship?

Yes


Philip Jägenstedt

unread,
Jan 22, 2019, 9:24:47 AM1/22/19
to Florent Castelli, blink-dev
LGTM1

That Firefox has already shipped one of these is great, and overall the long term risk of adding hints in the form of dictionary members is fairly low, as the effect is not direct and can be tweaked if necessary.

Can you file a WPT issue for the missing infrastructure that would make it possible to check that the layers / frame rate is as expected? Is it some sort of fake peer and capture, together with analysis of the captured traffic? I don't know how feasible it is, but it doesn't seem in principle untestable.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADRnnSXbG--3bhxy23g8YO3CordyPTPtmfLeUp-2jBMu%3D4MWkA%40mail.gmail.com.

Chris Harrelson

unread,
Jan 22, 2019, 11:43:04 AM1/22/19
to Philip Jägenstedt, Florent Castelli, blink-dev
LGTM2

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/CAARdPYcHXDGErkpjA0VzbCmJ_fQv2HZ4FbYQMaAS8LvPQQKi_Q%40mail.gmail.com.

Philipp Hancke

unread,
Jan 22, 2019, 7:38:33 PM1/22/19
to Philip Jägenstedt, Florent Castelli, blink-dev
One can use dirty tricks as demonstrated in
In a nutshell this splits up the single stream/track from one connection into three on the remote connection, exposing them both to getStats as well things like checking video dimensions.

The WG decided not to go this path tough.*shrug*

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Daniel Bratell

unread,
Jan 24, 2019, 9:11:03 AM1/24/19
to Philip Jägenstedt, 'Philipp Hancke' via blink-dev, Philipp Hancke, Florent Castelli
LGTM3

/Daniel
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADxkKi%2B292N_jD%2BfM9cs%3Dr2vfQGpihb5eHz1d4csBfBJH5VdHA%40mail.gmail.com.



--
/* Opera Software, Linköping, Sweden: CET (UTC+1) */
Reply all
Reply to author
Forward
0 new messages