HEVC support in Chrome: When to expect it?

7,085 views
Skip to first unread message

Marc Fawzi

unread,
May 8, 2020, 4:51:52 PM5/8/20
to discuss...@googlegroups.com
Hi 

Is there a published roadmap for WebRTC API in Chrome?

I'd like to find out when HEVC will be supported?

Also, do the latest Chrome or Canary support running current WebRTC codecs in GPU process? If not, when do you expect to add that?

Thanks in advance for any info you can provide.


Marc Fawzi

unread,
May 8, 2020, 4:54:27 PM5/8/20
to discuss...@googlegroups.com
If anyone has an answer, please include any info on Windows vs Mac support.

PhistucK

unread,
May 8, 2020, 5:11:41 PM5/8/20
to WebRTC-discuss
I do not think there are any plans to support HEVC.
I have not heard anything and it is not in their interest to support HEVC (instead, they will probably push AV1), so I would not expect support unless the standards make HEVC mandatory (and I am not aware of such a decision. If you are aware and there is such a decision, that changes the picture).

PhistucK


--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/CACioZiuAKAufDRp555rVX-R02Ri-WEc6zWcMur5oWM0Wg%3DTV%2BA%40mail.gmail.com.

Alexandre GOUAILLARD

unread,
May 8, 2020, 5:28:44 PM5/8/20
to discuss...@googlegroups.com
Is there a published roadmap for WebRTC API in Chrome?

=> No.

Also, do the latest Chrome or Canary support running current WebRTC codecs in GPU process?

=> yes, depending on the GPU and which codec/profile.

If not, when do you expect to add that?

=> there is no roadmap.

.please include any info on Windows vs Mac support.

=> Chrome on mac is only a wrapper around Apple provided webview, so it would supports even less.

=> Now, you only asked for chrome, but there is a more interesting interesting angle:
- Intel has had a fork of stand alone libwebrtc which support HEVC, with hardware acceleration (but not GPU) for at least two years.
- In November last year, apple started integrating it in webkit/safari
- Apple added GPU acceleration, and released it a few weeks ago in Safari tech preview.
- MS would be interested, and google might not oppose welcoming an Apple patch, as long as the codec is only supported if hardware supports it (all recent INTEL CPUs).
and yes, the priority for google is clearly AV1 over HEVC, but with apple committed to support it, and MS interested, ....

More details and code design here:
 

On Fri, May 8, 2020 at 11:11 PM PhistucK <phis...@gmail.com> wrote:
I do not think there are any plans to support HEVC.
I have not heard anything and it is not in their interest to support HEVC (instead, they will probably push AV1), so I would not expect support unless the standards make HEVC mandatory (and I am not aware of such a decision. If you are aware and there is such a decision, that changes the picture).

Phistuc
On Fri, May 8, 2020 at 11:54 PM Marc Fawzi <marc....@gmail.com> wrote:
If anyone has an answer, please include any info on Windows vs Mac support.

On Fri, May 8, 2020 at 1:51 PM Marc Fawzi <marc....@gmail.com> wrote:
Hi 

Is there a published roadmap for WebRTC API in Chrome?

I'd like to find out when HEVC will be supported?

Also, do the latest Chrome or Canary support running current WebRTC codecs in GPU process? If not, when do you expect to add that?

Thanks in advance for any info you can provide.


--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/CACioZiuAKAufDRp555rVX-R02Ri-WEc6zWcMur5oWM0Wg%3DTV%2BA%40mail.gmail.com.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.


--
Alex. Gouaillard, PhD, PhD, MBA
------------------------------------------------------------------------------------
President - CoSMo Software Consulting, Singapore
------------------------------------------------------------------------------------

Marc Fawzi

unread,
May 8, 2020, 5:34:28 PM5/8/20
to discuss...@googlegroups.com
You might be confusing MacOS with iOS. Chrome on MacOS does not use WebKit.

Anyway, I think this is an issue around licensing and such. Not a turf issue. 

Just wanting to hear from the Chrome team if they’re considering it. Do they post here?


Alexandre GOUAILLARD

unread,
May 9, 2020, 5:34:01 AM5/9/20
to discuss...@googlegroups.com

You might be confusing MacOS with iOS. Chrome on MacOS does not use WebKit.


You're right, my bad. My comment stand for iOS only.

Just wanting to hear from the Chrome team if they’re considering it. Do they post here?

They do, sometimes. Most often on things that have already been released.
That fits the "no roadmap" approach: if there was a roadmap, why should i comment about it. if there is no roadmap, then there is nothing to comment about.
The only event where they speak, in broad strokes, about their roadmap is the krankygeek event once a year.
last year it as: "WASM, QUIC, AV1"

Marc Fawzi

unread,
May 9, 2020, 12:59:07 PM5/9/20
to discuss...@googlegroups.com
Hmm. 

I did some digging and found out that h.265 as a standard is encumbered by patents, at least the software implementation of it. The hardware implementation of it is already supported by Intel Core on consumer hardware and Xeon servers.

I believe the h.265 patent(s) are royalty-free for browsers, but it makes sense for Google to be anti-patents, since they have the resources to innovate broadly and don't want to be constrained. But for small companies/inventors, patents are the only means to protect investment. 

AV1 is not in Canary yet (?) so I'm trying to figure out at this time if I limit everyone to latest Chrome on a LAN how can I get the best video/audio quality from WebRTC? What codec should I use at this time (vp9) and do I have a choice about it? Can I force it? or is it selected by default? 



--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.

Marc Fawzi

unread,
May 11, 2020, 2:39:14 PM5/11/20
to discuss...@googlegroups.com
So if we supply no constraints in terms of video size, and we're going over a LAN then I would expect WebRTC to pick the highest quality codec available.

In this case, I expect VP9 for the latest Chrome, and eventually AV1.

However, when Googling, I found out that (disturbingly) only Google owned/operated websites like Youtube and Stadia can enable VP9. Is that still true at this time?

Will try using getStats to see if I can detect the codec being used.

I'm aware there is a WebCodec API in proposal state at this time, but it's really annoying for the codec selection to be left up to the browser. If the browser or the OS has the codec why can't we as developers select that codec programmatically? We can check and pick the best that's supports on both sides.






Tsahi Levent-Levi

unread,
May 11, 2020, 3:03:44 PM5/11/20
to discuss...@googlegroups.com
Marc,

https://appr.tc does VP9 by default...

As long as VP9 is the preferred video codec on both ends it will be the one selected.

Regards,
Tsahi




--
Regards,
Tsahi Levent-Levi
Analyst & Consultant

Want to get more of your WebRTC sessions effectively connected? Enroll to my free video course: http://bit.ly/32Y3qZK

Marc Fawzi

unread,
May 11, 2020, 3:33:41 PM5/11/20
to discuss...@googlegroups.com
Tsahi, 

Thank you for the info. I wasn't aware Google was running a living implementation for demo/test purposes. That's great.

Here is the magic technology: 


I can't wait until we can get rid of this text editing business and move on to a legitimate API.

But very useful for now. Thank you.

Marc




Marc Fawzi

unread,
May 11, 2020, 6:24:37 PM5/11/20
to discuss...@googlegroups.com
I spoke before reading the note in the repo

"This project is currently on HOLD with minimal maintenance."

That's disappointing. Is there a new project to replace it? 


Philipp Hancke

unread,
May 12, 2020, 3:39:11 AM5/12/20
to discuss...@googlegroups.com

Alexandre GOUAILLARD

unread,
May 12, 2020, 8:49:52 AM5/12/20
to discuss...@googlegroups.com

official W3C status of support in different browsers as of may 12th.

Fippo has already submitted a good PR to improve the official doc and sample (thanks):

But hey, what do we know? You should wait for an official answer from google or the other browser vendors to be sure.


Marc Fawzi

unread,
May 12, 2020, 9:24:58 AM5/12/20
to discuss...@googlegroups.com

Thanks. That page you linked throws an error and loads empty (can't load module settings.js or some message)


<<
Fippo has already submitted a good PR to improve the official doc and sample (thanks):
>>

That would be nice to read. Is it merged with docs on MDN? If not, where can I find that PR?

Thank you very much. I get that the Google folks aren't here much. I just didn't want to indulge in turf theories (it's just business: Google works in its own interest just as Amazon, Apple and others do. I don't see the difference)



Marc Fawzi

unread,
May 13, 2020, 5:15:48 PM5/13/20
to discuss...@googlegroups.com
setCodecPreferences with VP9 crashes latest "stable" Chrome on Mac OS X (Mojave) once there is motion in the video, on 3 year old Macbook

Where should I log this bug?

It doesn't happen if I do what apprtc does and modify the codec in the SDP, so it must be something to do wit the sCP implementation ...  


Philipp Hancke

unread,
May 13, 2020, 5:17:56 PM5/13/20
to discuss...@googlegroups.com
If you can file a bug from chrome://crashes do that, otherwise use
https://bugs.chromium.org/p/chromium/issues/list -- and set the Blink>WebRTC component.

Marc Fawzi

unread,
May 13, 2020, 6:05:28 PM5/13/20
to discuss...@googlegroups.com
Thanks. 

I did both. 

It turned out to be due to transceiver.sender.replaceTrack statement following pc.addTrack in the gUM handler

I'm trying to understand transceivers and the code does not make sense (just fooling around) but I included it for reference

Seems like the codec is being switched to VP9 successfully as I can see in the SDP (on receiving end), but I don't notice any improvement in quality. It's still a bit fuzzy, with both peers running in the same page.

a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2







Marc Fawzi

unread,
May 13, 2020, 7:21:42 PM5/13/20
to discuss...@googlegroups.com
I could spend lots of time reproducing various crash events when using the transceiver API (as just playing around with the API without proper documentation I might be hitting all the edge cases) 

Anyway, there are at 2 other combinations that produce crashing but I’m running out of time for this so I’ll most likely just do what apprtc does and modify the codec in the SDP 

The takeaway for now is that the transceiver API is crash prone. 

Maybe V8 should be rebuilt in Rust. I hear that Deno and a fleet of Rust developers would love to have that happen. 

‘)

Ju Ju

unread,
Jun 7, 2020, 6:50:14 AM6/7/20
to discuss-webrtc



Also, do the latest Chrome or Canary support running current WebRTC codecs in GPU process?

=> yes, depending on the GPU and which codec/profile.

-> very interested in getting information what codec/profile is hardware supported 




- Apple added GPU acceleration, and released it a few weeks ago in Safari tech preview.

-> do you have an idea if the same support will be activated in IOS soon (next IOS maybe ?)
It will be very interesting to have hardware encoding in iPhone as, from my latest tests, they are not able to keep a constant frame rate @30fps when encoding in fullhd -> they are getting to hot and I guess their CPU are throttling. 

Alexandre GOUAILLARD

unread,
Jun 7, 2020, 10:11:31 AM6/7/20
to discuss...@googlegroups.com
Also, do the latest Chrome or Canary support running current WebRTC codecs in GPU process?

=> yes, depending on the GPU and which codec/profile.

-> very interested in getting information what codec/profile is hardware supported 

It is known that chrome on android for example only supports H264 if it is hardware encoded, and decides if the GPU is used depending on a whitelist.
For the other codecs, other hardware, on other OSes, the documentation for chrome is here :-)
and other browsers will have different kind of support.
 
- Apple added GPU acceleration, and released it a few weeks ago in Safari tech preview.

-> do you have an idea if the same support will be activated in IOS soon (next IOS maybe ?)
It will be very interesting to have hardware encoding in iPhone as, from my latest tests, they are not able to keep a constant frame rate @30fps when encoding in fullhd -> they are getting to hot and I guess their CPU are throttling. 

Apple does not communicate about not-yet-released products.
Given that recent iOS hardware supports H.264 and H.265 hardware encoding, and that the current webrtc stack implementation uses the VideoToolBox framework, the answer is likely Yes, but it is just an educated guess.

Note: the hardware encoders are usually not real-time encoders (they have frame buffers and use look-ahead algorithms), while software encoders have more flexibility about their implementation. You can take a look at  the kUsageProfile and kLagInFrames variables in the AV1 codec implementation, and libwebrtc wrapper for illustration of a real-time mode that is implementation-dependent and not specification-dependent.

The recent commits with respect to hardware acceleration of codecs in webrtc on apple platform hint at an Apple-private real-time variant of hardware encoding framework called 'VTC'. 
 
Hope this helps.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.

Ju Ju

unread,
Jun 8, 2020, 5:30:15 AM6/8/20
to discuss...@googlegroups.com
Yes thx Alexandre !

You received this message because you are subscribed to a topic in the Google Groups "discuss-webrtc" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/discuss-webrtc/kHDzHMSDBLQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/CAHgZEq4R8Fch8ZwP54%3DTgRNQWN7TgWFDLrpCQGf9hmT_W-ZEmQ%40mail.gmail.com.

Message has been deleted

Ju Ju

unread,
Jun 23, 2020, 7:20:13 AM6/23/20
to discuss-webrtc
Hi alexander,

Did you have the opportunity to check IF H265 is enable in IOS14 beta ?

Did you also notice a bug with safari in IOS13 with H264 with resolution > 720p ?

J-


Alexandre GOUAILLARD

unread,
Jun 23, 2020, 11:38:00 AM6/23/20
to discuss...@googlegroups.com

Did you have the opportunity to check IF H265 is enable in IOS14 beta ?

not yet. Lock down mens no access to our dev devices for now. :-(

Did you also notice a bug with safari in IOS13 with H264 with resolution > 720p ?

No, but that does not mean there is none, I have not tested this configuration extensively.
Maybe dag-inge would know better, or youenn, or henrik. They are the webrtc / iOs experts around. 

J-


--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.

Ju Ju

unread,
Jun 25, 2020, 7:42:48 AM6/25/20
to discuss...@googlegroups.com
Hi alex,

Devices Still lock down ?

br

J-

You received this message because you are subscribed to a topic in the Google Groups "discuss-webrtc" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/discuss-webrtc/kHDzHMSDBLQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/CAHgZEq6Mp995_Yt1Ycb4OL9puLkgj-aQapdiER7HaVfpTrh1ag%40mail.gmail.com.

Lorenzo Miniero

unread,
Jun 25, 2020, 9:58:09 AM6/25/20
to discuss-webrtc
We've all been on lockdown for months, I don't think things like that change in a day :-)

L.


Il giorno giovedì 25 giugno 2020 13:42:48 UTC+2, Ju Ju ha scritto:
Hi alex,

Devices Still lock down ?

br

J-

Le 23 juin 2020 à 17:37, Alexandre GOUAILLARD <agoua...@gmail.com> a écrit :


Did you have the opportunity to check IF H265 is enable in IOS14 beta ?

not yet. Lock down mens no access to our dev devices for now. :-(

Did you also notice a bug with safari in IOS13 with H264 with resolution > 720p ?

No, but that does not mean there is none, I have not tested this configuration extensively.
Maybe dag-inge would know better, or youenn, or henrik. They are the webrtc / iOs experts around. 

J-



--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss...@googlegroups.com.


--
Alex. Gouaillard, PhD, PhD, MBA
------------------------------------------------------------------------------------
President - CoSMo Software Consulting, Singapore
------------------------------------------------------------------------------------


--

---
You received this message because you are subscribed to a topic in the Google Groups "discuss-webrtc" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/discuss-webrtc/kHDzHMSDBLQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to discuss...@googlegroups.com.

Ju Ju

unread,
Jun 25, 2020, 10:01:32 AM6/25/20
to discuss...@googlegroups.com
Ok I didn’t get it :)
So I supposed I have to install IOS14 beta and test it by myself :) and pay 100$ to apple for dev account :(

J-

To unsubscribe from this group and all its topics, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/c3974443-97cd-462d-a48b-dd39e2278983o%40googlegroups.com.

Ju Ju

unread,
Jun 26, 2020, 6:28:44 AM6/26/20
to discuss...@googlegroups.com
Ok So I could install IOS14 and check if the feature is present in Safari experimental option
I could also check if it works with echotest demo.

So are you ready ?

First the safari options are present !


Good start

Now the test !

It works :)!
And good news, the FullHD bug (in h264) is removed also !

Alexandre GOUAILLARD

unread,
Jun 26, 2020, 11:38:07 AM6/26/20
to discuss...@googlegroups.com
best 100 USD investment you ever made ;-)

To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/0BCDCAC0-577C-419C-8D06-4259343FA000%40gmail.com.

Ju Ju

unread,
Jun 26, 2020, 11:40:51 AM6/26/20
to discuss...@googlegroups.com
:)
The best part : I didn’t have to. A closed colleague did provide me a profil from his account to install it :)

J-

Le 26 juin 2020 à 17:37, Alexandre GOUAILLARD <agoua...@gmail.com> a écrit :

best 100 USD investment you ever made ;-)

On Fri, Jun 26, 2020 at 12:28 PM Ju Ju <trank...@gmail.com> wrote:
Ok So I could install IOS14 and check if the feature is present in Safari experimental option
I could also check if it works with echotest demo.

So are you ready ?

First the safari options are present !

<GraphiqueCollé-1.tiff>

Good start

Now the test !

It works :)!
And good news, the FullHD bug (in h264) is removed also !
<IMG_9152.PNG>
Reply all
Reply to author
Forward
0 new messages