h.264 support in Chrome and Chromium

9,598 views
Skip to first unread message

Stephen Cheng

unread,
Jun 30, 2014, 1:51:26 AM6/30/14
to chromi...@chromium.org
Google once announced its intention to drop H.264 support in Chrome back in 2011. It's 2014 now and h.264 is still in Chrome. How is that position now? It seems like the intention has changed and we are going to keep h.264 in chrome for a much longer term?

One problem is that Chromium is left out in cold in terms of H.264 support due to the licensing issue. What made it worse is that youtube will force html5 player on Chromium as well even if it doesn't support h.264. Therefore, if we watch this video https://www.youtube.com/watch?v=XjJQBjWYDTs in Chromium, we will only get a single 360p resolution option, probably due to the webm support in Chromium and youtube only bothers to provide a single 360p stream for webm source. If we watch it in chrome, we will get all the resolution choices. 

Is there anyway to force the use of flash player on youtube in Chromium? With flash player, we get all the resolution choices. Otherwise, people are going to label Chromium as incompatible with youtube. 


Jake

unread,
Jun 30, 2014, 2:38:55 AM6/30/14
to sfc...@gmail.com, Chromium-dev
I wonder if it would be possible to use Cisco's free h.264 binaries in chromium.


--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Jake

unread,
Jun 30, 2014, 2:44:19 AM6/30/14
to sfc...@gmail.com, Chromium-dev
I imagine a link would help: http://www.openh264.org/

Shanfeng Cheng

unread,
Jun 30, 2014, 11:50:20 AM6/30/14
to jake, chromium-dev
That seems like a good idea. I think Mozilla has plans to use OpenH264 binaries whenever platform support for decoding H.264 is not available. 


Shanfeng Cheng

Aaron Colwell

unread,
Jun 30, 2014, 1:47:18 PM6/30/14
to sfc...@gmail.com, Chromium-dev
Hi,

It is unlikely H.264 support will be dropped from Chrome anytime soon since it would be too disruptive to existing users and unnecessarily break sites. While I sympathise with Chromium-based browsers w/o H.264 support, I don't really see a path forward for them if they don't confront the licensing issues themselves. The distributors of those binaries are responsible and so they need to make the call. Unfortunately this is how things are with H.264 and Google is trying to make this less of an issue in the future with VP9.

YouTube has been rolling out VP9 for HTML5 playback pretty aggressively so H.264 is quickly becoming less important at least on that site. We are hoping that other sites will follow their example soon. With a ToT Chromium build, I get VP9 w/ all the resolutions for the clip that you provided. There are still YouTube clips that don't have VP9 encodes yet, but that will diminish over time as the YouTube corpus is reencoded.

Perhaps your build of Chromium is not advertising VP9 support via HTMLMediaElement.canPlayType() so you aren't getting the VP9 content. If it is reporting VP9 support, then you might want to send feedback to YouTube telling them that they aren't detecting VP9 support for your browser.

Hope this helps,

Aaron



Shanfeng Cheng

unread,
Jun 30, 2014, 3:53:58 PM6/30/14
to Aaron Colwell, chromium-dev
I actually pasted the wrong example link in the last message. VP9 codec is already available in the chromium build I have. Here is one video that I uploaded recently myself: https://www.youtube.com/watch?v=V5LnMA7V7BA . If I view it in the latest version of Chromium, it only gets 360p resolution. I guess youtube is not applying vp9 on newly uploaded videos automatically.

I am not sure what you mean by ToT build, by the way. I assume it means simply the latest build?

It's good news if youtube will eventually provide vp9 stream for all the videos in the future. 


Shanfeng Cheng
 
Date: 2014-06-30 12:46
To: sfcheng
Subject: Re: [chromium-dev] h.264 support in Chrome and Chromium

Aaron Colwell

unread,
Jun 30, 2014, 5:30:53 PM6/30/14
to Shanfeng Cheng, chromium-dev
On Mon, Jun 30, 2014 at 12:52 PM, Shanfeng Cheng <sfc...@gmail.com> wrote:
I actually pasted the wrong example link in the last message. VP9 codec is already available in the chromium build I have. Here is one video that I uploaded recently myself: https://www.youtube.com/watch?v=V5LnMA7V7BA . If I view it in the latest version of Chromium, it only gets 360p resolution. I guess youtube is not applying vp9 on newly uploaded videos automatically.

Cute dog. :) I'm not sure what is going on with your specific video. I don't know what YouTube's encoding priorities/criteria are. You should contact them about this though.
 

I am not sure what you mean by ToT build, by the way. I assume it means simply the latest build?

Sorry. ToT stands for "tip of tree". I was basically referring to my local developer checkout with the latest code. It is roughly equivalent to Chrome Canary channel builds but with the proprietary codecs turned off.

Aaron

Jake

unread,
Jun 30, 2014, 10:00:59 PM6/30/14
to acol...@chromium.org, Shanfeng Cheng, chromium-dev
I think openh264 would work, provided the binary distribution requirements are met. I'm most certainly not an attorney but reading the license text at http://www.openh264.org/BINARY_LICENSE.txt it appears Cisco is willing to pay the MPEG LA licensing fees (for a specific patent pool) for binaries downloaded directly from their site.

So what this would boil down to is some form of user initiated download process in chromium (maybe an option?)

Or perhaps it's an issue for the distro(s) that package chromium. As for those of us who build our own, the binaries would be an easy thing to fold in to our process.

Anyway, food for thought.

-Jake


To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Matt Giuca

unread,
Jul 1, 2014, 1:01:40 AM7/1/14
to ja...@jakeonthenet.com, acol...@chromium.org, Shanfeng Cheng, chromium-dev
I think that Jake's suggestion is an option for distros packaging Chromium. I doubt such a feature (downloading binaries on startup) will ever be included in the core Chromium source code for various reasons (first and foremost which is that Chromium should be entirely open source, and downloading binaries from a third party, even if it has source code, would be contrary to that mission).

Victor Khimenko

unread,
Jul 1, 2014, 5:27:19 AM7/1/14
to mgi...@chromium.org, ja...@jakeonthenet.com, acol...@chromium.org, Shanfeng Cheng, chromium-dev
On Tue, Jul 1, 2014 at 9:01 AM, Matt Giuca <mgi...@chromium.org> wrote:
I think that Jake's suggestion is an option for distros packaging Chromium. I doubt such a feature (downloading binaries on startup) will ever be included in the core Chromium source code for various reasons (first and foremost which is that Chromium should be entirely open source, and downloading binaries from a third party, even if it has source code, would be contrary to that mission).

Chromium already has support for component downloads. It automatically downloads PNaCl translator, e.g.

Derek Schuff

unread,
Jul 1, 2014, 12:05:36 PM7/1/14
to Victor Khimenko, mgi...@chromium.org, ja...@jakeonthenet.com, acol...@chromium.org, Shanfeng Cheng, chromium-dev
On Tue, Jul 1, 2014 at 2:26 AM, Victor Khimenko <kh...@chromium.org> wrote:

On Tue, Jul 1, 2014 at 9:01 AM, Matt Giuca <mgi...@chromium.org> wrote:
I think that Jake's suggestion is an option for distros packaging Chromium. I doubt such a feature (downloading binaries on startup) will ever be included in the core Chromium source code for various reasons (first and foremost which is that Chromium should be entirely open source, and downloading binaries from a third party, even if it has source code, would be contrary to that mission).

Chromium already has support for component downloads. It automatically downloads PNaCl translator, e.g.


I think he means that the problem isn't downloading components separately after install (as we do with PNaCl) but downloading third-party binaries which may not have all the source available. PNaCl is entirely open-source and its source is hosted together with Chromium's.
 

Jake

unread,
Jul 1, 2014, 1:47:59 PM7/1/14
to Derek Schuff, Victor Khimenko, Shanfeng Cheng, mgi...@chromium.org, acol...@chromium.org, chromium-dev

as I understand it the Cisco code is also 100% open. the binary req. is to satisfy licensing only.

Shanfeng Cheng

unread,
Jul 1, 2014, 4:08:31 PM7/1/14
to jake, Derek Schuff, Victor Khimenko, Matt Giuca, Aaron Colwell, chromium-dev
A good alternative is to simply to call the Windows H.264 codec in Chromium. Windows XP and Vista are gradually dying out. H.264 codec is included with Windows 7 or later. 


Shanfeng Cheng

Matt Giuca

unread,
Jul 1, 2014, 7:57:16 PM7/1/14
to Shanfeng Cheng, jake, Derek Schuff, Victor Khimenko, Aaron Colwell, chromium-dev
On 2 July 2014 03:47, Jake <ja...@jakeonthenet.com> wrote:

as I understand it the Cisco code is also 100% open. the binary req. is to satisfy licensing only.

I'm not going to go into legal details on a public mailing list, but from my personal standpoint, if you have to download a binary because of legal issues distributing the source code, then by definition the source code is not "100% open" (no matter how well-intentioned its author is). It misses the main point of open source, which is that if you wanted to, you could fix a bug or make a change and incorporate it into your software. (Which is something anybody can do with PNaCl, which is only a separate component for download size reasons, but not something you could do with this H.264 plugin.)

On 2 July 2014 06:07, Shanfeng Cheng <sfc...@gmail.com> wrote:
A good alternative is to simply to call the Windows H.264 codec in Chromium. Windows XP and Vista are gradually dying out. H.264 codec is included with Windows 7 or later. 

That wouldn't solve the problem on all platforms, only on Windows.

Jake

unread,
Jul 1, 2014, 8:34:50 PM7/1/14
to Matt Giuca, acol...@chromium.org, Victor Khimenko, Derek Schuff, Shanfeng Cheng, chromium-dev

anyone know how moz is handling this? I wonder if they're dealing with the binary issue or if they're just using the source and then doing their own licensing deal.

Shanfeng Cheng

unread,
Jul 1, 2014, 8:47:15 PM7/1/14
to jake, Matt Giuca, Aaron Colwell, Victor Khimenko, Derek Schuff, chromium-dev
Here is the blog from Brendan Eich (the ex-CTO and ex-CEO of mozilla): https://brendaneich.com/2013/10/ciscos-h-264-good-news/ . There wouldn't be too many bugs in the open source h.264 to begin with. It's not a huge project. Just a a codec module. Even if there are bugs, Mozilla can work with Cisco to get it fixed in a timely manner and get the updated binary. I can hardly imagine it will somehow spin out of control. 

My point is: something is better than nothing for Chromium as far as H.264 is concerned. Even if we only solves the problems on Windows by calling windows system codec, that fixes the problem for about 90% of the users. 

Victor Khimenko

unread,
Jul 1, 2014, 8:47:30 PM7/1/14
to ja...@jakeonthenet.com, Matt Giuca, acol...@chromium.org, Derek Schuff, Shanfeng Cheng, chromium-dev
On Wed, Jul 2, 2014 at 4:34 AM, Jake <ja...@jakeonthenet.com> wrote:

anyone know how moz is handling this? I wonder if they're dealing with the binary issue or if they're just using the source and then doing their own licensing deal.

The WHOLE POINT of the excercise is to make sure firefox will have support for H.264:

Peter Kasting

unread,
Jul 1, 2014, 8:48:52 PM7/1/14
to Shanfeng Cheng, jake, Matt Giuca, Aaron Colwell, Victor Khimenko, Derek Schuff, chromium-dev
On Tue, Jul 1, 2014 at 5:46 PM, Shanfeng Cheng <sfc...@gmail.com> wrote:
My point is: something is better than nothing for Chromium as far as H.264 is concerned. Even if we only solves the problems on Windows by calling windows system codec, that fixes the problem for about 90% of the users.

I agree.  I suggest filing a bug to implement this.  Note, however, that few Chrome developers would be likely to spend time on this, so it will be up to someone in the larger Chromium community to implement this.

PK 
Reply all
Reply to author
Forward
0 new messages