[theora] Key frame bitrate

Gregory Maxwell
Wed, 09 Feb 2011 20:42:40 -0000

On Wed, Feb 9, 2011 at 2:39 AM, Andreas Engel <andreas.engel at bravis.eu>
wrote:
> Hi,
>
> I'm using Theora for live video chat. My problem is, at higher bitrates
> the bandwidth peaks caused by key frames are so high that most key
> frames get dropped in UDP traffic. The peaks are so strong that I still
> get many packet loss artifacts when sending with 1Mbit/s bitrate on a
> 2Mbit/s connection. I measured delta frames to be around 12kbyte and key
> frames up to 100kbyte in 1280x720 video at 15fps even with lowest rate
> buffer settings.
> I can send 2Mbit/s without errors when using heavy traffic shaping, but
> this causes clearly visible delay.
> In pre-1.0 API there was a parameter to set the bitrate for key frames
> which would probably help a lot with this. Is there any chance key frame
> bitrate control finds its way back into Theora? Or any other workaround
> for this?


What you probably want is "rolling intra" ? where there are no
periodic keyframes, only a band of keyblocks which moves across the
image refreshing it a part at a time.  I've been thinking about adding
this to libtheora.

If you have the time and interest to test this I can send you a patch
to libtheora which will provide this behavior. I'd like to hear how it
works in practice.