Skip to content
This repository has been archived by the owner on Sep 19, 2024. It is now read-only.

Implement simulcast #3

Closed
mickel8 opened this issue Jul 5, 2021 · 1 comment · Fixed by #79
Closed

Implement simulcast #3

mickel8 opened this issue Jul 5, 2021 · 1 comment · Fixed by #79
Labels
enhancement New feature or request

Comments

@mickel8
Copy link
Contributor

mickel8 commented Jul 5, 2021

In simulcast, client (in our case browser) can send multiple encodings of the same source. Each encoding can have different resolution, bitrate etc.

SFU responsibility is to convey to each peer version of source encoding that this peer is able to process.

The task is to implement SFU side of simulcast.

Resources that might be useful:

@mickel8 mickel8 added the enhancement New feature or request label Jul 5, 2021
@mickel8
Copy link
Contributor Author

mickel8 commented Jul 15, 2021

From RFC 8829, Section 3.7:

   JSEP currently does not provide a mechanism to configure receipt of
   simulcast.  This means that if simulcast is offered by the remote
   endpoint, the answer generated by a JSEP endpoint will not indicate
   support for receipt of simulcast, and as such the remote endpoint
   will only send a single encoding per "m=" section.

   In addition, JSEP does not provide a mechanism to handle an incoming
   offer requesting simulcast from the JSEP endpoint.  This means that
   setting up simulcast in the case where the JSEP endpoint receives the
   initial offer requires out-of-band signaling or SDP inspection.
   However, in the case where the JSEP endpoint sets up simulcast in its
   initial offer, any established simulcast streams will continue to
   work upon receipt of an incoming re-offer.  Future versions of this
   specification may add additional APIs to handle the incoming initial
   offer scenario.

This means that to implement support for simulcast we have to implement support for Initial Offers sent by a browser (membraneframework/membrane_webrtc_plugin#10).

cc @mat-hek

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants