mediasoup icon indicating copy to clipboard operation
mediasoup copied to clipboard

Write our own bandwidth estimator

Open ibc opened this issue 6 years ago • 17 comments

UPDATE: Work in progress

Instead of depending in libwebrtc and its GCC implementation, we may move to BBR. However, we should then also replace the libwebrtc "probation" logic with our own one.

Spec and docs about BBR:

Or NADA: https://tools.ietf.org/html/rfc8698

ibc avatar Nov 18 '19 11:11 ibc

Chrome removed the BBR experiment.

Cleanup: Removes unused BBR congestion controller. https://webrtc.googlesource.com/src.git/+/5c356bb9b159858d5dd6507773d3060202056b99

benbro avatar Jan 28 '21 00:01 benbro

Thanks, we are not doing BBR anyway.

ibc avatar Jan 28 '21 00:01 ibc

Do you plan to implement NADA or something else? Is there something to track?

benbro avatar Jan 28 '21 00:01 benbro

We'll update when there is progress.

ibc avatar Jan 28 '21 00:01 ibc

SCReAM (Self-Clocked Rate Adaptation for Multimedia) continues to be actively developed at https://github.com/EricssonResearch/scream

jonassmedegaard avatar Mar 31 '21 19:03 jonassmedegaard

Why decide to write another bandwidth estimator? Any problem of the libwebrtc implementation?

wangyoucao577 avatar Jul 19 '21 11:07 wangyoucao577

I am not involved with developing Mediasoup, but my guess is that libwebrtc is a painful dependency due to its over-the-fence development style by Google.

jonassmedegaard avatar Jul 19 '21 11:07 jonassmedegaard

libwebrtc is a painful dependency due to its over-the-fence development style by Google.

Basically, yes.

jmillan avatar Jul 19 '21 12:07 jmillan

@jonassmedegaard @jmillan Thanks very much for the quick answer! But..if so, how about other transport related parts of libwebrtc? Such as re-transmission, FEC, etc. Will it be sufficient to remove Google dependency once the new congestion controller implemented?

wangyoucao577 avatar Jul 19 '21 12:07 wangyoucao577

We just use libwebrtc dep for BWE.

ibc avatar Jul 19 '21 12:07 ibc

So how about the ARQ, FEC strategies? Does the mediasoup project contain them already? Any docs? How's the effects in weak network connections compare with libwebrtc implementation? Thanks!

wangyoucao577 avatar Jul 19 '21 12:07 wangyoucao577

Please, questions and discussions in the forum, not here.

ibc avatar Jul 19 '21 12:07 ibc

Will do. Sorry.

wangyoucao577 avatar Jul 19 '21 12:07 wangyoucao577

@ibc any update on this? It would be very nice to have this implemented as an interface. Any pointer to a branch where this is in the working? Thanks!

ldecicco avatar Jan 26 '22 10:01 ldecicco

No much updates yes, sorry.

ibc avatar Jan 26 '22 10:01 ibc

@ldecicco,

We could have a discussion about this topic.

jmillan avatar Jan 26 '22 12:01 jmillan

We sure can!

ldecicco avatar Jan 27 '22 09:01 ldecicco

Finally libwebrtc is being updated and our friend Eugene is tuning it, so in the short/medium term we are not gonna complete this task. Let's close it.

ibc avatar Dec 10 '22 10:12 ibc