webrtc-extensions
webrtc-extensions copied to clipboard
Please make Data Channels more suitable for realtime data
In some cases it is useful to send realtime data over data channel, e.g. media (e,g, H.265, for long time browsers could play it but not receive via RTP), readings from sensors (temperature, humidity, etc) or output from AI models (bounding boxes, subtitles). Use of data channels for this kind of data causes some issues. In reliable transmission mode it works like TCP, so network congestion may stop whole transmission and the fastest way to recover may be to close one data channel and open new one. Closing also has its own issue, as SCTP layer will try to send all buffered data, so custom fix to drop all queued data is needed. In unreliable transmission mode network congestion are not that bad, but it is more like UDP than RTP with all benefits of RTCP/FEC/etc. Please make Data Channels more suitable for realtime data.
Hey @sirzooro
How would you want things to work differently in reliable mode? One data channel not blocking others has been fixed by https://datatracker.ietf.org/doc/rfc8260 just needs to be implemented everywhere.
SCTP does have Receiver Feedback (RTCP esque communication).
SCTP does not have FEC. Has that ever come up @tuexen?
The application can monitor loss and apply its own FEC, which in many ways allows for app-specific customization.