Hangout-like Video Conferences with Jitsi Videobridge and XMPP
169 : Hangout-like Video Conferences with Jitsi Videobridge and XMPP
About a year ago the Jitsi project developers started work on support for video conference calls. We had had audio conferencing for a while at that point and we were using it regularly in our dev meetings. Video was then our next big challenge so we rolled our sleeves and got to work.
The first choice that we needed to make was how to handle video distribution. The approach that we had been using for audio was for one of the participating Jitsi clients to mix all streams and then send them back to the other participants. This was relatively easy to do for audio and any recent desktop or even laptop machine can easily mix a call with six or more participants.
Video however was a different story. Mixing video into composite images is an extremely expensive affair and one could never achieve this real-time with today's desktop or laptop computers. We had to choose between an approach where the conference organizer would simply switch to the active speaker or a solution where a central node relays all streams to all participants, while every participant keeps sending a single stream.
We finally went for the latter which also seems to be the approach taken by Skype and Google for their respective conferencing services.
This is how Jitsi Videobridge was born: an XMPP server component that focus agents can control via XMPP.
Today Jitsi Videobridge is the only Free/Libre application today that allows for high quality multi-party video conferences today (and we do mean it when we say high quality).