Be about to add FEC video to MediaSoup, is it possible?

I’m about to add video FEC in MediaSoup, I think the steps will be as follows:

  1. Reuse the WebRTC FEC source code.
  2. Encode FEC packet for the consumer whose real-time loss packet rate is under 40%.
  3. Offer FEC capability config in supportedRtpCapabilities.js, Node, MediaSoup.

Are there any suggestions?
Thanks, Sincerely.

Hi. Not sure what “reuse the WebRTC FEC source code” means but we want to get rid of libwebrtc dependency. We prefer to implement all RTP and RTCP related stuff from scratch to have full control over it.

Regarding such a “40% of packet loss” it looks to me too hardcoded. I don’t really know how it should be though. Also, AFAIK we should implement FLEX FEC rather than other older FEC mechanisms. But, at the same time, I’m not fully aware of how FLEX FEC support is in current libwebrtc (in client/browser side). AFAIR there were limitations when simulcast or SVC are used.

In the other side, I’m not sure if mediasoup should be a FEC terminator (it receives FEC packets from clients and constructs RTP packets with them, and also constructs its own FEC packets for consumers supporting it) or whether mediasoup should just relay FEC packets received from senders supporting it to consumers that also support it. I think we need much more planning and discussion about this.

1 Like