First of all, I want to give a shout out to Jitsi meet team for making such a great product, well-designed infrastructure.
As a newbie of either WebRTC or SRTP/RTMP streaming stuff, I recently encountered a requirement for supporting the ingest of RTMP/RTSP stream into a Jitsi conference. Instead of using common browser, some clients wish to join meetings with their OBS(open broadcaster system)". To be more clear, these moderators(host) will first start OBS studio, choose a meeting to join/create in Jitsi, then invites other people to be the co-hosts of webinars.
I hope to get some advice from Jitsi team/community on implementing such a feature. I have done research of existing resource from the community/discourse.
There are a few threads/discussion on this topic(I commented the first discussion one month ago as well):
- participant inputs rtmp stream from a source like obs
- Jitsi Meet with OBS (Open Broadcaster software)
- Using jitsi with OBS
Existing/Temporary Workarounds (Maybe name them as Solution A)
My research reveals a few existing workarounds(I can also verified the second solution on my Mac). The common idea is wrapping OBS stream (RTMP) as a virtual camera as the first step, then selecting such a camera (inside the browser) for Jitsi (WebRTC) meeting. In this way, typically the moderator could invites others to the webinars where he/she use the output of OBS (instead of physical cameras) as local video stream. Examples are:
Mac/Windows/Linux: NewTek’s “NDI Virtual Input”
On the bright side, they require minimum modification of Jitsi components. Nearly all the changes happen in OBS studio or OBS Plugins, these plugins mostly are written in C++/C.
The drawbacks are that they could break down randomly at some point, thus presenting technical barriers to non-developers in terms of upgrading or fixing issues from time to time. And it’s not so easy to streamline the whole process if there are any customized authentication or other constraints.
As a matter of fact, OBS Community has asked for some universal “Bounty” solution.