EnableX Video Service is based on WebRTC. It depends on Browser Polyfill. Therefore EnableX Video would work in a Browser/Device which supports WebRTC.

Table of Contents

EnableX Web SDK – Browser Support

EnableX Web SDK is supported by following browses:

  • Chrome*
  • Firefox
  • Edge
  • Opera
  • All Browsers based on Chromium & its derivates
  • Safari on iOS 12.1.4+**
  • Safari 12.1+ on macOS**

* To ensure better end user experience, use the latest version of Google Chrome on Desktop.

** Upgrade to the latest version of the Web SDK

Desktop

See the following table for the supported browsers on desktop: 

PlatformChrome 72+Firefox 56+Safari 12.1+Opera 45+QQ 10.5+
MacOS 10+YesYesYesYes Yes
Windows 7+YesYesN/A  Yes Yes

Mobile

The browser support on mobile devices heavily depends on the capabilities of devices and the codec implementation of browsers. 

  • On Android 4.1 or later, the Web SDK supports Chrome 58 or later. EnableX recommends using VP8 on Android Chrome, because whether Google Chrome for Android supports H.264 is hardware dependent and some Android devices do not support H.264. H.264 is a deprecated flow and is not recommended while using EnableX platform. Current supported version for chrome is Chrome 72+.
  • On iOS 11 or later, the Web SDK supports Safari or later. However, EnableX does not recommend using the Web SDK on iOS Safari due to the large amount of known issues and limitations of IOS safari For better user experience on iOS, try the EnableX SDK .  
  • For a consistent WebRTC experience and VP8 is available in Safari 12.1 on iOS 12.2 and macOS 10.14.4 betas, 

Limitations

Due to the various browser engine implementations, support for some features may vary by browser and platform. The following are known issues and limitations. 

  • On Chrome 81 or later, Safari, and Firefox, device IDs are only available after the user has granted permissions to use the media device.  

Chrome

The EnableX Web SDK is based on WebRTC and works best on Chrome. 

  • The EnableX Web SDK supports Chrome 72 or later. 
  • Some APIs require later versions of Chrome, see the API Reference for details. 
  • Chrome 84 on macOS has a known issue: When using the H.264 codec, WebRTC has the probability of a sudden drop in the framerate. For details, see the official bug reports of Google: Issue 1088650 and Issue 12704. EnableX recommends using VP8 other than H.264 which is the EnableX default codec  for Chrome 84 and later versions on macOS. 

Safari on iOS

Known issues and limitations of Safari on iOS: 

  • The audio routing may change randomly: Sometimes, the audio is routed to the speakerphone when a headset is connected, or to the earpiece when no headset is connected. 
  • The volume of a remote user may change randomly on iOS 13. 
  • Safari does not support the getAudioLevel method on iOS. 
  • If you call getUserMedia twice to get two tracks of the same media type, the first track goes muted or black. 
  • Occasional: On iOS 13, after a user switches to other apps that use the microphone or camera (such as Siri or Skype) and then switches back, the audio sampling or video capture fails. 
  • Occasional: After the audio session is interrupted, for example, the local user mutes or unmutes the audio, uses Siri, or answers an incoming call, the user can no longer hear any remote users. 

Safari on iOS & macOS

The following lists known issues and limitations of Safari on iOS and macOS: 

  • Safari 11 only supports the video resolution of 480P and higher.
  • Safari 12.1 or earlier only supports the H.264 codec.
  • On Safari 13, users may not be able to hear other users.
  • On iOS Safari 14.2 and macOS Safari 14.0.1, the audio may be stuttering.
  • Device permission limitations:
    • Safari does not support getting the output device information, so it does not support the getPlayoutDevices and setAudioOutput methods.
    • If Auto-Play is not enabled on Safari (as the following figure shows), the stream playback has no audio. You have to call the navigator.mediaDevices.getUserMedia method to get the device permissions before playing a stream.
  • Safari does not support the addTrack and removeTrack methods.
  • Safari does not support enabling dual stream mode
  • On Safari, when calling APIs to get quality statistics, the values of some properties are 0. For example, when calling getLocalAudioStats to get the audio statistics of the local stream, the values of RecordingLevel and SendLevel are 0.

Firefox

  • When the Web SDK on Firefox communicates with the SDK on some devices, the video on Firefox is rotated.
  • Firefox does not support changing the frame rate (30 fps by default).
  • Setting the video profile on Firefox does not take effect on the following devices:
    • MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports)
    • Windows 10 (MI)
  • On Firefox, when calling APIs to get quality statistics, the values of some properties are 0. For example, when calling getLocalAudioStats to get the audio statistics of the local stream, the values of RecordingLevel and SendLevel are 0.
  • On Macs with the Apple M1 chip, Firefox does not support H.264. For details, see the Firefox documentation.

Compatibility Matrix

WebRTC Support – Browser / Device

WebRTC Support – Browser Version

Screen Sharing Support – Browser / Device

OS / BrowserChrome v72+SafariFirefoxEdge
WindowsYesYesYesYes
OSXYesYesYes 
UbuntuYes Yes 
AndroidReceive Only Receive Only 
IOS 12+N/AReceive Only