Bandwidth Estimation #505
-
Hello, Thank you for your work on this library. I am playing around with your library a bit to stream a video from one computer to another. Currently, I can stream a video and retrieve it on another computer, without using a web browser just with your c++ implementation. The problem I have is when the network is congested, I would like to adjust the encoding parameters automatically so that the quality of the stream adapts according to the network state. I have seen that web browsers use REMB (Receiver Estimated Maximum Bitrate), Best regards |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hello, REMB and TWCC are not really heuristics to evaluate network quality, they merely define a RTCP format to report information to the sender. REMB reports a receiver-estimated maximum bitrate, while TWCC reports which packets were received and at what timing. Congestion control algorithms (for instance the ones defined in draft-ietf-rmcat-gcc) can use this kind of information to control the sender bitrate (even RTCP receiver reports can be sufficient). Implementation is only partial for now, REMB RTCP messages are implemented in |
Beta Was this translation helpful? Give feedback.
Hello,
REMB and TWCC are not really heuristics to evaluate network quality, they merely define a RTCP format to report information to the sender. REMB reports a receiver-estimated maximum bitrate, while TWCC reports which packets were received and at what timing. Congestion control algorithms (for instance the ones defined in draft-ietf-rmcat-gcc) can use this kind of information to control the sender bitrate (even RTCP receiver reports can be sufficient).
Implementation is only partial for now, REMB RTCP messages are implemented in
RtcpReceivingSession
, to allow reporting a maximum bitrate to the sender when libdatachannel is on the receiving side, but there is no internal bitrate estima…