PSA: Support for H.264 video codec in Chrome behind flag

10,590 views
Skip to first unread message

hb...@webrtc.org

unread,
Mar 1, 2016, 10:00:57 AM3/1/16
to discuss-webrtc

Chrome support

In Chrome M-50 a new H.264 encoder/decoder pair is included in WebRTC for desktop versions of Chrome behind a command line flag. This means that it is now in Chrome Canary!


Launch Chrome executable with: --enable-features=WebRTC-H264WithOpenH264FFmpeg


This is a software encoder/decoder. Encoding is implemented using OpenH264 and decoding is implemented using FFmpeg.


Try it

Using Canary you can try WebRTC video calls with H.264 out at https://apprtc.appspot.com/r/<some room id>?vsc=H264&vrc=H264 (“video send codec”, “video receive codec”) and optionally with &debug=loopback for loopback in a single tab. Press i during a call to get stats, including which video codec is used. You can also go to chrome://webrtc-internals in a separate tab for more information, see “ssrc_..._send/recv”.


(There is also https://webrtc.github.io/samples/src/content/peerconnection/munge-sdp/ where you can modify the SDP manually. After "Create offer" you can verify that “H264” is listed in the Offer SDP and modify the m=video line to put the H.264 ID first in the list of IDs.)


Stability note

This is still under development and not entirely stable, yet. There may be delays in the video (between local and loopback), bad performance, dropped frames (lag) and decode errors (image freezing/going black). The feature will not be unflagged until these issues have been resolved.


Please help us to move this feature from behind a flag into Chrome stable by testing and filing bugs :)

/hbos

Pablo Garfunkel

unread,
Mar 25, 2016, 10:37:38 AM3/25/16
to discuss-webrtc
I see this post is dated Mar-1.
Has this feature moved away from Canary and into Dev or Beta release channels?

Thanks!

Harald Alvestrand

unread,
Mar 25, 2016, 2:05:34 PM3/25/16
to WebRTC-discuss

Yes, it follows the usual rollout.

--

---
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/4e77b568-c952-41b9-bbe1-43583a463ab1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

PhistucK

unread,
Mar 25, 2016, 2:23:51 PM3/25/16
to WebRTC-discuss
Chrome 50 is the current beta release. Keep in mind that you still need the aforementioned command line flag - it is not enabled by default.


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.

Raj Kumaradass

unread,
Jun 7, 2016, 5:28:36 AM6/7/16
to discuss-webrtc
Has this been enabled by default from Chrome 52 beta version onwards?

thanks!

Bart Jansen

unread,
Jun 7, 2016, 6:16:38 AM6/7/16
to discuss-webrtc
No, it's not enabled by default (not even in Chrome 53) and still requires the command line flag to have the codec show up in the generated SDPs.

Peter Boström

unread,
Jun 7, 2016, 6:32:48 AM6/7/16
to discuss-webrtc
This flag is currently default-enabled in M52 (since https://chromium.googlesource.com/chromium/src.git/+/487e16d68766a496d1174e880036e789c927b32d), if you've previously set the flag you might have to unset or change it.

We've had to merge some fixes but overall it's currently on its way out. Fingers crossed. :)


Ben Weekes

unread,
Sep 16, 2016, 6:09:56 AM9/16/16
to discuss-webrtc
Is there a way to test this on apprtc.appspot.com?

If not, how else can you easily setup a peer to peer webrtc call using H264 in Chrome?

Thank

Ben

Ben Weekes

unread,
Sep 16, 2016, 9:23:25 AM9/16/16
to discuss-webrtc

Chao Liu

unread,
Sep 25, 2016, 4:34:58 AM9/25/16
to discuss-webrtc


On Friday, September 16, 2016 at 6:23:25 AM UTC-7, Ben Weekes wrote:
I tried this on mobile Chrome, which uses VP8 instead of H264.
Looks like H264 is still missing on mobile Chrome.. Anybody knows when H264 will be fully enabled? Or maybe I missed sth.?

Chao Liu

unread,
Sep 25, 2016, 4:42:38 AM9/25/16
to discuss-webrtc


On Sunday, September 25, 2016 at 1:34:58 AM UTC-7, Chao Liu wrote:


On Friday, September 16, 2016 at 6:23:25 AM UTC-7, Ben Weekes wrote:
I tried this on mobile Chrome, which uses VP8 instead of H264.
Looks like H264 is still missing on mobile Chrome.. Anybody knows when H264 will be fully enabled? Or maybe I missed sth.?
I am testing it on Nexus 5. Maybe this device doesn't support H264? If this is the case, is there any way to find this info in JS? 

gabe....@makewonder.com

unread,
Oct 3, 2016, 4:44:42 AM10/3/16
to discuss-webrtc
I've also noticed that h.264 isn't advertised in the sdp in Chrome on my android system.

I'm also curious about whether h.264 encode/decode will have hardware support on Android.  Looking at the webrtc.org native code, it should have support for both but some messages in the past seems to indicate that Chrome would use software codecs on Android.

João Alves

unread,
Oct 14, 2016, 10:02:59 AM10/14/16
to discuss-webrtc
Can you please refer a link where I can check the Profiles and Levels available in the Chrome implementation? Thanks!
 
Reply all
Reply to author
Forward
0 new messages