#836: WebRTC Codec selection API

Visit on Github.

Opened Apr 24, 2023

こんにちは TAG-さん!

I'm requesting a TAG review of the WebRTC Codec selection API.

We want to be able to change codec with RTCRtpSender.setParameters() in order to do the following:

  • Allow different codecs on different encodings.
  • Make it possible to change codec without re-negotiating.
  • Allow specifying both codec and scalabilityMode with a single API call.

Current users of the WebRTC APIs can achieve the similar functionality with multiple calls that are not quite easy to use (renegotiate with a different codec order in the SDP, which is a heavy operation) and are not as efficient (changing the codec and then changing the scalability mode or other parameters may add an extra I-frame that is not needed). This API also allows to have mixed-codec simulcast, which was not possible previously.

  • Explainer¹ (minimally containing user needs and example code): WG interim slides
  • Specification URL: spec url
  • Tests: N/A, WPT tests under development
  • User research: [url to public summary/results of research]
  • Security and Privacy self-review²: No impact. The proposed API doesn't change or make available any new information.
  • GitHub repo (if you prefer feedback filed there): Github repository, but feedback here please!
  • Primary contacts (and their relationship to the specification):
    • Florent Castelli (@orphis, Google), author / spec editor
    • Harald Alvestrand (@alvestrand, Google), WebRTC chair
  • Organization(s)/project(s) driving the specification: Google
  • Key pieces of existing multi-stakeholder review or discussion of this specification: Pull request
  • External status/issue trackers for this specification (publicly visible, e.g. Chrome Status): Github repository

Further details:

  • I have reviewed the TAG's Web Platform Design Principles
  • Relevant time constraints or deadlines:
  • The group where the work on this specification is currently being done: WebRTC WG

We'd prefer the TAG provide feedback as:

💬 leave review feedback as a comment in this issue and @-notify [@orphis]

Discussions

2023-06-19

Minutes

Max: Had a quick look at this one - straightforward proposal. No explainer. They've provided slides to explain the requirement. Enables the change of active codec without renegotiation of the session... They've designed an API... They haven't provided an explainer...

Dan: it's in the webrtc wg. Wondering what the multistakeholder story is...

Max: we can ask them to provide multistakeholder info togetehr with the explainer...

Dan: leaves comment

2023-09-04

Minutes

Dan: closed this because there was no explainer but they've done one now. Has multistakeholder support.

Yves: I don't see any issue. I think we should close. Maybe wait for Sangwhan...?

Dan: I'm happy to close... Let's set it as proposed close and close it at the plenary.

<blockquote> @Orphis thanks for this updated explainer. It's really good to see that this proposal enjoys support from multiple browsers. Ideally I'd like to see a bit more discussion of user needs – which you may feel boil down to "more seamless video calls" – but it would be nice to have that spelled out. </blockquote>

Sangwhan: happy to close.

closed