Google To Drop H264 Support from Chrome

The WebM project – a VP8 video stream and a Vorbis audio stream wrapped in a Matroska container re-branded as a WebM container – launched by Google, openly supported by every major chip maker, is going to be the major codec for Google’s Chrome web browser. Yes, Google is dropping H264 support from the Chrome web browser.

Thom: This is the first step

Ever since Googe’s WebM announcement, it’s been a little bit unclear as to what, exactly, Google’s strategy was regarding web video. Google is often a very practical company and despite some of the more starry-eyed reports out there, open source is by no means the de facto rule within the company or its products. Since Google always supported H264 for HTML5 video, we were receiving mixed signals.

Since Google controls YouTube, it could send a massive shockwave throughout the online community by turning YouTube into a WebM shop when it comes to HTML5 video (while still offering Flash for those that need it). However, that wouldn’t solve one of the bigger problems: the lack of hardware decoders.

This problem is busy solving itself. Right from the start, the list of chip makers supporting the WebM project was long, and included every major chip maker except Intel. This support is now starting to bear fruit: several chipmakers have announced chips with VP8 decoding built-in. For instance, Freescale announced its i.MX6 line of processors last week, which includes several multicore ARM chips with VP8 support built-in. Google states that 20 chip makers have licensed the VP8 hardware decoder already.

This has led Google to make a rather bold move: they have just announced they will be dropping Chrome’s support for H264 altogether, bringing Google Chrome in line with Chromium, the open source project that serves as the base for Chrome. The changes will be implemented over the coming months, but were announced so web developers can take them into account.

“Specifically, we are supporting the WebM (VP8) and Theora video codecs, and will consider adding support for other high-quality open codecs in the future,” writes Mike Jazayeri, product manager at Google, “Though H.264 plays an important role in video, as our goal is to enable open innovation, support for the codec will be removed and our resources directed towards completely open codec technologies.”

If anyone ever had any doubts, they should be gone now: YouTube is moving to WebM, and Google is preparing for it. Adobe was among the first companies to pledge support, so VP8 will be integrated into Flash to serve people without HTML5 video/WebM support. I don’t think it will be long now before the move to WebM will be announced, probably with a multi-year time frame to allow the rest of the world to adapt.

This is the first step. Apple and Microsoft have been warned.

Kroc: What this means for web authors

Regular readers of OSAlert know that we have been opposed to the inclusion of H.264 in web browsers. Since Chrome v3, Google have included both Ogg Theora and H.264 codecs in Chrome for use with the HTML5 <video> element, use of which is becoming more prevalent due to 1. support simply becoming common in browsers and 2. the need to support devices that don’t (and can’t) use Flash.

The HTML5 video element allows developers to specify multiple video sources in different codecs to allow the browser to choose which one it supports. An example HTML5 video element would look something like this:

<video style="width:640px;height:360px;border:px;" controls>
	<source src="video.mp4" type="video/mp4" />
	<source src="video.ogv" type="video/ogg" />
</video>

Browser support is very varied, Firefox only supports Ogg video (plus WebM in Firefox 4), Opera supports WebM and Ogg video but purports to play H.264 video if the user has the codec installed, Internet Explorer has only H.264 support built in, but Microsoft reversed a previous decision to exclude WebM (choosing to play WebM only if the user has installed the codec themselves) and Safari will play anything QuickTime can play, but on iOS this is no more than MPEG4 and H.264.

Because browser vendors vary in what codec they support this has forced web authors to either offer their content in both formats or to use fallback mechanisms that use Flash or Silverlight to play the H.264 video in browsers that don’t support it natively. Google took a pragmatic approach in baking both H.264 and Ogg Theora into the browser, the only vendor to do so–playback in Opera and Safari is dependent on system and third-party codecs.

The problem with including H.264 with the browser is that H.264 is not open, so that whilst Chrome included it, Chromium–the open source base for Chrome–could not. This limited Linux support, for example, as well as being bad for the web by tying video dependency to a closed source release of an otherwise open source project.

But then Google purchased On2 technologies–inventor of Ogg and VP8–and went on to release the VP8 codec royalty free as WebM. This sent shockwaves through the web development community because up to that point it looked like a loosing battle for Ogg; Only Firefox and Opera supported it, meaning that–when Flash playback of H.264 is considered–H.264 far out-weighed Ogg and authors would not choose to encode Ogg versions of video, opting instead to fall back on Flash alone.

Over the last year this situation has rapidly reversed, within another year most browsers will play WebM content natively, excluding Safari and IE9 (when the WebM codec is not installed). Adobe will bring WebM to Flash player. When you factor in this, it means that a WebM video will play on all browsers but iOS, avoiding the H.264 royalty fees.

This role reversal puts pressure on Apple to support the WebM codec, something that Apple have been completely silent about. Google is, and will be for a time to come, still dependant on H.264. All of the WebM bricks are not yet in place and Google stream H.264 content to Apple’s iOS devices, including the Apple TV. The question is, at what point does Google give Apple the ultimatum and declare they will cut off all YouTube access to iOS unless Apple implement WebM?

Whilst all this has been going on, web authors have been relying on an unchanging landscape that revolves around H.264. One thing is generally true about web authors, and that is that if nothing changes, they won’t either. Open proponents have been battling to get the message across that web authors need to make an active decision on what they encode their videos with and not to side on complacency, ignorance or the “practical” excuse.

When you say, “Apple’s iDevices are great for the open web,” I hear, “I’m not paying my H.264 license fees.”

Mark Pilgrim

To me, it appears as if lazy web authors could suddenly find the rug pulled out from under their feet as H.264 support disappears from YouTube and Android. Regardless of their woes, the web will have won a massive victory for the right to own its own content.

198 Comments

  1. 2011-01-11 10:38 pm
    • 2011-01-11 10:42 pm
      • 2011-01-11 11:06 pm
      • 2011-01-12 2:53 am
        • 2011-01-12 1:00 pm
          • 2011-01-12 10:05 pm
          • 2011-01-13 6:09 am
          • 2011-01-13 9:14 am
          • 2011-01-13 2:47 pm
          • 2011-01-13 6:13 am
          • 2011-01-13 9:18 am
          • 2011-01-13 9:50 am
          • 2011-01-13 2:50 pm
          • 2011-01-14 7:18 am
          • 2011-01-14 12:57 pm
          • 2011-01-14 5:10 pm
          • 2011-01-15 1:30 pm
        • 2011-01-12 4:39 pm
          • 2011-01-12 10:07 pm
      • 2011-01-12 6:19 am
      • 2011-01-12 2:21 pm
        • 2011-01-13 6:10 am
      • 2011-01-12 10:48 pm
    • 2011-01-11 10:42 pm
      • 2011-01-11 11:00 pm
        • 2011-01-11 11:03 pm
          • 2011-01-11 11:23 pm
          • 2011-01-12 1:08 pm
          • 2011-01-14 1:02 pm
        • 2011-01-11 11:11 pm
        • 2011-01-12 1:03 pm
    • 2011-01-11 11:04 pm
      • 2011-01-12 12:08 am
        • 2011-01-12 12:11 am
        • 2011-01-12 12:23 am
        • 2011-01-12 1:32 am
        • 2011-01-12 10:03 am
    • 2011-01-12 1:45 am
    • 2011-01-12 3:05 am
    • 2011-01-12 2:27 pm
  2. 2011-01-11 10:46 pm
  3. 2011-01-11 11:04 pm
    • 2011-01-11 11:07 pm
      • 2011-01-12 11:41 am
        • 2011-01-12 11:44 am
      • 2011-01-12 1:35 pm
    • 2011-01-11 11:16 pm
    • 2011-01-11 11:33 pm
    • 2011-01-11 11:36 pm
      • 2011-01-12 12:15 am
        • 2011-01-12 12:53 am
          • 2011-01-12 1:04 am
    • 2011-01-12 1:14 am
    • 2011-01-12 1:32 am
      • 2011-01-12 10:14 am
        • 2011-01-12 10:27 am
        • 2011-01-12 1:09 pm
          • 2011-01-12 2:34 pm
          • 2011-01-12 4:32 pm
    • 2011-01-12 4:43 am
    • 2011-01-12 9:28 am
      • 2011-01-12 4:04 pm
        • 2011-01-12 6:54 pm
    • 2011-01-12 4:33 pm
    • 2011-01-12 10:49 pm
  4. 2011-01-11 11:07 pm
    • 2011-01-11 11:32 pm
    • 2011-01-12 9:39 am
  5. 2011-01-11 11:07 pm
  6. 2011-01-11 11:15 pm
    • 2011-01-11 11:25 pm
      • 2011-01-11 11:50 pm
        • 2011-01-12 12:02 am
          • 2011-01-12 12:04 am
          • 2011-01-12 12:07 am
          • 2011-01-12 12:11 am
          • 2011-01-12 12:17 am
          • 2011-01-12 10:24 am
          • 2011-01-12 10:33 am
          • 2011-01-12 11:06 am
          • 2011-01-12 1:15 pm
          • 2011-01-12 10:34 am
          • 2011-01-12 10:54 pm
          • 2011-01-12 11:06 pm
          • 2011-01-13 1:25 am
          • 2011-01-13 3:28 am
          • 2011-01-13 6:19 am
        • 2011-01-12 12:03 am
          • 2011-01-12 2:10 am
          • 2011-01-12 6:36 am
          • 2011-01-12 7:28 am
          • 2011-01-12 11:44 am
          • 2011-01-12 12:19 pm
          • 2011-01-12 2:39 pm
          • 2011-01-12 7:01 pm
          • 2011-01-13 6:20 am
    • 2011-01-11 11:36 pm
    • 2011-01-11 11:51 pm
    • 2011-01-12 12:07 am
    • 2011-01-12 1:40 am
    • 2011-01-12 1:44 am
    • 2011-01-12 2:04 am
    • 2011-01-12 4:08 am
    • 2011-01-12 9:45 am
    • 2011-01-12 10:51 pm
      • 2011-01-13 3:41 am
  7. 2011-01-11 11:17 pm
    • 2011-01-12 1:22 am
    • 2011-01-12 1:42 am
    • 2011-01-12 10:59 am
    • 2011-01-13 6:23 am
  8. 2011-01-11 11:24 pm
    • 2011-01-12 1:51 am
      • 2011-01-12 2:53 am
        • 2011-01-12 4:56 pm
  9. 2011-01-11 11:34 pm
    • 2011-01-12 9:48 am
      • 2011-01-12 2:52 pm
        • 2011-01-12 3:07 pm
          • 2011-01-13 4:33 am
          • 2011-01-13 5:08 am
        • 2011-01-12 7:17 pm
          • 2011-01-13 3:37 am
    • 2011-01-12 12:21 pm
    • 2011-01-12 4:57 pm
    • 2011-01-12 5:21 pm
  10. 2011-01-11 11:48 pm
    • 2011-01-11 11:59 pm
      • 2011-01-12 12:06 pm
    • 2011-01-12 12:27 am
    • 2011-01-12 1:57 am
  11. 2011-01-12 12:22 am
    • 2011-01-12 12:18 pm
      • 2011-01-12 1:31 pm
      • 2011-01-12 5:01 pm
  12. 2011-01-12 12:29 am
  13. 2011-01-12 3:01 am
    • 2011-01-12 3:35 am
    • 2011-01-12 4:02 am
      • 2011-01-12 6:53 am
        • 2011-01-12 7:16 am
        • 2011-01-12 5:14 pm
    • 2011-01-12 6:41 am
    • 2011-01-12 11:09 am
    • 2011-01-12 1:15 pm
    • 2011-01-12 1:46 pm
    • 2011-01-12 5:18 pm
  14. 2011-01-12 3:26 am
  15. 2011-01-12 3:44 am
    • 2011-01-12 5:24 pm
  16. 2011-01-12 6:06 am
    • 2011-01-12 6:23 am
      • 2011-01-12 10:34 pm
        • 2011-01-12 11:47 pm
    • 2011-01-12 5:25 pm
  17. 2011-01-12 7:39 am
  18. 2011-01-12 9:16 am
    • 2011-01-12 9:34 am
      • 2011-01-12 10:21 am
        • 2011-01-12 1:19 pm
  19. 2011-01-12 10:31 am
  20. 2011-01-12 11:24 am
    • 2011-01-12 11:25 am
    • 2011-01-12 11:31 am
      • 2011-01-12 6:03 pm
    • 2011-01-12 11:43 am
      • 2011-01-12 6:39 pm
    • 2011-01-12 12:32 pm
  21. 2011-01-12 11:31 am
    • 2011-01-12 11:35 am
  22. 2011-01-12 11:50 am
    • 2011-01-12 11:54 am
    • 2011-01-12 12:00 pm
    • 2011-01-12 12:09 pm
    • 2011-01-12 2:12 pm
    • 2011-01-12 5:42 pm
  23. 2011-01-12 12:45 pm
    • 2011-01-12 12:49 pm
      • 2011-01-12 1:25 pm
    • 2011-01-12 1:29 pm
    • 2011-01-12 5:43 pm
  24. 2011-01-12 1:32 pm
  25. 2011-01-12 2:24 pm
    • 2011-01-12 2:32 pm
      • 2011-01-12 3:43 pm
        • 2011-01-12 3:56 pm
        • 2011-01-12 4:26 pm
    • 2011-01-12 2:50 pm
    • 2011-01-12 3:16 pm
  26. 2011-01-12 5:55 pm
  27. 2011-01-12 9:05 pm
  28. 2011-01-13 12:52 am
    • 2011-01-13 1:18 am
    • 2011-01-13 3:08 am
    • 2011-01-13 3:23 am