WebRTC is not working connecting Safari with Chrome for Android

There are two different issues making a WebRTC connection between Chrome on Android and iOS/Safari not working:

1) No H.264 implementation on device

Chrome for Android has only a hardware implementation for H.264 and there is no software implementation. At this moment H.264 works only with devices with a processor of Qualcomm (Kitkat and later) or Samsung Exynos (Lollipop and later). Since Apple only supports H.264 other Android devices can't connect with iOS and Safari.

2) There is bug in Chrome for Android:

Chrome Android does not offer/answer H.264 Constrained Baseline Profile

Because Apple only supports H.264, Android/Chrome can not connect with iOS at this moment.

This problem will be solved in Chrome Android 65 (now Canary). See this for more information.

In my case the problem was the bug, but I think people should be aware of both problems.


There are several issues:

  • iOS only supports H264 (profile 42e01f)
  • your offer only contains VP8 & VP9 video codecs which Safari can decode but will not encode (blame politics)
  • android devices seem to support H264 but with profile 42001f... hence a profile mis-match

The upshot is that you may have to do some SDP-munging in order to get H264 running on all your devices.