How to join a meet from the backend?

Hi there!

First, thanks for this amazing open-source project. For the most part I was able to extend it without any help, and with great results. Which means the code-base is really good, so yeah, thanks for that.

I’m trying to join a meet from the backend and get a hold of the Audio and Media Streams. The end goal is to join as another participant and reproduce sounds and video. The “join meet” stimulus is received through a REST endpoint that receives “the room name/url/whatever and the username”.

I’ve based my implementation on Jigasi (was about to use jibri but under the hood it leverages the webrtc api from the browser, and i’d like to avoid a headless chrome, and use only java/kotlin). So far I created a Gateway and a GatewaySession based on the existing Sip and Jvb implementations but i’ve reached a dead end when processing an incoming call. @ jigasi, expects a CallContext in the constructor, which is built from a CallEvent object. I’m a bit lost on how to build a CallEvent, since my stimulus comes from a REST endpoint and not within wherever comes from Jigasi.

I imagine that instead I should query somehow the videobridge or jicofo using the roomname, and then somehow create a Call object and somehow Join (too many somehows ha!)… But im really lost. Tried to decompile the code and search on Github but when i get to jitsi-protocol it gets really confusing.

So yeah, any tip/hint would be greatly appreciated. I’m more than willing to do some research on my own, but I really need a hint :confused:

Thanks again!

Jigasi is audio only. If you want to use java only for the video you will need to implement many of the protocols and codec-related stuff that are already available in webrtc which are missing in jigasi. So I would say this is an enormous project …

Jigasi joins the muc as the rest of the clients and it is jicofo sending the jingle session-initiate for establishing the media path to jvb. The CallEvent is the incoming call invite.

Did you check gst-meet?

1 Like