Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to replicate Google "Hangouts On Air" stream combining functionality?

I've been researching this one for quite a bit before but haven't found any solid leads.

Previously, I had a Wowza/Flash app with video chatroom functionality (let's say 4 or 8 video/audio streams) and would like to combine the streams server-side into one video/audio stream in order to be sent to a live Youtube channel or say a CDN like AWS CloudFront. In addition, I'm wondering how this would be implemented in WebRTC with a central server.

I've found a couple projects such as jMixer and some helpful keywords such as "vision mixer" to help with my search but looking for any previous experience or new ideas. Now including WebRTC I'm seeing "multipoint control unit" to centralize the streams, and "mashup".

The other option is building something like it myself with a commercial video decoding/encoding library to raw frames, stitching the frames together, then encoding it. I was originally going down this route but put project on hold.

What are some ideas, keywords, existing software (open source preferred), or even articles to take those live streams and combine them into one in real-time? Or is coding it myself like I was the required route?

Not looking for a coded solution but more of a generally efficient (in time and resources, not computation) solution applicable to all users.

Thanks!

like image 559
Rob Olmos Avatar asked Oct 20 '13 22:10

Rob Olmos


2 Answers

You can look into telepresence or erizo

As far as I remember from the code of telepresence, you can code plugin inc C++ to implements your own rendererer, stiching video together.

like image 115
flo850 Avatar answered Sep 19 '22 20:09

flo850


The Jitsi Videobridge is an opensource, WebRTC alternative to the Vidyo router that Google Hangouts use. The bridge can be found here:

https://jitsi.org/videobridge

A sample hangout like application is available here:

https://meet.jit.si

The code for the bridge and the webapp are available on GitHub.

Hope this helps.

like image 44
user3187399 Avatar answered Sep 21 '22 20:09

user3187399