3 ms·
I don't get this. After the initial ICE negotiation you can just send raw RTP packets (encrypted with SRTP/DTLS). There is no need for any ACK packets. FEC can
by fenesiistvan 3y ago
I don't get this. After the initial ICE negotiation you can just send raw RTP packets (encrypted with SRTP/DTLS). There is no need for any ACK packets. FEC can be done at codec level. What I am missing?
- kixelated 3y agoAre you referencing this line? > 2x the packets, because libsctp immediately ACKs every “datagram”. The section is about data channels, which uses SCTP and is ACK-based. Yes, you can use RTP with NACK and/or FEC with the media stack, but not with the data stack.
- the8472 3y agoTCP can coalesce acks for multiple packets, can't SCTP do the same?
- Sean-Der 3y agoSCTP can (and does) a SACK[0] isn't needed for each DATA chunk. [0] https://datatracker.ietf.org/doc/html/rfc4960#section-3.3.4 https://datatracker.ietf.org/doc/html/rfc4960#section-3.3.4
- kixelated 3y agoThe protocol can do it, but libsctp (used by browsers) was not coalescing ACKs. I'm not sure if it has been fixed yet.
- pthatcherg 3y agoFrom a server or a native client, you can send whatever RTP packets you want, but you cannot send whatever RTP packets you want from a web client, and you cannot have access to the RTP packets from a web client and do whatever you want with them, at least not very easily. We are working on an extension to WebRTC called RtpTransport that would allow for just that, but it's in early stages of design and standardization.
- Sean-Der 3y agoThat's so exciting! I had no idea you were working on this :) Here [0] is a link for anyone that is looking for it. [0] https://github.com/w3c/webrtc-rtptransport/blob/main/explainer.md https://github.com/w3c/webrtc-rtptransport/blob/main/explain...