I have been trying different solutions/approaches for last few days and posting here to get some more options.
I am planning to use Twilio's Programmable Video solution with Group room (upto 50 participants) to allow hosts/presenters to join video conference meeting. Right now I am able to setup and get started with quickstart example here
Also, in parallel, I need to be able to broadcast that live meeting room through RTMP/HLS (audio+video) streaming that can be viewed (through another portal) by large user set (ideally around 10k+)
Twilio support team suggested - integrating Twilio Video with Wowza using screenscrapping and ffmpeg (i.e. render the video into a (maybe virtual) screen, capture it and send to Wowza using ffmpeg.)
I am new to both ffmpeg and wowza. However, I am looking to see high level solution which can be used to achieve this (with minimum hanging parts).
Ideal flow i can think of is
- Start a Twilio video conference room with actual presenters
- all participants share there video and audio tracks with each other in the room - standard behavior
- a new ghost-participant joins-in from stand-alone server (from wowza or SIP) and subscribes to audio-video tracks in conference.
- arrange & combine those tracks into one channel and stream it as HLS
- this ghost-participant will also be able to identify dominant speaker and re-arrange video tracks to show current speaker occupying bigger space (just like zoom)
- and of course, this streamed video (with audio) will be one-way and viewers cannot interact. Just see be able to see the room broadcasting.
Also/FYI I have tried exploring few more options below (with no success)
a blog here explain how can we broadcast a twilio audio conference. At the bottom it also mention about video streaming. but, I am not getting how can we use SIP to get video stream that can be broadcasted. Also, how can I manipulate video tracks to show dominant speakers in full screen view Vs other participant in thumbnail view i.e. custom layouts.
I also explored option of Wowza WebRTC streaming to achieve this, but it has got other technical challenges with setting up video room with multiple participants. I am going to reach out to them to see if this use-case is possible with their offering.
I am looking for something as simple as here - dial as guest participant into video room from standalone streaming server/wowza server. And get output as single stream to broadcast.
Any other pointers or links to solutions would be helpful.