WebRTC-HTTP ingestion protocol (WHIP) #1096
Replies: 13 comments
-
@JonasPrimbs As you mentioned, WebRTC signalling can be implemented in many other ways besides WebSocket, and the reason why we used WebSocket as a signalling method is to easily expand the functionality. A typical example is the P2P Delivery feature. Lastly, since I don't know much about WHIP, I think I need to review it with the OME developers. |
Beta Was this translation helpful? Give feedback.
-
WHIP has been mentioned several times when developing the WebRTC Provider. I'm reviewing this very positively, and will introduce it to OME someday. However, it is not an easy task as the structure of the current OvenMediaEngine needs to be changed as mentioned below. When I finish my high-priority task, I will start designing for WHIP. |
Beta Was this translation helpful? Give feedback.
-
This looks interesting - WebRTC coming to vanilla OBS, but possibly not using WHIP? obsproject/rfcs#43 |
Beta Was this translation helpful? Give feedback.
-
OBS recently stated that native WebRTC support in OBS is due Q3 of 2022: 😳 |
Beta Was this translation helpful? Give feedback.
-
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Beta Was this translation helpful? Give feedback.
-
OBS has just released a prototype / playground for WebRTC / WHIP support within OBS: obsproject/obs-studio#7192 |
Beta Was this translation helpful? Give feedback.
-
Update: OBS now has an open PR for WebRTC / WHIP output. An easy way to test this for those curious is by using broadcast-box: https://b.siobud.com/ Exciting times! |
Beta Was this translation helpful? Give feedback.
-
@llspalex |
Beta Was this translation helpful? Give feedback.
-
@getroot you can also use this project : https://github.com/meetecho/simple-whip-client |
Beta Was this translation helpful? Give feedback.
-
@nums Thank you. I've never used Gstreamer yet, so I'm a bit confused. But I think it will be very useful for WHIP development. |
Beta Was this translation helpful? Give feedback.
-
@getroot Also, here is a link to the latest WebRTC PR for OBS with recent discussion (it is not the same PR as the original "playground" PR I posted): obsproject/obs-studio#7926 |
Beta Was this translation helpful? Give feedback.
-
@llspalex I was already checking the obsproject/obs-studio#7926 PR. I felt that OBS will officially support WHIP soon, so I will start working on it soon. |
Beta Was this translation helpful? Give feedback.
-
I've committed WHIP support to the master branch. |
Beta Was this translation helpful? Give feedback.
-
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.
Beta Was this translation helpful? Give feedback.
All reactions