[JDEV] Videoconferencing with jabber

Carsten Breuer CarstenBreuerJabber at openwin.de
Wed Nov 19 15:09:30 CST 2003

Hi Ulrich,

> there are multiple plans to do native transmission. 
> Before starting to hack a solution you should think about broadening the
> scenario ... it is very nonsense to do just one-to-one conferencing in a
> solution ... and as soon as you start mixing streams the trouble begins and
> performance costs on server/mixer side increase. 

That's because i send the email to this group. If someone say "here is 
the solution" you search then i can be lazy again and everythingis fine 

> in jabber direct i see no real chance to transmit the stream as an
> inband stream. 

Yes, i thought so to. The big question is can i get the IP of the people
i talking to or is this a serurity issue (protect users against atack)?

> Between two endpoints there are many things like firewalls, routers and
> the like, this leads to the only solution: a relay or a server. 

Well, a connection with two people can be done with a P2P connection.
If one is behind a firewall, there should be a gateway that make the 
translations if (and i guess that) IP-Masquarading doesn't work.
That is not the big story. The problem is if more the two people
are conferencing.

> especially if you want to do voice mixing we will quickly run into
> performance pitfalls. if we go speex for encoding/decoding, decoding and
> encoding in realtime is no big deal on a modern machine. but as soon as
> a machine has to mx ten streams for ten different people (mind, i don't
> want to hear myself or a i want to mute people) [performance] trouble
> begins again. 

Yes. But if you think of that there are not realy much posibilities.
Broadcast doesn't work globaly in the internet.
The most worse think would be taht every client send his data to every 
client. But nobody realy think of that. So the next thing is to use a 
server. All clients send the e. g. video to the server, and he send it 
to the other clients. OK, that's good for the bandwith. But what to do 
with audio? There are also not much solutions. One way is to give the 
people a speak button and only one can speak at a time. Hmm.. i dont 
realy like that. The other way is to mix the audio on the server and 
send it the to all clients. This is havy load for the server, but 
perhaps it is posible. I will post this to the speex list and will see 
what they say.

> GSM is much more performance friendly. 

Hmm...what do you mean. THE GSM-Codec?

> I think the avrelay server i wrote 4-6 weeks ago works ok, with speex
> and two - three members. of course the server has to be started on
> jabberstudio.org (which we used to test this). 

It looks interesting but i dont have fully understand what it does and
where the mix with jabber is. I use only C++, because i allways have
doubts about speed with java. Expecialy if there are time critical 
threads. Which my god old C++ i get the full processor and
pointers :-)).

> another issue is (hard but true) that it's quite unnecessary to involve
> the jabber protocol and do a lot of extra work to insert the audio/video
> mixer into the jabber architecture. 
 > if a (video/audio) client connects
 > to the mixer component it can commmunicate directly with it,
 > uneccesary
 > to go through jabber.

This is not realy my intention. If it is not a good idea to doing this,
then i don't do it. But i want to start the connection with jabber and 
perhaps use jabber as a administartive chanel to submit some control
signals (like the B chanel of ISDN).

> just some thoughts ... 
> i will try to release the latest avrelay server and client by the end of
> this day. 

Do you have a bit more information how the server an dclient works?



More information about the JDev mailing list