I’ve made a few tests on –videoquality encoding with Theora via ffmpeg2theora which I think is the best way to encode OGV media. Earlier tests conducted with ffmpeg2theora 0.25 reveal that 2-pass Target Bitrate encoding with Theora is less efficient than videoquality encoding, which is a one pass constant quality variable bitrate encode.
This might be surprising if you come from an H.264 encoding background, where quality-based encoders are almost nonexistent, but it’s quite the buzz with Theora. I could get the best quality encode possible on a somewhat motion-intensive animation with only 4.4 Mb/s.
Here’s the result of an intensive scene taken from an AMV that will appear in February at the G-AMV 2010 contest made by AMV-Canada. I’m the president of AMV-Canada and I do pretty much all of the grunt work of web encoding for the moment, so I was testing OGV encoding for our HTML 5 Open Video technology.
This scene is a very intensive scene which goes up to 7 Mb/s in VQ 10 . What you have to look for is discrepancies in the screenshots from VQ 9 down to VQ 0 comparatively to VQ 10. The video is a 740 x 410 pixels, which is a close approximate of what you can expect for an average SD video.
Benchmark
VQ 10
Size 99.03 MiB
Average Bitrate 4499 kb/s

VQ 9
Size 78.35 MiB
Average Bitrate 3589 kb/s

VQ 8
Size 61.41 MiB
Average Bitrate 2770 kb/s

VQ 7
Size 48.91 MiB
Average Bitrate 2255 kb/s

VQ 6
Size 39.79 MiB
Average Bitrate 1800 kb/s

VQ 5
Size 31.43 MiB
Average Bitrate 1415 kb/s

VQ 4
Size 24.52 MiB
Average Bitrate 1117 kb/s

VQ 3
Size 19.12 MiB
Average Bitrate 859 kb/s

VQ 2
Size 15.19 MiB
Average Bitrate 682 kb/s

VQ 1
Size 11.40 MiB
Average Bitrate 512 kb/s

VQ 0
Size 8.86 MiB
Average Bitrate 398 kb/s

Analysis
What you can observe is that the codec, in general, doesn’t start to drop in perceptible quality until VQ 8, and it’s still very subtle. VQ 8 is ideal for high quality encoding with minimal space.
VQ 7 starts to have noticeable blocking going on which often plague Theora videos. It’s very particular and while not exactly in your face, it’s always sort of there in lower quality Theora videos. VQ 7 might be more adapted to high quality web streaming.
VQ 6 and VQ 5 on the other hand fit perfectly in what the average H.264 encode looks like in terms of bitrate. While of substantially lower quality than H.264 at the same bitrate, both choices remain watchable and ideal for the web.
From VQ 4 and down, the codec starts to lose its ability to define straight lines and makes text increasingly hard to read. VQ 1 and VQ 2 then lose any ability to define detail and text becomes unreadable in most cases.
You can also enable –optimize in ffmpeg2theora, which makes encoding slightly slower and increases quality a bit. There’s definitely less blocking, but the difference is so minimal that with side-by-side comparison it’s often hard telling which is actually better. So while this might be a must when encoding, it’s definitely not worth re-encoding your whole library for it.
Pingback: Digital Blog India.in