Ogg vs. H.264 - a real world view
- 3-4-2010
- Categorized in: Encoding your video
Xiph, Ogg and Crossing the Chasm
When comparing Ogg Theora to H.264, most reviewers have focused solely on video quality. But that's only a small component of what it will take for Ogg to achieve mainstream success.
I just finished my first foray into encoding Ogg Theora and I have to say that I was impressed by the technology; especially what's coming. But as someone who once marketed technology products for a living, I was very disappointed with the product offering as a whole. Let me explain.
The review process wasn't exactly a painless birth. Here's how it went. I found an excellent book, Dive Into HTML5 with an online component that identified two techniques for producing Ogg Theora files (ffmpeg2theora, which I tried on Windows and www.firefogg.org). Neither produced a file that met my target data rate and/or played smoothly. Then I went to xiph.org (Xiph is the developer of Ogg), clicked an internal link to another Xiph page that led me to "An implementation of our codecs for Apple's Quicktime and Core Audio." I clicked the link and downloaded the XiphQT encoder, which worked within QuickTime Pro and produced the necessary files.
Encoded file in hand, I proceeded with my quality comparisons with H.264, posted the results, and then quickly learned via comment that the product I had used was out of date, despite being recommended on the Xiph site. So, I tried yet a fourth alternative (ffmpeg2theora on the Mac) which worked, though it was a command line process that was cumbersome at best. Then I re-publshed with the updated findings.
At the same time, another author, KeyJ, produced another Ogg related comparison, and also heard from the Xiph folks that he didn't use the most current Theora encoder, despite using the most recent released version. Instead, he learned "Theora development isn’t on Theora trunk, never has been except for release candidates. Current development is theora-ptalarbvorm." If you click over to the referenced site, you'll see a number of files which I guess you could download and somehow work with, but no finished applications that I could find.
All this reminded me of me of my technology marketing days and the difference between a great new technology and a complete product. Every one loves a great new technology, but smart buyers only want to work with a complete product. While this sounds simplistic, understanding the difference will have a profound impact on Ogg's ultimate success (or lack thereof ) and should shape everyone's thinking about the technology as it exists today.
Let's see why in a brief, but very critical, marketing lesson centered around the technology adoption curve and the theory of crossing the chasm. It's old hat to most technology marketing folks, but perhaps a useful review for many others.
The technology adaption curve
New technologies are adopted by various users according to an "adoption curve" first created by Everett Rogers in Diffusions of Innovations and later perfected (some would say) in Geoffrey Moore's foundational marketing book Crossing the Chasm. I grabbed the figure below from an excellent article in Dr. Dobbs by Scott W. Amber. 
Briefly, as the figure shows, innovators are willing to take a risk on new technologies, as are some early adapters. Once you get to the mainstream marketplace, however, they need much more substantive proof to adopt. Right in the middle of the Early Adopter group is Moore's chasm, the gap all technologies have to cross to ultimately succeed in a big way. Here's what Moore had to say about the chasm:
"[W]henever truly innovative high-tech products are first brought to market, they will enjoy a warm welcome in an early market made up of technology enthusiasts and visionaries but then will fall into a chasm, during which sales will falter and often plummet. If the products can successfully cross this chasm, they will gain acceptance within a mainstream market dominated by pragmatists and conservatives."
Moore's point is elaborated on in this excellent summary from Norway's Alper Celik.
"The key to crossing the chasm was derived by studying the fundamental differences between the last early adopter and the first pragmatist. While the early adopter would purchase a product that could deliver an 80% solution (seeing it as only 20% more to go), the pragmatist takes the position of buying when it is 100% complete (a ‘whole product’ as Moore puts it) and can be referenced as working within their industry."
Ogg is a promising technology that enjoys an ardent band of vocal supporters, but it will never cross the chasm until the product offering is whole. What would a whole product look like in the codec space? Let's take a look using H.264 as a comparative example.
1. A whole product is available as an option in all relevant encoding tools on all platforms.
I can produce H.264 in virtually any encoding tool on the planet, and even more important, inexperienced video folks can do the same. You can't do that with Ogg.
Even more important, because Apple is on the dreaded MPEG-LA H.264 patent pool, there's almost an adversarial relationship between some Ogg aficionados and Apple. Here are quotes pulled from some of the comments to my article.
"Please do not use Quicktime [to encode to Theora], as Apple are a member of MPEG LA, so they have a self-interest in promoting h264, and are actively against Theora. .... As far as I know, there is no available software for Quicktime that implements an even remotely capable version of Theora. If you are at all truly interested in getting a fair and objective contemporary comparison of Theora vs H264, you probably shouldn't be using any Apple platform at all."
Granted, this was only one person, but if it's at all representative of the whole, and Xiph thinks they can succeed without high quality Ogg encoding on the Mac, they're sadly mistaken. In addition, if the software is really that awful, they should pull it from their website.
2. A whole product plays on all relevant target platforms and devices with all relevant browsers.
Ogg's strategy centers around HTML5, which hasn't been adopted by Internet Explorer, which owns a 60+% market share but can't play Ogg files natively without a plug-in from Google. Why would I want to load a Google plug-in to play Ogg, when I can just play H.264 in Flash? Safari is HTML5 compatible, but can't play Ogg files - only Firefox, Opera and Chrome can.
Through the Flash plug-in, H.264 plays on (sing along with me, you know the words) 98% of all connected computers. If you don't like Flash, there's Silverlight, and if that doesn't work for you, QuickTime. And, both Safari and Chrome play H.264 natively in HTML5.
H.264 also plays on virtually all portable devices, including all cell phones that support Flash and (I think) Windows Mobile, as well as devices from Apple, Microsoft, Creative Labs and many others. Ogg should play on any device that can load a Firefox browser, but that's about it.
3. A whole product is supported by extensive hardware for live encoding and accelerated decoding.
Today, I can buy H.264 live encoders from any number of companies -- type in "real time H.264 encoder" in Google, and you get 105,000 hits. Type in "real time Ogg encoder" or "real time Theora encoder" and you get no direct hits. Devices may be coming, but they're not here yet, which means live webcasting with Ogg isn't here yet.
With Flash 10.1, Adobe will utilize graphics hardware to decode H.264 on Windows computers, Android phones and many others platforms, though sadly not the Mac. Apple with Safari is already decoding H.264 directly on supported graphics cards on the Mac. To the best of my knowledge, there are no graphics cards that support Ogg playback acceleration.
4. A whole product is supported by advanced features like adaptive streaming.
2010 is the year that adaptive streaming will become mainstream, enabling higher quality of service to a broad range of viewers. H.264 is supported in every adaptive streaming scheme, and even has its own scheme called scalable video coding.
Adaptive streaming is in discussions for HTML5, but that's it, and any technology dependent upon HTML5 may be a long time coming. Long story short, if you want to implement adaptive streaming to a broad group of viewers, you can with H.264, and can't with Ogg.
5. A whole product is supported by the most relevant streaming services.
Another significant trend in 2010 will be the rise of the Online Video Platform, which makes sense for most non-media companies. Why buy server hardware and software, and hire the necessary talent, when you can just pay some third party $1,000/month to do all that for you?
Today, all OVPs distribute Flash only video, and virtually all support H.264. Even Microsoft has issues here, since none (AFAIK) support Silverlight, and none (AFAIK) support Ogg. So even if you want to use Ogg, if you hire an OVP to handle your streaming, it's likely not a supported output.
What's the point?
Let's start with what isn't the point. The point IS NOT that Xiph is doing anything wrong -- all technology organizations have to make the tough transition from technology to whole product, and it's never pretty early on. It's NOT that Xiph or Ogg should be criticized for where they are in the product life cycle, any more than you'd criticize an 6-month old baby for not walking and talking. It's NOT that what they have to accomplish to gain the necessary market penetration is easy, or that there won't be hurdles.
The point IS that Ogg is NOT a "whole product" today and WON'T cross the chasm between early innovators and the mass market until it is. To a degree, the loud cheering that you hear with each Ogg release is at once essential and irrelevant - achieving relative parity in terms of quality is something, but it's not the only thing.
Until Ogg achieves significant success in most of the other areas discussed above, talking about quality is interesting, but a very small part of the much bigger picture that's yet to be painted.




"At the same time, another author, KeyJ, produced another Ogg related comparison, and also heard from the Xiph folks that he didn't use the most current Theora encoder, despite using the most recent released version. Instead, he learned 'Theora development isn’t on Theora trunk, never has been except for release candidates. Current development is theora-ptalarbvorm.' If you click over to the referenced site, you'll see a number of files which I guess you could download and somehow work with, but no finished applications that I could find."
You by and large won't find any finished applications in a source code repository. You'll find source code from which you can build an application. http://svn.xiph.org/ is the HTTP frontend to Subversion, which is the verison control system Xiph uses.
The premise of KeyJ's article was that he was comparing the latest "in development" versions of encoders. That is, he built his encoders from the latest, unreleased source code for each particular codec. In the case of Theora, he didn't get the source code from the correct part of the source code repository. I don't think this has any meaningful bearing at all on the "marketing" of Theora. It's not an end-user problem, it's a software developer problem. If you're going to work with the source code of any project you necessarily have to take the time to understand how the development process works for that project. KeyJ didn't do this.
"Ogg's strategy centers around HTML5, which hasn't been adopted by Internet Explorer, which owns a 60+% market share but can't play Ogg files natively without a plug-in from Google. Why would I want to load a Google plug-in to play Ogg, when I can just play H.264 in Flash? Safari is HTML5 compatible, but can't play Ogg files - only Firefox, Opera and Chrome can."
Ogg Theora video can also be played in Internet Explorer with Cortado (which is a Java applet developed originally by Fluendo but now maintained by Xiph) and also with Nuanti's Silverlight based Theora decoder. As Safari uses the QuickTime framework for its HTML5 video support, Ogg Theora can also be played in Safari if XiphQt is installed.
Xiph's codec pack for Windows also includes a (very) experimental plugin for Ogg Theora to support a semblence of HTMl5 video in IE.
"Today, I can buy H.264 live encoders from any number of companies -- type in 'real time H.264 encoder' in Google, and you get 105,000 hits. Type in 'real time Ogg encoder' or 'real time Theora encoder' and you get no direct hits. Devices may be coming, but they're not here yet, which means live webcasting with Ogg isn't here yet."
The Open Video Alliance recently did a live webcast Lawrence Lessig's lecture on copyright, fair use, and open video using Ogg Theora streamed via the Flumotion streaming server. Flumotion itself is open source but you can buy streaming services and products based on Flumotion from Fluendo if that's what makes sense for a particular use case.
"Until Ogg achieves significant success in most of the other areas discussed above, talking about quality is interesting, but a very small part of the much bigger picture that's yet to be painted."
For me, the biggest part of the picture is that Ogg Theora is the most capable royalty free video codec available today. One of the fundamental design principles behind the web, as outlined by the World Wide Web Consortium's patent policy, is that web standards must be able to be implemented on a royal free basis. Royalty free is what makes the web work. Our page formats are open, our style formats are open, and our image formats are open. Why should our video formats be any different? It's simply not worth compromising the open web by embracing closed formats. Closed formats like H.264 and closed technologies like Flash are diametrically opposed to the goals of the web of today and should not be part of the web of tomorrow.
Good commentary, thanks for taking the time.
>>The premise of KeyJ's article was that he was comparing the latest "in development" versions of encoders. That is, he built his encoders from the latest, unreleased source code for each particular codec.
Fair point. Still, has Xiph removed the QuickTime encoder from their web site or is it still available to viewers? Is the command line encoder still the easiest encoder to use? Any good GUI's on Windows or Mac? Can you possibly argue that Ogg encoding comes anywhere close to the ease of encoding H.264 at this point?
>>The Open Video Alliance recently did a live webcast Lawrence Lessig's lecture on copyright, fair use, and open video using Ogg Theora streamed via the Flumotion streaming server. Flumotion itself is open source but you can buy streaming services and products based on Flumotion from Fluendo if that's what makes sense for a particular use case.
That's encouraging. Was it available in adaptive streaming, or via any OVPs? Any commercial webcasts you can point me to that used Ogg?
>Ogg Theora video can also be played in Internet Explorer with Cortado (which is a Java applet developed originally by Fluendo but now maintained by Xiph) and also with Nuanti's Silverlight based Theora decoder. As Safari uses the QuickTime framework for its HTML5 video support, Ogg Theora can also be played in Safari if XiphQt is installed.Xiph's codec pack for Windows also includes a (very) experimental plugin for Ogg Theora to support a semblence of HTMl5 video in IE.
The big rap against Flash is that it's a plug-in. Why would I want to download a plug-in to avoid downloading a plug-in? This is a duct-tape-based approach that obviates the key benefit of HTML5, which is plug-in free video support. So far, HTML5 hasn't been able to provide that.
In addition, what's the penetration of these plug-ins? It's tough to even recommend Silverlight for general purpose use unless you're streaming content as compelling as the Olympics because penetration is under 40%. What organization that wasn't selling to technology loving early adapters could ever consider Ogg at this point for ANY commercial use?
What's the value proposition to a commericial enterprise? We stream lower than H.264 quality video to a very small subset of your potential target viewers, very few if any of which are in the mainstream? 65% of them can't watch unless they download a plug-in they've almost certainly never heard of?
>For me, the biggest part of the picture is that Ogg Theora is the most capable royalty free video codec available today. One of the fundamental design principles behind the web, as outlined by the World Wide Web Consortium's patent policy, is that web standards must be able to be implemented on a royal free basis. Royalty free is what makes the web work.
I just don't agree. The web isn't about esoteric goals, it's about commerce. ESPN (and all similar publishers) puts their video on the web so they can sell ads. They need to know that an overwhelming majority of potential viewers can actually watch the video. ESPN, and sites like it, can't standardize on HTML5 or Ogg until they know that they can convince their advertisers that they're reaching their potential viewers in commerically relevant quantities.
Flipping it around, the average consumer doesn't think web standards should be free. Heck, they've paid for their computers, paid for their broadband, paid for their cell phones, and paid for their iPods, and they just want the video to play. If that video costs Apple, Microsoft and Google $5 million/year to include in their browser, so be it. Near as I can tell, none of those companies are suffering from that decision.
The point of the column is to focus on the whole product, and the value proposition to the potential commerical user. No one can possibly argue that Ogg is whole product that any major enterprise should implement tomorrow. The bulk of the commentary I've seen on Ogg has focused on quality, and that's only a small component of the overall story.
Jan
"The big rap against Flash is that it's a plug-in. Why would I want to download a plug-in to avoid downloading a plug-in? This is a duct-tape-based approach that obviates the key benefit of HTML5, which is plug-in free video support. So far, HTML5 hasn't been able to provide that."
Of course you wouldn't want to download a plugin. The point is while IE remains behind the times (as it often is), you can work around it. The video tag (and HTML generally) is designed to fail gracely. You can implement the video tag now and browsers that support native playback will play the video natively. Browsers that don't support the video tag can fall back to an alternative player based on Java or Silverlight. IE will support the video tag one day. Until it does, there are options available.
HTML5 does provide plugin free video support. It's just a shame that a major browser doesn't support the video tag at all at present. IE will, no doubt, support the video tag eventually.
"I just don't agree. The web isn't about esoteric goals, it's about commerce. ESPN (and all similar publishers) puts their video on the web so they can sell ads. They need to know that an overwhelming majority of potential viewers can actually watch the video. ESPN, and sites like it, can't standardize on HTML5 or Ogg until they know that they can convince their advertisers that they're reaching their potential viewers in commerically relevant quantities."
I think this is a narrow prespective. I'd hardly describe one of the guiding principles that has lead the web to the enormous success that it has as being "esoteric". The web isn't built on esoteric goals, it's built on pragmatism. Being royalty free is a big part of that pragmatism.
Consider, would ESPN have any viewers to reach on the web in the first place without the explosive growth of the web that has been enabled by its royalty free underpinnings? Without royalty free protocols (HTTP, HTTPS), formats (HTML, CSS, PNG, JPG), and languages (JavaScript) the web wouldn't have the significant commercial revelance it has today because it quite simply would never have achieved the growth that it did.
Here's what Apple says about the W3C's patent policy:
"After careful consideration of the draft patent policy, Apple believes that it is essential to continued interoperability and development of the Web that fundamental W3C standards be available on a royalty-free basis. In line with the W3C’s mission to 'read the Web to its full potential,' Apple supports a W3C patent policy with an immutable commitment to royalty-free licensing for fundamental Web standards. Apple offers this statement in support of its position."
And Apple's right. Without royalty free you have hugely diminished interoperability and without interoperability you don't have the web, you have something else. It's just a shame that Apple doesn't hold true to this "immutable commitment" in all aspects of their online business.
I'm stunned that you would cite Apple in support of the W3C patent policy. I take it that it's because you couldn't find any supportive quotes from Henry Ford, or Ayn Rand, or Gordon Gekko.
Again, there's a huge gap between "options are available" and a relevant installed base. You're not getting that.
Imagine yourself walking into a corporation trying to sell Ogg today. Imagine the conversation.
> so, how's the quality? "well, not as good as H.264, but if you download the development code from the right trunk, and compile it correctly, it gets closer."
> Huh? What's a trunk? Well, my video folks work on a Mac and have a wonderful GUI-based batch encoder with watch folders and multiple format support. How do they encode these Ogg files? "Well, we have a lovely command line encoder that works on Windows, Mac or Linux."
> Command line? What's a command line? OK, so I assume this video will play everywhere, right? "Not exactly. In fact, folks using IE will have to download a plug-in they've never heard of from a site they've never been to before."
>Hmm. Tell you the truth, I've been thinking about using an online video provider. Do any currently work with this Ogg? "Not that I'm aware of."
> Hmmm, what about adaptive streaming? I've heard that's the next big thing? Can I do that with Ogg? "uh, no, sorry, but some of our developers talked about doing it last December."
>What about advertising support and analytics? I've got a bunch of that built with Flash already. What do I have to do to work with your stuff? "Well, you can recode in Javascript from scratch."
> I'm not getting it - why should I work with this Ogg? "Because Apple says so."
Ogg quality has improved dramatically. Until you can give this business person better answers, it's pretty much irrelevant.
Jan
I think you are somehow both right. The situation being that, as with many other free software projects, it will take some time, and probably some corporate efforts, before we see a complete ecosystem of products and offers around the Ogg Vorbis/Theora formats.
We've tried going in that direction by funding Theora development and RTP specs for Vorbis and Theora, our Cortado effort was also a good move in my opinion but this is still not enough. We would need to see some good encoding tools for Windows, OS X, server transcoders, etc... Our Flumotion streaming server (Open Source) is not really enough to create that.
Fluendo and Flumotion are more than willing to push in that direction but the market is not so demanding yet and we don't receive enough support from others to invest massively in that direction.
Maybe Dirac will have a change as well, having the BBC has a godmother can help sometimes :)
Julien Moutte,
FLUENDO S.A.
"Maybe Dirac will have a change as well, having the BBC has a godmother can help sometimes :)"
Yes, I agree. I think Dirac will have a chance. The latest release is very promising. Personally, I also think it's highly likely that Google will release their new acquired VP8 codec on an irrevocable royalty-free basis. Google's position on open standards is well known and they can't achieve those goals with H.264. If Google moves to an open royalty-free format, Vimeo will quickly follow, and they'll both join others such as DailyMotion and Wikipedia in the world of open video.
I suspect that sooner rather than later open royalty-free video and audio will be the most common way things are done with web video.
Thanks for coming by and sharing your views. It's never easy to break into a market like this and I don't underestimate the difficulty or demean the effort.
Sometimes, if you keep charging windmills long enough, you actually knock them down. And, as you say, sometimes having deep pockets helps as well.
I personally think - don't know - that VP8 from Google is best chance for any open source codec to make an impact, a point that the next post makes as well. But I'm not sure why they would do that.
Thanks again for sharing your thoughts.
Jan
"I personally think - don't know - that VP8 from Google is best chance for any open source codec to make an impact, a point that the next post makes as well. But I'm not sure why they would do that."
Because Google believes that open systems win. From the post on Google's belief in open standards:
"So if you are trying to grow an entire industry as broadly as possible, open systems trump closed. And that is exactly what we are trying to do with the Internet. Our commitment to open systems is not altruistic. Rather it's good business, since an open Internet creates a steady stream of innovations that attracts users and usage and grows the entire industry."
If the company is so committed to "open" why not let the world know?
Jan
"Again, why not just tell everyone now? If VP8 becomes the open source codec of choice in nine months, and Ogg and Dirac go away, it's nine months wasted effort."
It isn't nine months of wasted effort. Ogg and VP8 aren't the same thing. VP8 is a video codec and will need an audio codec and a container format to go along with it. Since Ogg and Vorbis are already widely supported, an easy approach for Google would be to package VP8 in Ogg and use Vorbis for audio.
As for Dirac and Theora, more choice is always a good thing. There's broad support for multiple open, royalty-free image formats (JPG, PNG, SVG, and even GIF is royalty free these days). There's broad support for multiple open, royalty-free audio codecs (Vorbis, Speex). There's no reason why there can't be broad support for multiple open, royalty-free video codecs (Theora, Dirac, and all signs point to VP8).
"If the company is so committed to "open" why not let the world know?"
They only completed the acquisition of On2 Technologies on the 19th of February. Nevertheless, from the acquisition announcement:
"We're excited to welcome the On2 team to Google and to continue to enhance the video experience for users on the web," said Sundar Pichai, Vice President of Product Management at Google. "Through rapid innovation in browsers and web standards, the Internet is becoming the leading platform for development. We believe On2's engineering talent and technology will be an incredible asset for us as we work to improve this platform."
I think that's a pretty clear statement of intent.
Good point on VP8 I agree.
Not that this has anything to do with you, but I have to laugh any time I read anything about Google being "open," since they're the most opaque company I've ever seen. If they're so "open," why not share their plans for VP8? Cripes, even getting details about the optimal way to produce video for upload to YouTube, or even what codecs they're using for some YouTube streams is amazingly difficult to get.
The other point is that H.264 has a $5million/per year per company cap. So when you say that Google can't achieve those goals with H.264, I'm not sure I agree.
But, I'm guessing that you're right, and VP8 will soon be open sourced. We'll see.
Thanks for writing in.
Jan
"If they're so "open," why not share their plans for VP8?"
Well, if you're looking for a time frame, I'd speculate that they'll announce their plans prior to Internet Explorer 9's release. IE9 supports HTML5 video and will probably be released within 9 to 12 months. Microsoft will be making a number of preview releases prior to the final release. So let's say Google will announce their plans within 5 months, which will give Microsoft enough time to support an open video based YouTube out of the box.