WebM vs. H.264 on the desktop: The numbers

The discussion on Google's decision to remove H.264 from Chrome is still raging, and an argument that is brought up a lot is market adoption.

Now, the primary video to serve video on the web today is Flash. It doesn't really matter which codec it's using because it's played through Flash anyway. But what about native HTML5 video support? Which format will have the widest support in the market? …

Since browser statistics are highly unreliable, this is mostly a theoretical exercise. However, a lot of people like to refer to these numbers, so let's play the game and look at them in more detail. The source with the most detailed statistics is StatCounter.

So, the numbers…

The Totals

At first glance, the situation is looking very good for the H.264 camp. Internet Explorer is still the #1 browser worldwide, and Safari and IE together have well over 50% market share, according to StatCounter.

On the other hand, Opera, Chrome and Firefox have a combined market share of more than 40%.

As you can see, H.264 seems to have a slight edge here.

Native Numbers

But wait. There's a problem here. Only Opera, Chrome and Safari currently have final versions with native HTML5 video support with either H.264 or WebM support! IE9 and Firefox 4 are both still in beta. We can't just look at total numbers. We need to break down the numbers to specific versions, so that we can see the actual coverage of native video.

When we do this, an interesting picture emerges. Users of certain browsers upgrade much faster than users of other browsers. Someone actually analyzed this, and as you can see, far fewer users of the H.264 browsers run the latest version, compared to the browsers that support WebM.

What does this mean?

Trouble for H.264

It means that the adoption of upgraded versions is a major hurdle for H.264, and those who hoped for IE9 to save the day for the closed codec will be in for a nasty surprise.

If we look at the graphs at StatCounter, it is clear that both Firefox and Chrome experience rapid adoption of the latest version. Within 4 months of its release in January 2010, almost all Firefox users were on version 3.6, and nearly all Chrome users were on version 7 the month after it was released (October 2010).

On the other hand, if we look at the historical adoption rates for IE, they are considerably worse. IE8 was released in March 2009, and it took nearly 10 months for IE8 to overtake IE7!

This means that when Firefox 4 is released with WebM support, most Firefox users will probably be using it within a few months. On the other hand, IE9 is not likely to make a big difference for H.264 until a significant amount of time has passed.

More trouble for H.264

But the bad news for H.264 doesn't end here. You see, IE9 will only be available for Windows Vista and Windows 7. But Windows XP still makes up around 50% of the desktop OS market!

Sure, it is slowly declining, but combined with the slow migration to the latest IE version, this causes even more delays for native H.264 adoption in the browser market.

Possibly even more trouble for H.264

Will the bad news for H.264 ever end? One might perhaps have hoped that this was it, but there's potentially even more.

First some background: Opera, Chrome and Firefox are cross-platform browsers. This means that a lot of things are designed in a way that makes it easy to port them to different platforms. In some cases, this means sacrificing some OS integration. On the other hand, Safari and IE only have to deal with one platform (Safari on Windows doesn't really make much of a difference), so these can easily integrate into the OS of choice. This includes supporting any video codec installed on the system.

So while it might not be possible to add support for native H.264 in Opera, Chrome and Firefox beyond the default codecs in the browsers due to design choices that have to do with cross-platform portability, supporting WebM in Safari on Mac and IE on Windows could be as easy as installing it as a system codec.

Conclusion: The Numbers

As you can see, WebM has a huge advantage when it comes to browser adoption.

IE users are notoriously slow at upgrading, and IE9 will only be available for Windows Vista and Windows 7. Half of all Windows users will not be able to upgrade to IE9!

On the other hand, recent versions of Opera and Chrome already support WebM, users are upgrading to these versions much faster than they are upgrading Safari or IE, and Firefox 4 is likely to be released in the near future, thereby boosting the market share of WebM-supporting browsers to possibly more than 30-40%.

This leaves Safari basically carrying the torch for H.264 with little help from Internet Explorer. Within the next 12-24 months, H.264 might be lucky to have a market share above 10%!

As a final nail in the coffin, IE9 and Safari, being bundled with operating systems, are likely integrated with those operating systems in a way which makes adding WebM support as simple as installing it as a system codec.

The numbers are clear

If we are to trust the numbers from StatCounter, WebM basically owns the desktop browser market, or will, in the near future. H.264 has major problems due to slow uptake of newer versions of supporting browsers, and the fact that half of all Windows users are still on XP will be a major headache to Microsoft and, ironically, Apple.

Advertisements

73 thoughts on “WebM vs. H.264 on the desktop: The numbers

  1. Right now, if you want to reach every desktop browser you use Flash.In the future, if you want to reach every desktop browser, you use Flash or WebM. Flash can play H264, so that's covered. And then 80-90% of the browsers that support HTML5 video will support WebM exclusively.WebM for 80-90%. Flash for the rest (Safari and IE9, basically). If IE9 ever reaches significant market share, there will be plugins for it that will add WebM support anyway.Flash will support WebM as well, so you only have to encode WebM videos. Never mind the fact that video sites already encode several times for different bandwidths and screen sizes.

  2. Flash does not support webm at the moment. But it does support h264. So at the moment, let's say that 95% of users can watch h264 videos on their desktop browsers while only 16% can watch webm videos. That means that for the moment a content provider is not going to embed webm videos to a website. If he wants to reach people, he needs h264. He doesn't have a choice.With Firefox supporting webm, there will still be 95% of users able to watch h264, but only 47% able to watch webm. So why would anyone bother to encode webm if h264 is enough?In future, flash players will support webm. When that happens, webm will be supported on every desktop browser. But h264 will be supported everywhere. So why should anyone bother encoding webm if h264 is enough?You have to understand that most users do not care whether they watch webm or mp4 or flv or swf or ogg. It just doesn't matter to them. They want to watch their video, that's all. That's why a normal user will not download a plugin if he can watch the video with a flash player.There is no reason for that. He is not going to wonder what allows him to watch the video. He will just watch it.And basically, that means that what Google did by introducing webm is to make sure that Flash will remain the standard way of playing videos (mostly h264) for a very very very long time. By creating one more video format, Google didn't give a blow to h264, it gave a blow to html5, further complicating the situation.

  3. Exactly. Flash does H264, so you can just serve existing H264 through Flash while WebM can be used for native video (because that's the majority of the desktop market).95% of users will not be able to watch native H264. Only Safari and IE9 support it today, and they are something like 5% combined, and IE adoption is amazingly slow. On the other hand, Chrome users are mostly upgraded within a few weeks, while Firefox users will be upgraded to version 4 within a couple of months of the release.So within the next 6 months, H264 supporting browsers will have maybe 5-10% of the market while WebM will have something like 40-50% of the total desktop browser market.Google did not make sure that Flash will remain the standard way of playing videos. They made sure the closed H264 didn't hijack the web and close it.

  4. But that's not true, Chris. 95 % can watch h264. H264 works on Safari, Internet Explorer, Chrome, Opera, and Firefox. And that is not going to change because Chrome, Firefox and Opera all have a flash player and they will not drop it in years. Even if they say that they don't have native support for h264, they will still read h264 through the Flash player. And the user will not have to download anything to watch h264. It will just work like it does now.And in 6 months, it will be the same. All the browsers will still have a flash player and they all will read h264 either natively (IE and Safari) or through the player (Chrome, Firefox and Opera).On the other hand only 16% people right now can watch webm. Andin 6 months it will be 47%. And that's why no content provider will choose webm over h264. Unless he doesn't want people to see his video.Google doesn't care about open web. That's another discussion and i am not going to enter into details. But just google "Google Verizon" and you will see how much google cares about a free web. Or read the new york times of last august.http://www.nytimes.com/2010/08/05/technology/05secret.html

  5. Sure, 99% can watch video through Flash, but that's not relevant to the coverage of native video.The point is that if sites want to use native video, they will choose WebM because 90% of the browsers out there with native video support will only support WebM.What you think Google cares about is not very relevant. It seems like just another red herring. And off-topic.

  6. I think that content providers will rather choose what people can watch. And that is likely to be flash+h264 with a fallback to native h264. But Chris, I guess none of us will ever manage to convince the other one πŸ™‚ And for the moment there is no way to prove that either one of us is right or wrong…So… shall we stop arguing and just wait it off and see?? Honestly what i hope is that this whole discussions around h264 and webm will not finally defeat the purpose of html5…

  7. For native video, it's likely to be WebM, with a fallback to Flash and whatever that uses. That's because 90% of the HTML5 video-enabled desktop market will use WebM.H264 would, in fact, defeat the purpose of HTML5 (an open web standard).

  8. What are you talking about? Right now if you tried webm with fallback to flash, you wouldn't be able to see anything at all on Safari and Firefox. It would work only on Internet Explorer, Chrome and Opera. And soon, it would start working on Firefox but wouldn't work anymore on Internet Explorer. That wouldn't make absolutely any sense.Besides for the unavoidable flash fall back you would still need h264. So why encoding twice if one is enough to reach more people? H264 is the only chance html5 has right now, because mp4 is the only html5 format that can reach everyone no matter what browser or what device. And that will likely never be possible with webm. Webm may reach every desktop browser one day (when Adobe will decide so – funny you talk about free web when webm's only chance is Adobe). But it will never reach every device. So the easiest solution to reach maximum people will stay h264.Btw you haven't answered my question. Why would anyone bother encoding webm for a limited number of people while h264 will work for everyone starting from today?And actually, starting from today is not even accurate because h264 became to normal way of encoding videos 3 years ago.

  9. Flash doesn't work in Safari and Firefox? Strange claim.H264 can't reach everyone through HTML5 video. It can't reach Firefox, Chrome and Opera users. It can't reach the vast majority of HTML5 video-enabled browsers.H264 is a closed standard. It's incompatible with an open web. It's incompatible with HTML5.People would bother producing WebM videos because it's the new open video format, and completely free. Serving H264 videos means paying the MPEG-LA.

  10. Not a strange claim, the simple truth. Chris, if you tried webm with flash fallback, nothing would happen on safari and firefox. 100% sure. Because the fallback only works if the browser does not understand the first tag. In other words, as for today, Safari and Firefox both support the html5 video tag and would not fall back to flash. As both are not able to read webm, Safari would display a white box and Firefox a grey box with a cross. Nothing strange in that, just the simple truth. If you don't believe me, try. Or just google it.For the moment, the way to go if you want everyone to see your videos is flash with h264 + native h264. Would work everywhere and extremely easy to implement. I do agree with you that h264 is proprietary. But for the moment, the only other option if you want everyone to see your video is flash with flv + native h264. And unfortunately flv is just as proprietary, of less good quality and doesn't work with html5.Html5 has nothing to do with free or closed web. It's just one of the languages browsers understand.Wrong. H264 is proprietary but free to use on the web. You can put as many h264 videos on the web and not have to pay a cent. That this will change in future is, for example, is less likely than webm be hit by a lawsuit because it breaks patents. In fact, google stated that it wouldn't take any responsibility in case of lawsuit. Quite strange, isn't it?

  11. If you use WebM with Flash fallback, it will work fine in Firefox. Safari is evil because it only supports the closed H264, so I don't really care much about it.HTML5 has got everything to do with an open web because the open web is based on open web standards, of which HTML5 is one. And H264 can never be one or part of one.

  12. Firefox supports Flash.WebM with Flash fallback will work for all browsers. It will never fail in any browser.It doesn't matter if Flash uses H264. It's still just a plugin. You encode WebM as much as you can because it's a free and open format, and will be supported by 90% of the browsers that support HTML5 video.HTML5 includes the video tag, and it was originally supposed to define a baseline codec. But H264 activists like Apple refused, and thereby sabotaged the standard. The point is that video is now part of the web, and the web needs to stay open. H264 threatens that.A friend who doesn't know anything about the web will just upload to an existing service. Normal users won't be encoding their own videos for the web.

  13. No, it doesn't work on firefox because firefox doesn't support webm as for now. But it will soon.For the moment, webm with flash fallback will work only on Chrome, Internet explorer and Opera. No, Safari and no Firefox. Soon it will work on Firefox, but it won't work any more on Internet Explorer. And for the flash fallback, you will need h264 anyway. So why bother encoding webm? Maybe you don't care about people watching your videos. But most content providers care. That's why they will choose h264.Html5 is a language that allows browsers to render web pages. It works just fine with h264.But let's see how honest you are. Let's imagine a friend of yours who doesn't know anything about web has a video. He doesn't care about formats, but he wants as many people as possible to see the video. He asks you for advice this evening. What do you tell him?

  14. You have no idea what you are talking about. Just google, for Christ's sake.Firefox does not support webm for the moment and there is nothing you can do about it. It's a facthttp://www.firefox.com Sorry…Flash fallback will not work if the browser supports the video tag. There is nothing you can do about it. It's not sth you can decide, Chris, it's a fact. It doesn't work… Fallback only works for browsers that don't support the video tag. Just google. Webm with flash fallback right now will fail with roughly 36% of users: Firefox and Safari.Sorry.Sure it will be supported on 90% of the browser the day Adobe will decide so. That's to say with a flash player. But h264 will be supported on everywhere.. Easier.What are you talking about? Steve Jobs and Apple were the first ones to push for html5, Chris. http://www.apple.com/html5/In fact they went so far to not allow any flash player into a part of their devices. And unfortunately they are the only ones to do that.The web is a tool for everyone Chris. And it's full of normal people uploading their videos: blogs, forums, family websites… So answer honestly. What would you tell a friend who wants to upload a video for as many people as possible? How honest would you be to him? I suppose he'd better not ask you, right? πŸ˜‰

  15. Originally posted by Hugo2006:

    You have no idea what you are talking about. Just google, for Christ's sake….Flash fallback will not work if the browser supports the video tag

    Sorry Hugo, but perhaps you should actually try these things out before you go mouthing off about others not knowing what they're talking about. HTML5 video would be pretty awfully limited if it didn't allow fallback content for browsers that DO support the video tag. Of COURSE Firefox and Safari will both play the Flash fallback if they don't support the format used in the video tag. I know the HTML5 authors have made some pretty poor decisions but that would've been an insane oversight if that didn't work πŸ˜›

  16. Bad luck. I do have a website with videos and it doesn't work. Flash fallback only works when the browser doens't understand the video tag.Oh, one more thing. I prepared a test page just for you two. It's a page with Chris' solution: native webm + flash fallback. (check the source code if you don't believe it)It doesn't work with the latest safari (5.0.3) and it doesn't work with the latest firefox (3.6). 36% of users left out unless they bother downloading plugins, which a normal user won't do. You should check these things out before mouthing off blablablahttp://web.me.com/mi_men/testtesttest/webmtest.htmlSorry…

  17. I think it's possible to use the fallback for Firefox / Safari, because it's possible to detect whether the browser supports it or not.It's just the actual method you're using (which is videoforeverybody from what I saw) is not powerful enough to do the job properly.That doesn't mean it's impossible.

  18. It is impossible unfortunately. And that is because the browser takes the first tag it understands. If you put html5 first, it will choose the html5 and only browsers which do not understand html5 will fall back to flash.The opposite is true also: if you choose to put flash first, the browser will only fall back to html5 if it doesn't support flash (some of apple's devices).If you don't believe me, just ask firefox support:http://support.mozilla.com/en-US/chat?new_chatActually the video comes from videoforeverybody, not the code. But videoforeverybody's code is actually totally correct. It the same you would find on w3c's page: http://www.w3c.orgActually there is a solution if you want to avoid flash as much as possible and that would work from today. It is to usenative h264 + native ogg + flash with h264.In that case you would use html5 on chrome, firefox, opera and safari. And only flash in IE.That's fro example what i do on my website.Later when firefox will support webm and IE h264, it will be possible to replace the ogg file with a webm and completely drop the flash fallback, as long as you don't care about older versions of IE.The problem is that I don't think most content providers will want to encode h264 + ogg or h264 + webm. They will rather choose flash with h264 + h264 html5 fallback because they will need only one format, that will work on every desktop broswer and more…And that is also why i said that google put html5 years back. Not because i have sth against webm. But because it was already difficult to get rid of flash with Google, Microsoft and Apple agreeing on h264. Now that Google dropped it's support for h264, the only one laughing is Adobe…

  19. Originally posted by Hugo2006:

    And that is also why i said that google put html5 years back. Not because i have sth against webm. But because it was already difficult to get rid of flash with Google, Microsoft and Apple agreeing on h264. Now that Google dropped it's support for h264, the only one laughing is Adobe…

    flash can do some h.264 playback, tho the price is the big issue with h.264What might help is for there to be a DRM version of WebM for content providers who want to be able to protect their content

  20. Originally posted by Hugo2006:

    It is impossible unfortunately.

    You do like to jump to conclusions. It's not default behaviour, mainly because the spec. is designed with an ideal of a common codec in mind – see this for details of that. Instead, you just use canPlayType (as that list item mentions). Here's a simple example of something you could try dropping in for your posted testcase above (for demonstration purposes only):

    <script>//<![CDATA[
    
    (function(){
      var v = document.getElementsByTagName('video'),
          i = 0, l = v.length,
          detect = function(v){
            var s = v.getElementsByTagName('source'),
                i = 0, l = s.length;
            
            for(; i<l; ++i){
              if(v.canPlayType(s[i].getAttribute('type'))==''){
                v.parentNode.replaceChild(
                  v.getElementsByTagName('object')[0].cloneNode(1),
                  v
                );
                break;
              }
            }
          };
      
      for(; i<l; ++i){ detect(v[i]); }
    })();
    
    //]]></script>
    
  21. Thank you lucideer! I didn't bother to do the actual script because I think he wasn't worth it. Maybe he can see his mistake now. πŸ™‚

  22. Originally posted by Hugo2006:

    Firefox does not support webm for the moment and there is nothing you can do about it.

    No one said it did.

    Webm with flash fallback right now will fail with roughly 36% of users: Firefox and Safari.

    No, it will not. But all of this is quite irrelevant, since Firefox 4 will be out soon, and most Firefox users will have switched after just a few weeks.

    Sure it will be supported on 90% of the browser the day Adobe will decide so.

    No, this is about native video. WebM will have support from 90% of the native video browsers.

    But h264 will be supported on everywhere.. Easier.

    It won't be supported by the majority of the browsers with native video support. Sorry.

Comments are closed.