Concrete Comparisons of Theora Vs. Mpeg-4
icknay writes "With the upcoming Firefox 3.5 and HTML5 video, there's natural interest in Theora vs. Mpeg-4, but without much evidence either way. Here's clips encoded at various rates to provide concrete comparison between Theora and Mpeg-4. Theora performs decently, but requires more bandwidth than Mpeg-4 (although this is a 1.1alpha release of Theora and Theora has a much better license than Mpeg-4). The quality comparisons are very subjective, but you can try the clips yourself and see how it breaks down. There was an earlier discussion about this, but it lacked much concrete evidence. (Disclosure: it's my page.)"
Both make terrible concrete. I recommend you buy some mix at the hardware store instead.
Disclosure: I'm trying to stress test my server. Please nuke it into the slag of its constituent parts.
Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
I noticed in the last discussion that Theora does better when you take a single frame and look. It seems to have a lot more details. However, it's apparent in the clips that the detail comes at the expense of smoothness between frames. If you watch the background it's jumping around a lot, making it look fuzzy, presumably as Theora tries to preserve various details.
The important line from the article: "Theora uses 1600kbps, or about 60% more bandwidth than Mpeg-4 to reach about the same quality."
Also useful to get some scale: "The uncompressed clip is 349 megabytes, while the 1600kbps Theora clip is 2 megabytes -- Theora may lag Mpeg-4 at this time, but it still yields great compression."
and "Theora is significantly better than Mpeg-2. Mpeg-2 required about 2400 kbps to hit the subjective quality level above, 50% higher than Theora's bandwidth."
Some things I would have liked to have seen: 250kbps, 500kbps, 2mbps, 8mbps videos, with subjective quality difference (rather than same subjective quality at different bitrates). Theora is apparently very good at lower bitrates, and not everybody has an awesome broadband connection, so they may be forced to watch lower-bitrate streams. Does the HTML5 video tag support selecting streams based upon available bandwidth?
The situation seems pretty clear to me.
Theora is just not as good as H.264; you can get better quality with the same bits in H.264, or similar quality in fewer bits.
Theora is, however, good enough for general use for Internet video. It's at least as good as H.263, which actually has been used for years. (Breathless claims that Theora would need twice as many bits as H.264 are just silly.)
Since Theora is free in all ways, browsers can just build it in, and sites like Wikipedia are going to use it. Since H.264 is better, sites with money will pay the H.264 fees to save money on bandwidth. And, if I had a web business, I'd hesitate to paint myself into a corner with H.264; the patent owners have the power to jack up the royalties if they decide to.
In short, both Theora and H.264 will be found on the Internet in the near future. And we can all just get along.
(Now watch Theora fanboys and H.264 fanboys team up to mod this post down through the floor... :-)
P.S. Ogg Vorbis never toppled MP3 from the throne. However, the existence of Vorbis may have exerted some downward pressure on the licensing fees for the paid codecs. In a similar way, the existence of Theora may cause the patent holders for the other video formats to not try to charge quite as much.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
There are three things that this test doesn't consider:
For real life examples, that also include sound see "YouTube / Ogg/Theora comparison" and "Another online-video comparison".
There's a hidden treasure in Python 3.x: __prepare__()
People providing decoders have to pay the license fee.
"Royalties to be paid by end product manufacturers for an encoder, a decoder or both (âoeunitâ) begin at US $0.20 per unit after the first 100,000 units each year. There are no royalties on the first 100,000 units each year. Above 5 million units per year, the royalty is US $0.10 per unit."
This causes issues for free software especially with the gpl because there is a clause which says you cannot restrict the distribution of the code but by having to pay a license fee this is a restriction.