How is Safari supported on the OpenTok platform?
Apple added support for WebRTC in Safari 11 for macOS and Safari on iOS 11, and you can now use OpenTok.js apps on Safari.
Additionally, Safari 12.1 supports the VP8 video codec, in addition to H.264. VP8 support in Safari 12.1 ships on macOS 10.14.4, and it is also available for macOS 10.13.6 and 10.12.6. And it is available in the latest iOS 12.2 release.
You must use version 2.16.0 or later of OpenTok.js to use the VP8 video codec in Safari.
For more information on video codec support, see this developer guide.
Which OpenTok endpoints do not interoperate with Safari?
- Mobile SDKs: iOS 2.11 or earlier, Android 2.12 or earlier, Android 2.13 on non-reference Android devices that are using Lollipop (Android OS v5) or earlier
- Desktop SDKs: OpenTok Windows SDK 2.12 or earlier
Does recording (archiving) work with Safari?
Yes, composed recording works with Safari.
Does screensharing work with Safari?
Safari does not support the screen capture of the Safari participant’s screen, however, Safari does support the rendering of a remote participant’s screen capture (e.g. from Chrome or Firefox).
Does Broadcast work with Safari?
No, we recommend that you use the VP8 codec for Broadcast applications. The Simulcast feature does not work with H.264 and we recommend Simulcast is used for Broadcast applications.
What about Chrome and Firefox on iOS, do they work?
OpenTok.js now includes beta support for Google Chrome for iOS and Firefox for iOS.
Does Safari support routed and relayed sessions?
Yes, you can use either server configuration to support sessions in Safari.
Does Safari support enumerateDevices API?
Currently, enumerateDevices() API is not yet supported in Safari browsers which means that some functions like getAudioOutputDevices() won't behave as expected.
Can Safari access camera in multiple concurrent tabs?
It is a known issue with Safari that when you use multiple tabs at once, the browser cannot access the camera. This happens because Safari allows only one tab to access your microphone and webcam at any given time. If you open another tab and join a webRTC session, the video on the initial tab will turn black. You can detect when the camera is taken away by listening to the 'pause' event on the video element.