For some usage I want to record each participant’s audio stream separately in a file, and I want to do it in Jibri, not Jigasi.
I cloned the Jibri repo and I am watching Kotiln files for Selenium, …
but I don’t know where to start and change which class or file.
Can you guide me?
Thanks a lot.
Jibri codebase is designed on the assumption that you want to record all audio and video that is fed into one browser that is watching the conference. Jibri uses ffmpeg to capture the view and the sound from one browser window, hence the setup is not suited to do the capture you want.
The only way to do it with Jibri is that you somehow, after a lot of changes, use one Jibri server for each participant and i don’t think that is what you had in mind.
Thanks for the reply,
Jibri server per participant causes a lot of overheads (needs many servers and docker containers at a time to service hundreds of users) and heavy effort to develop and change the code as you told.
Jibri uses chrome and chrome driver.
Jibri is connected to chrome using Selenium.
How about getting Webrtc streams from chrome through Selenium SDK (library)?
After getting one audio stream, I can pass it to ffmpeg(is it possible??), then obtain the audio file and save it.
If you can make Selenium create one output stream connected to one process running the ffmpeg command for each participant and then instruct ffmpeg to read audio from pipe input using the -i pipe: and specifying the audio format correctly, then yes that would be possible.
you may possible send both audio and video to ffmpeg using pipes by placing video on the stderr input pipe:2 and audio on the stdio input pipe:0
The above idea to pass data directly from selenium to ffmpeg is very different compared to how jibri work today,
today jibri work by connecting ffmpeg to the virtual screen on the Xorg server and connect to the virtual sound card. Making Selenium start ffmpeg directly, and passing audio and video data directly, is a big architecture change. such a change would indeed allow you to save individual audio and/or video streams.
Thanks, I follow the guides