[theora] Theora for webcam/conferencing use

Mihai Balea mihai at hates.ms
Thu Oct 15 20:44:15 PDT 2009


On Oct 15, 2009, at 12:11 PM, Basil Mohamed Gohar wrote:
> My purpose in mentioning all of this is to ask others' experience in
> using Theora for low-bandwidth or video conferencing settings.  Are
> there more advanced settings that are better optimized for a
> "talking-head" kind of video, where there's more motion in a fixed  
> area
> of a frame than on the fringes?

A couple of years ago we used Theora to implement a video call /  
conference solution.

Things worked reasonably well in the end, but we had to do a lot of  
tweaking and duct taping to compensate for Theora's weak points.
For a relatively detailed description of the major issues we faced,  
please take a look at this source file (part of iaxclient project).  
The interesting stuff is at the top of the file:

http://iaxclient.svn.sourceforge.net/viewvc/iaxclient/branches/2.1/lib/codec_theora.c?revision=1349&view=markup

Not much to add to that... while Theora is great for storing, playing  
and streaming static video, I believe it is lacking in features  
related to live video streaming and conferencing.  Granted, we used it  
back in the pre-1.0 days and things might have changed in the  
meanwhile. I really hope that is the case.

One little trick you might find useful is to increase the ratio of  
bandwidth assigned to key frames.  In a talking-head scenario, there's  
very little difference from one frame to the other, so the codec uses  
the available bandwidth to improve the image quality with each p- 
frame. This has the effect of rendering a rough key frame and slowly  
improving it only to switch back to another rough key frame making the  
video look "jumpy". Assigning more bandwidth to the key frame evens it  
out.

Hope this helps...

Cheers,
Mihai


More information about the theora mailing list