Mozilla: Stick to Your Ideals, Shun H264
osnews.com
osnews.com
The problem is that there's no standard codec for HTML5. The main contestants are H264 and Theora, and so far, it seems like on the browser side of things, Theora is winning out; with a Theora video you can cover Firefox, Chrome, and Opera users - whereas with H264 you miss out on Firefox and Opera users. Since Firefox is by far the largest HTML5 browser, encoding your video in H264 alone is shooting yourself in the foot.
Theora isn't in any position remotely favourable. And definitely not "winning out".
It helps that H264-specific chips are available on just about any mobile device, whereas Theora (or other possible patent-free contestants, like Dirac) does not have this luxury.
Dedicated mobile hardware is a necessity, not a luxury, not until li-ion batteries are superseded by a new breed of whatever with 10 times the charge.
If you're going to pay $10 for a full-length movie, then the H.264 licensing cost is worth it to not have to recharge your phone on the flight. But if you are watching kitteh videos on Youtube, the freedom from cost is worth the tiny additional power draw. Are you really going to watch cat videos for 5 hours?
Anyway, it's a moot point. H.264 has "won" in the sense that if HTML5 video happens, most of it will probably be available in that format. The battle was, in my opinion, basically decided when YouTube led with H.264 in their HTML5 experiment. What Mozilla does at this point is relevant only to people who might want to both watch HTML5 video and use Firefox (i.e. they may not be able to do both depending on Mozilla's choice, and on whether a dual-content model is feasible and desirable for most web developers -- hint: probably not).
This is not that big of a deal. There are at least two other no-cost browsers on the important operating systems that will support HTML5 video, three on Windows.
Youtube + iPhone = win for h.264.
Hardware decoders are an extra bonus, and h.264 is definitely superior quality-wise to theora. Given all that, Firefox without h.264 is likely to lose significant ground to Chrome for that reason alone.
But consider that the battery argument holds for every battery-powered device. Laptops, the iPad / iPhone, and even (to get nitpicky) your electrical bill. It likely also will extend to future gaming handhelds, likely to have a hardware decoder (and why not use h.264? high quality and small size) and run on batteries. The market that is effected is (if not now, likely to be soon) in the hundreds of millions of people, with many many hours each.
I'll be incredibly conservative, and say "a billion hours". Might that be worth reducing power use?
It compresses better so that it's got higher quality per bit, but it achieves that by using more computing power on both the encode and decode end. Consider gzip vs bzip for a very rough analogy, more "cleverness" means smaller files but also more computation time. Or think of the CABAC feature that makes your H.264 file 10% smaller but unable to play on iPhones or other low power devices (http://en.wikipedia.org/wiki/CABAC).
H.264 does have "hardware" assisted decode on iPhones but that's a choice made by Apple not a universal law. Despite the constant repetition of the "fact" that H.264 decode is done in custom silicon, it's simply not true. The same DSP or generic video decode units are used for other codecs (inc VC-1, MPEG-2, MPEG-4 part 2, RealVideo). There's no reason Theora can't be accelerated in the same way and it already has been for the OMAP3 chips (as used in N900s, Palm Pre and the Droid).
Here's a link to a company selling software that decodes High Profile H.264 (amongst many other codecs) on OMAP3 SoCs. How would that be remotely possible if H.264 implementations were entirely custom silicon, unchangeable and non-upgradeable?:
http://www.ittiam.com/pages/news/pres-rel-20100215-omap3-720...
You've been pushing this hardware angle hard, and the point is well taken. Yes, you can accelerate Theora if you write some new software. Not every mobile producer has the luxury of letting a third party do that (or putting the resources to do it themselves). But yes, it is possible.
So now all we're left with is that Theora is an inferior codec: worse quality, worse encoding options, more investment required to make it power efficient on mobile.
The industry has decided—with or without Mozilla—long before this question was ever asked. When Youtube started converting everything to H.264, the biggest player moved over. Now you see other smaller players moving to H.264 as well.
All MozillaCo's refusal is doing is ensuring that Flash continues to exist as a video solution for Firefox, playing H.264 and not giving HTML5 video support. The decision has already been made by the big sites!
The post I replied to, by a different poster, had taken this one step further and decided that Theora's lack of "a hardware decoder" was going to melt the ice caps.
Who knows exactly what these people meant by "hardware" or "dedicated mobile hardware" but the generally accepted meaning isn't something that can be created by writing software. Writing software for already deployed hardware is considered one of the strengths of Free and Open Source software developers. Creating fabs to build silicon chips with 3 year lead times and magically placing them in devices that have already been sold isn't, and I have repeatedly seen this factoid cited as the reason why Theora is hopeless, regardless of all other considerations.
Here's a quote from the latest Daring Fireball piece:
"There are no hardware decoding chips for Ogg Theora. If you want to send video to mobile devices, H.264 is the only practical encoding for the near future."
If this point is now made and widely accepted and the discussion has moved on to "Theora is an inferior codec: worse quality, worse encoding options etc." then that's great. Inferior is pejorative, and I find "worse quality" to be highly misleading, as if every Theora video will look like something on Youtube, but I'd happily admit to "lower quality per bit" (in fact I do in the post you replied to) which is okay because it has other advantages and room to grow.
An exaggeration built on an exaggeration is doomed to fall over. I implied nothing of the sort, and my main goal was just to point out that a hardware decoder is a big deal in terms of battery life, though I admit it didn't come through clearly. Though I will claim that hardware decoding is typically more power efficient than software, and has much more room to improve.
I'm glad to see Theora getting hardware acceleration, especially as I hadn't heard about it, though I'd be curious to see if it'll work on more computers / devices than h.264 is likely to appear on.
As to MPEG-2 and other formats where there are more prevalent hardware decoders, do some comparative runs. h.264 does significantly better per bit from my subjective experiments. It's more future-capable because of that and it's ability to do ridiculously high quality encoding, which combined with a business to hold accountable for problems will likely mean other businesses will choose it over Theora.
Also: accurate.
> and I find "worse quality" to be highly misleading, as if every Theora video will look like something on Youtube,
Also: strictly true that it in apples-to-apples comparisons, H.264 will win in nearly every case. And not by insignificant margins the way audio formats might.
> but I'd happily admit to "lower quality per bit" (in fact I do in the post you replied to) which is okay because it has other advantages and room to grow.
Both are mature video codecs, not kids going to college to find themselves. Unless you are a codec implementor or enthusiast, why do you give a shit how much “room to grow” that your codec has?
Like I said before: All MozillaCo is doing is lying to themselves and ensuring that Firefox uses continue to watch video on Flash—an even more toxic presence on the web. The industry has already moved past them and their reluctance; they're having their argument years too late.
I'd rather watch full-length movies on my laptop, which has a programmable GPU meaning that it's possible for someone to make a hardware accelerated Theora decoder.
Nokia (who are actively campaigning against Theora) do, so voila:
http://www.schleef.org/blog/2009/11/11/theora-on-ti-c64x-dsp...
Since Firefox is by far the largest HTML5 browser, encoding your video in H264 alone is shooting yourself in the foot.
Saying so completely disregards the fact that a lot of, maybe even the majority of, the video on the web now is already in h.264 alone, because that's one of the encodings that the Flash plugin supports. And when we add to that the fact that for the foreseeable future there will continue being a non-insignificant portion of people using browsers that do not implement HTML5 at all, meaning video sites which go HTML5 will still have to provide a some form of a fallback - most logically through a Flash player - a fallback that can easily be served to Firefox and Opera users, exactly the opposite of Thom's statement becomes obvious. Not encoding your video in h.264 alone is shooting yourself in the foot - you'd be more than doubling your storage cost and your video transcoding cost and even increasing your bandwidth bill, for no good reason whatsoever.
"Opera's refusal to license H264 hasn't got anything to do with ideals, obviously (Opera being proprietary and all), but the Norwegian browser makers believes the license is simply too expensive."
a) it's possible to be idealistic about royalty-free standards without also being idealistic about open source (personally I think both are somewhat pragmatic choices too but whatever), and more importantly:
b) Opera was actually the ones who proposed the idea of the video tag and the use of Theora 3 years ago:
- Firefox may be the most used browser on computers, but on mobile devices H264 is clearly winning. And that's where companies want to go right now.
- A lot (the majority?) of online videos are already encoded using H264.
- Flash is also proprietary. So, if you shun H264 for your ideals, you should do so also with flash.
I always thought it was a mistake that <img> wasn't extensible (e.g. Mozilla would display PNG with <img> but for IE you'd need <embed> or <object>) and I think that mistake is being perpetuated with <video>.
Baseline profile JPEG was specifically created to be a royalty-free standard. JPEG-arithmetic is the more advanced optional extension to the format with patent royalties that no-one uses on the web for that very reason.
(Though to be fair to IBM, though the situation appears vaguer than I'd like, it seems they were happy to licence their patents royalty-free, but other companies that also held patents weren't: http://en.wikipedia.org/wiki/Arithmetic_coding#US_patents_on...)
I really hope google is gonna open on2 VP8 : http://www.on2.com/index.php?599
It looks even better than h.264, and it could definately solve this mess
Right now video content owners are encoding video (at a fairly significant cost) to (generally) H264 for streaming media. This includes a wide variety of platforms - not just the web, mobile, internet connected TVs and the new over the top boxes like Roku all support H264 so it has already become a defacto standard for encoding.
Having to re-encode an existing media library to something else like Theora would be a significant cost to content providers with large library archives of content.
I don't understand why most of the tech community thinks that it's a black-and-white situation. I don't believe that any video site will have the guts to force everything to be H.264 HTML5 video - did you forget that 70% of the visitors, those using IE, cannot watch HTML5 video regardless of the codec? No, if they support HTML5 they'll ensure that they have a Flash fallback and things will work fine on Firefox and Opera even if H.264 is the codec.
Nobody is going to lossily transcode to Theora — they'll just use Flash like they have to already.
I can't see flash content now because my OS of preference doesn't have the plugin. I've been doing fine with out YouTube videos and flash sites. I think I will also be fine with a bigger library of content I can see under Theora and more standard compliant sites even if I can't see H.264 content. But I think Firefox should use the available multimedia frameworks in the different OSes and leave video decoding to the users system.
H264 is baked into silicon, there it's already been decided. Holding out for Theora is like holding out for ogg. Yeah, Wikipedia might use it, but no one else will.
Costs them nothing and is a win for most of their users.
Am I missing something obvious? I hope they're using DirectShow and Quicktime already anyway for the hardware acceleration.
i'm guessing this is because linux doesn't have a single video codec API, but everything has to explicitly link against codec libraries...
But browsers are unlikely to use OS-provided libraries for anything downloaded over net, if they can avoid it. If there is a exploit found in third-party code, the browsers cannot work around it and they get the blame (remember the Firefox-on-Windows shell exploit?).
"It's all very well in theory but it doesn't work in practice."
add.: I really misread both source and addressee on this one. Seems I cannot manage both breakfast and news digest at the same time. I'll still stick with H.264, though... and breakfast.
How irrelevant would they like to become?