Use custom receiver client without SDP negotiate to archive 0-RTT performance?

Under video streaming scenarios, if use a custom receiver client, means i can control codecs、RTP ports etc as default values, so when receiver needs connect to SFU node to start video streaming, it can skip the SDP negotiate that browser needs, and only send one UDP packet with roomId or something which can specify the streaming source id.

As to SFU node who always caches the publisher side keyframe data, it can immediately send back current keyframe using the same UDP source port. This is the so-called 0-RTT which i thought, MUST be the best performance we can get?

I don’t know if there is any RFC about this…

IMO SFU node is normally deployed behind the gateway, so in order to let a receiver client to connect to SFU’s RTP port, there is no need to negotiate one using SDP, but assign the gateway a fixed port, and do server side load balance to forward to a SFU node’s random RTP port using HAProxy or DPDK?

(If no gateway, can also use DNS-based load balance to select a dynamic random IP address, which is used by SFU nodes)

You still need to establish DTLS session. With custom server and client it is indeed possible to pre-negotiate things way upfront, but the use cases for such setup are very rare.