[theora-dev] Theora file size

Maik Merten maikmerten at gmx.net
Fri Oct 6 09:48:15 PDT 2006

You can try increasing decreasing the keyframe interval. The default is 
suitable for streaming (which is what Theora seems to be most successful 
in and where it's important to have a usable picture after a few 
seconds), so the it's placing a keyframe every 64 pictures. XviD places 
far fewer keyframes, thus making streaming less viable but saving on 
file size.

in encoder_example.c you can toy around with following values


Setting this to 0 makes encoding much slower, but is supposed to predict 
motion better.


You can increase this to 500 or so ;
(keyframe usally after 20 seconds on with a 25fps video)


You can increase this to 1000
(force keyframe after 40 seconds (when input is 25fps) so you can still 


You can toy around with this, too (I think valid values or 0, 1 or 2)

I think you can shave off a fare bit from Theora filessize. XviD, 
however, is simply a very very good MPEG4 encoder which has received 
plenty of tuning. It has a very good performance and would be perfect if 
it wasn't using patented methods.

Theora reference encoder in it's current form performs more like a MPEG4 
encoder from around 2000. The Theora spec defines some advanced features 
that could inrease coding efficiency a lot - but there's no encoder yet 
using those features.

To put it into a nutshell:

Theora is stable and usable
Theora is perfect if you don't want to pay licensing fees
Theora is not as efficient as XviD or other highly tuned encoders 
(especially when using 2 pass encoding - which Theora doesn't have), 
although there is room for improvement

Unga schrieb:
> Hi
> I was surprised with size of Theora files and thought
> of feedback.
> Following 1minute duration Theora and Xvid files were
> made from a y4m file. The resolution is 1280x720:
> 1. Xvid	17MB
> 2. Ogg/Theora Q7   31MB
> 3. Ogg/Theora Q8   38MB
> 4. Ogg/Theora Q9   49MB
> 5. Ogg/Theora Q10  61MB
> The Xvid file was made using mencoder by 2 passes with
> following options:
> bitrate=2500:autoaspect:chroma_opt:vhq=4:bvhq=1:quant_type=mpeg:pass=1
> The encoder_example was used to create Ogg/Theora
> files.
> It was noted y4m to Theora encoding was the fastest 
> that I have ever seen. The Q9 Ogg/Theora took only 2
> minutes 35 seconds. But the files created were way too
> large compared to Xvid. The Xvid quality was very
> good, it may be equivalent to Ogg/Theora Q9 or Q10,
> but its file size is just 17MB. But where as Q10
> Ogg/Theora is nearly 4 times bigger than similar Xvid!
> Q7 Ogg/Theora quality was quite acceptable but its
> still twice bigger than Xvid. 
> In fact, it doesn't matter if it takes more time to
> encode if the resulting file size is smaller.  Can we
> achieve smaller file sizes with Theora without
> compromising quality?
> Best Regards
> Unga
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> _______________________________________________
> theora-dev mailing list
> theora-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/theora-dev

More information about the theora-dev mailing list