YouTube, HTML5, and Comparing H.264 With Theora
David Gerard writes "Google Chrome includes Ogg support for the <video> element. It also includes support for the hideously encumbered H.264 format. Nice as an extra, but ... they're also testing HTML5 YouTube only for H.264 — meaning the largest video provider on the Net will make H.264 the primary codec and relegate the equally good open format Ogg/Theora firmly to the sidelines. Mike Shaver from Mozilla has fairly unambiguously asked Chris DiBona from Google what the heck Google thinks it's doing."
DiBona responded with concerns that switching to Theora while maintaining quality would take up an incredible amount of bandwidth for a site like YouTube, though he made clear his support for the continued improvement of the project. Greg Maxwell jumped into the debate by comparing the quality of Ogg/Theora+Vorbis with the current YouTube implementations using H.263+MP3 and H.264+AAC. At the lower bitrate, Theora seems to have the clear edge, while the higher bitrate may slightly favor H.264. He concludes that YouTube's adoption of "an open unencumbered format in addition to or instead of their current offerings would not cause problems on the basis of quality or bitrate."
Rip to FLAC, then encode that into whatever fits the device best.
In my experience, finding a player that does .ogg isn't that hard. Look at the players made by Cowon for instance, they're very nice.
Ogg Vorbis was better in quality than MP3 - back then (and even today) the most popular compression for music. However, AAC and WMA are also better than MP3 - and people actually sold music in AAC and WMA formats as well as MP3.
Theroa is not better than h264 (the new popular standard for video on the Internet, many Blu-ray discs, HD satellite, and HD broadcast in some parts of the world), so it's not a repeat of Vorbis at all. Theora just scores higher on a scoring algorithm when compared ot a single h264 encoder, the open-source x264.
Not to defend ogg vorbis too much, but it has actually achieved success in a few realms - it's the audio format of choice on Wikipedia, which is one of the web's most popular sites, and it's used in tons of video games (precisely because it doesn't need to be licensed, I think). The things that made it successful in those areas (matching ideology and price/compression performance, respectively) don't really mean much to the average MP3 player user, though.
--- Bwah?
There are an awful lot of players which support ogg. Almost anything from Cowon, iRiver or Sansa does. And almost all the Chinese brand/no-name/shop brand players support ogg even though they fail to explicitly state this (preferring to emblazon their players and packaging with mp3 and wma logos). I used to import and sell mp3 and mp4 players and generally it's only the very cheapest mp4 video players which don't support ogg, that's the ones which claim asf container support is something to brag about.....usually these use an old rockchip video processor.
I have 5 personal players. 2 are old iRivers, H140 and H340, 2 are tiny no name Chinese mp3 players and one is a Chinese mp4 video player. Only the iRivers claim to support ogg audio but the cheap mp3 players handle it fine as well. I lived in SE Asia and every cheap mp3 player I ever checked played ogg audio too. Not a single one made mention of it in the instructions, the specs, on the box or on the player.
Stop misquoting the motto! It's "don't be evil", not "do no evil". Google is just saying that they don't intend to screw over their own customers, not that they intend to become the moral custodian of justice for the entire world.
No, the problem is decoding too. Software decode is fine on the desktop, but a non-starter for phones. Good phone video requires and uses ASIC or GPU acceleration. Theora, as a much older and simpler codec will probably decode faster in software than a maxed-out H.264 bitstream, but even if it could get to full-screen on a handset, it'd require a lot more bandwidth, and would run the battery down very quickly.
"Bandwidth is the problem" is also very much Theora's problem. The rather...odd example linked to aside, for any interesting bitrate or quality, Theora will need at least 2x as many bits to hit the same quality level as H.264 High Profile.
The example page is a little confusing. While they compare Theora to H.264 (and admit it wins), their "money" compare is to H.263, which is a VP3 era codec in its own right. If they compared a good H.264 encode to Theora at the 327 Kbps bitrate, H.264 would turn Theora into a thin red paste.
My video compression blog
Ogg Vorbis is also used in video games because it has some other advantages: it supports 6-channel audio, and has support for bit-accurate decoding, allowing seamless looping of audio, and it sounds better at lower bitrates. I know MP3s can be kludged to do some of these, but it's easier just to use Vorbis in these cases.
Our upcoming game will actually be shipping with both MP3 and Ogg Vorbis audio. The MP3 decoder we're using is significantly more efficient than the reference Vorbis libraries, and allows us to play more simultaneously decoded channels. However, if a piece of audio needs to loop, to use multi-channel, or if we're encoding a LOT of it (music, voice-overs, etc), we use Ogg Vorbis.
Honestly, the cost of the license isn't really an issue at all. It's all about what does the job best for us, and MP3 and Vorbis each have strengths and weaknesses.
Irony: Agile development has too much intertia to be abandoned now.
Pirates have the advantage that they don't have to pay for patent licenses, so H.264 and Theora are both "free". But for law-abiding companies like Mozilla and Google, Theora is free and H.264 isn't.
Reread Shaver's methadology:
A keyframe interval of 250 frames was used for the Theora encoding.
10 seconds is absurdly short for any kind of codec test. That's almost as long as the buffer would be, and current Thusndela builds don't include full buffer management. Plus he picked a pretty low motion section of the clip. He should the full clip. Current Theora builds are plenty fast; it'd be faster than realtime on a laptop.
In a real codec compare, CBR is often the best way to see differences between codecs and implementations, since that's where rate distortion really shows its stuff. How well a codec can preserve quality with high motion in a fixed buffer is a key differentiatior.
That said, I believe that the Theora+Vorbis results are substantially better than the YouTube 327kbit/sec. Several other people have expressed the same view to me, and I expect you'll also reach the same conclusion. This is unsurprising since we've been telling people that Theora is better than H.263
His primary quality comparison is between Theora and H.263, not H.264. H.263 is even older than VP3 which Theora is based on. As to H.264 he says:
In the case of the 499kbit/sec H.264 I believe that under careful comparison many people would prefer the H.264 video.
Yep. And it would be a huge differential if he'd picked a more challenging section of the source.
And while it doesn't have any impact on the comparison, no compressionist would use those frame sizes. We always try to round to the nearest mod16 value, so that we have macroblock alignment.
Thus 480x272 and 400x224 would be more efficient choices in both cases. 400x226 is particulary egregious, as it means the codec is really encoding at 400x240 internally with 14 lines of padding.
My video compression blog
> Theora just scores higher on a scoring algorithm when compared ot a single h264 encoder, the open-source x264. It doesn't even do that; it only scored higher when using Xiph's PSNR tool, because it respected a buggy colorspace header written by ffmpeg that didn't match the video. x264 won rather heavily when that was fixed, but /. never retracted the story.
Why won't slashdot let me change my terrible username
This document describes the terms of the H.264 license. The license seems to cover both encoding and decoding.
WTFV. The keyframe interval is 10 seconds but the clip is nearly 5 minutes long.
Where's your evidence? Why is Greg's example odd? Have you done a comparable experiment with a different video clip to justify your 2x claim, or more importantly, show that at the same bitrate Theora looks much worse on your clip?
Xiph's own metrics show a 2x advantage on even a very easy short clip:
http://web.mit.edu/xiphmont/Public/theora/demo7.html
And yes, I've done plenty of my own tests as well on Big Buck Bunny and many other clips.
Why would it, since it didn't at 499Kbps? Or are you claiming that Youtube uses a bad H.264 encoder? Or do you think that example is rigged?
YouTube doesn't use High Profile (no 8x8 blocks or adaptive quantization matricies) or CABAC entropy coding. So they're going to be at least 20% less efficient than the best encodes could be.
Also, they trimmed the clip before the really interesting high motion parts. Most of the shots in the section they did use were static camera, and as animation is noise-free. Toss a nice grainy movie trailer in there and Theora shows basis pattern left and right.
I wish he'd reported the Theora settings used in the encode.
My video compression blog