-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Hey all,
I was just taking a look at your implementation of the WebRTC upstream endpoint and in my opinion the "protocol" is a bit to overengineered.
Most of it (except the ICE trickling) can be done unsing one simple POST request for startup:
The request contains the Session Description and ICE Candidates of the client and the response contains the ones of the server. (This could be divided into two separate requests.)
The connection can then be closed using a simple HTTP DELETE request.
And that's it! No WebSocket connection, no state management, no issues when the WebSocket connection eventually breaks! Just a simple, minimalistic REST API.
And, here comes the best, this corresponds to a current (and very early) IETF draft, called "WebRTC-HTTP ingestion protocol (WHIP)": https://datatracker.ietf.org/doc/draft-murillo-whip/
So, why not trying to take part at the standardization process and make the WebRTC implementation more future-proof and interoperable to other tools?
By the way: I'm not part of this IETF working group. I'm just interested in the WebRTC technology and watching the draft for some months and it will make me happy to see it in action in my favorite streaming backend.