Implementation of VP8/WebM in XMPP video chat

Matevž Jekovec matevz.jekovec at
Tue Aug 24 03:34:57 EDT 2010

Let me add my 2 euro cents. ;)

My name is Matevž and I'm a 24 years old computer science student. I was 
also at the hacking weekend mainly focusing at the multi-user conference 
calls for jingle (MUJI). The specifications are all in XEP-0272 
( We also took the python's 
prototype MujiDemo for telepathy as an example 

The main problem we encountered is the bandwidth use - MUJI doesn't 
define (see the last paragraph of XEP-0272) the centralized audio/video 
relay, but it's all p2p. This means that for 4 users, each user sends 
and receives 3 streams, which is a major problem for anything else than 
FTTx fiber internet connection or the local network.


ps. Been also helping other teams out. We successfully compiled Pidgin 
with gstreamer on windows, but the VV was not working yet. We didn't 
investigate further (there was <error> stanza in XMPP console), but we 
assumed that the gstreamer was too old. Only windows packages built on 
Oct 09 were available. Compiling the gstreamer (+35 dependencies) by 
ourselves was not an option :/
You can get the compilable version for windows at our SVN repository:

We mainly added and changed Makefile.mingw to enable VV and include the 
farsight/gstreamer stuff.

Na 23. 08. 2010 19:30, Alec Smrekar je pisal:
> Hi,
> My name is Alec and I need some help with implementing VP8/WebM in 
> XMPP video chat. I'm 16 and I'm learning C++, so I understand most of 
> the code. With my friends we decided to have a coding weekend and we 
> also posted something about it here 
> <>. We set to 
> ourselfs 3 main goals:
> - implementing WebM to XMPP video chat
> - Audio/video support for Windows
> - implement conference/multiuser video chat
> I worked on WebM. To understand how 2 users comunicate between them we 
> analyzed the output in the XMPP console(in xml) after the video chat 
> was established.
> After that we went searching the code for something that would explain 
> us where the available codecs are found in how the codec used is 
> choosen. We spent a hell lot of time for this search but we didn't 
> find anything. We would still need information about how the codecs 
> are found and where.
> For the WebM support we updated ffmpeg to version 0.6 
> <> and gstreamer to version 
> 0.10.30 <>. After that 
> we checked the XMPP console again, but again there was no sign of 
> WeM/VP8 support.
> We suspect that libpurple has outdated information about available 
> codecs, but again, we didn't find the piece of code where libpurple 
> defines/lists the codecs. We would really need some help with that.
> Wouldn't it be great to hear that Pidgin(XMPP) has WebM support? :)
> Alec Smrekar

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Devel mailing list