Hi!

I've spent some time scratching my head thinking about video conferencing and how to go about it. Right now we use Meetme as a audio bridge for pstn connectivity and so on. But our users ask for video and screen sharing. I can see four distinct ways to go about this:

1. Asterisk right now - supports 1-1 video, and with confbridge 1 video stream can be sent to the other participants. (The codec must match thought, and a key-frame are not sent immediate if the video source is changed so there will be a garbled video stream until next key-frame.)

2. MCU - multiple video streams encoded in single stream. For video do the same as with audio. That means decode each stream, compose a new stream with all the participants layered out nicely. While this works for audio it consumes huge amounts of cpu to do this for video.

3. p2p - multiple video streams sent peer to peer. Each participant sends the audio/video to every other participant. This eats a lot of bandwidth for the users and can work for smaller conferences, but in a conference with 10 participants each will have to have a very good upstream connection.

4. Jitsi Videobridge - multiple video streams from server, but send only your stream to the server. The jitsi videobridge the distributes the stream to all other clients. This will eat a lot of bandwidth for the server, but not for the clients. This is also how Google Hangouts works. So if you are 10 participants you will send one stream to the server with your audio/video and receive 9 streams from the server for the other participants.


To be able to scale reasonably I think option 2 is out of the question. And option 3, p2p, eats to much bandwidth for the clients (and doesn't require an asterisk anyway).

What you lose with option 4 is everything asterisk excels at: pstn connectivity, fine-grained control of each participant in the bridge.

What are your thoughts on adding Jitsis approach in regards to video to Asterisk for confbridge or even ARI? No composing of video, just relaying the other participants streams to each other in the bridge. Then it's up to the client in the other end to display these streams in a reasonable way (like Google Hangout, and https://meet.jit.si/).


--
Johan Wilfer

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to