Broadcast Jitsi-Meet Conference to a website using a Media Server


#1

Currently Jitsi is able to stream Live Conference to Youtube Live Streaming. It would be nice if we could stream the Conference Live to any website of our choice using a Media Server (preferably open source)


#2

From my (limited) understanding, Jibri (the Jitsi Meet component that does the broadcasting to Youtube) simply uses ffmpeg to write to a RTMP url that Youtube provides. (rtmp://a.rtmp.youtube.com/…)

See: https://github.com/jitsi/jibri/blob/663e4de53398d3eddd8e331413261e54fa062d63/src/main/kotlin/org/jitsi/jibri/service/impl/StreamingJibriService.kt#L94

So if you want to broadcast the stream to a custom server, you need a RTMP server for Jibri to stream to: https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/

Also, because the RTMP URL of Youtube is hardcoded, you would need to modify the source code (only trivial amount of changes), build and host your own instance of Jitsi Meet with Jibri.


#3

Is there a good document/Reference material on how to Build Jitsi from source?


#4

building jitsi from src


#5

Thank You Tanvir. I could successfully build Jitsi from source.


#6

Can you kindly guide me as to which portions of the source code need to be modified to be able to stream to custom server?

One option I have is “Ant Media”(Community edition). Ant media allows streaming Youtube Live videos and OBS. The setup is kind of similar to setting up Youtube Live streaming on Jibri.


#7

Essentially just here:

^ this is basically the streaming URL that is being passed to ffmpeg via command line arguments. Right now it is hard coded as Youtube’s URL.

This StreamSink object is converted into a list of command line arguments in https://github.com/jitsi/jibri/blob/dedfab68f2a61dd8c7bf7b7a2ed404b200b27e97/src/main/kotlin/org/jitsi/jibri/capture/ffmpeg/FfmpegCapturer.kt#L49

which in turn calls https://github.com/jitsi/jibri/blob/master/src/main/kotlin/org/jitsi/jibri/capture/ffmpeg/executor/FfmpegExecutor.kt#L79

essentially just launching the ffmpeg process with the parameters, including that streaming URL above.


#8

Thank You. I appreciate your support. I will try this out