-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebRTC-HTTP ingestion protocol (WHIP) #383
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. |
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. |
This looks interesting - WebRTC coming to vanilla OBS, but possibly not using WHIP? obsproject/rfcs#43 |
OBS recently stated that native WebRTC support in OBS is due Q3 of 2022: 😳 |
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. |
OBS has just released a prototype / playground for WebRTC / WHIP support within OBS: obsproject/obs-studio#7192 |
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! |
@llspalex |
@getroot you can also use this project : https://github.com/meetecho/simple-whip-client |
@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. |
@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 |
@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. |
I've committed WHIP support to the master branch. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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.
The text was updated successfully, but these errors were encountered: