浏览器兼容性和已知问题

Web sdk 浏览器兼容性和已知问题

Web SDK 使用限制如下所示,为保证最佳体验,建议用户更新至各浏览器最新版本。

注意当前视频仅支持H.264编码,VP8编码暂无法支持,由此会影响到SDK对一些平台或系统、浏览器版本的支持已在下方注明。

一、桌面端

浏览器兼容性

操作系统

浏览器

拉流

推流

屏幕共享

Windows

Chrome

69+

69+

69+

Edge

80+

80+

80+

Firefox

69+

69+

69+

macOS

Chrome

69+

69+

69+

Edge

80+

80+

80+

Firefox

69+

69+

69+

Safari

11+

11+

13+

已知问题和限制
  • 在 Windows 设备上使用 deviceId 为default或communications的麦克风时,如果插入新的麦克风再拔出,原麦克风的采集可能中断,建议避免使用default或communications的麦克风。Chrome issue

  • 部分Windows设备Chrome 111+版本屏幕分享会有鼠标重影、闪烁问题,暂时无法解决,需要等待Chrome修复。Chrome issue

  • Mac 设备中,Mersive Solstic 软件的虚拟摄像头驱动会导致 Chrome 无法获取摄像头列表,导致无法采集摄像头,建议用户删除该虚拟摄像头驱动。Chrome issue

  • macOS上Chrome84版本有概率出现帧率突然下降导致图像卡顿,建议浏览器升级至最新版本。Chrome issue & Chrome issue

  • Firefox 只支持视频帧率为 30 fps,不能调整为其他帧率。

  • Firefox会动态安装H.264编解码器,在成功前无法进行音视频通信,可以通过getSupportedCodec检测,若不包含H.264,可引导用户在Firefox打开地址about:addons,到 插件 中检查 OpenH264 是否安装成功,就绪后再进行通话。Firefox issue

  • Firefox不支持CVO(Coordination of video orientation),订阅的移动端的视频可能方向不正确。Firefox issue

  • Safari 不支持修改扬声器。

  • Safari 11只支持 480p 及以上的分辨率。

  • Safari 14.0.1 和 14.2 音频可能断断续续或有杂音,建议升级系统版本。Webkit issue

  • Chrome 81+、Safari 和 Firefox需要在获得媒体设备权限后才能获取设备,因此会影响获取设备相关方法。

二、移动端

浏览器兼容性

操作系统

浏览器

拉流

推流

屏幕共享

Android

Chrome

69+

69+

不支持

微信内嵌浏览器(包含小程序)

7.0.20+

7.0.20+

不支持

支付宝小程序

10.5.26+

10.5.26+

不支持

iOS >= 12.2且<14.3

Chrome

69+

不支持

不支持

微信内嵌浏览器(包含小程序)

8.0.13+

不支持

不支持

Safari

11+

11+

不支持

支付宝小程序

10.5.26+

不支持

不支持

iOS>=14.3

Chrome

92+

92+

不支持

微信内嵌浏览器(包含小程序)

8.0.13+

8.0.13+

不支持

Safari

11+

11+

不支持

支付宝小程序

10.5.26+

10.5.26+

不支持

说明

针对微信/支付宝小程序,您可以通过小程序内置的webview 标签设置src属性来集成使用JavaScript开发好的在线页面链接来完成相关需求。详细集成方式可参考对应厂商的官方文档,例如微信小程序的web-view,支付宝小程序的web-view

已知问题和限制
  • 由于H.264版权限制,SDK不支持华为设备部分版本的Chrome浏览器和以Chrome WebView为内核的浏览器。

  • Android System Webview M79 以下的版本,无法使用 H264 解码,导致SDK无法支持,建议引导用户升级至M79+。Chromium issue

  • 部分Android 12 的设备,其使用Chrome 浏览器或 Chromium 内核浏览器 97 或以下版本时可能会花屏,这是因为Chromium WebRTC 模块视频编码回退,建议升级Chrome版本。Chromium issue

  • Android设备上创建两个摄像头视频轨道出现报错, 可以先调用 close 或 setEnable(false) 释放已有的视频轨道。

  • 部分小米及OnePlus机型在佩戴蓝牙耳机进行通话时可能无法听到远端用户的声音,原因可能是Chromium在切换蓝牙设备协议时产生异常,建议增加蓝牙耳机可能出现无声的提示。

  • Android设备上在音频采集发送时,若中途佩戴起蓝牙耳机,远端用户音频可能会仍通过扬声器播放。Chromium issue

  • 若用户加入另一个有使用Android设备Chrome119版本且没佩戴耳机的用户的频道,会听到自己的回声,建议升级浏览器版本。Chromium issue

  • 微信浏览器不支持自动播放,且当次用户通过操作恢复播放后下一次仍然无法自动播放,原因可能是微信浏览器对自动播放行为处理的异常,建议在autoplay-failed事件中引导用户恢复播放。

  • iOS16系统版本的iPhone14机型音频采集功能异常,建议使用setMuted代替setEnabled来控制发送,不要调用close来关闭。Webkit issue

  • Safari 不支持多个 tab 来采集音视频,否则前一个 tab 会停止采集,远端流也有可能出现黑屏无声,建议在切换tab时停止采集,重新获焦时再恢复。Webkit issue

  • iOS13、14无法编码高于 720p 的视频,建议设置视频的分辨率不超过 720p,或升级到 iOS 15 及以上版本。

  • iOS连续采集相同类型媒体数据会导致第一次获取到的状态为静音或黑屏。

  • iOS在浏览器或应用切换到后台后,远端用户看到本地用户的画面将会为黑屏,这是苹果官方限制。苹果说明

  • iOS 14.4 至 15.x 上内嵌 WKWebView 的应用切换到后台时,音频流发送会中断。苹果说明

  • Safari 14.2 上音频或有杂音,建议升级系统版本。Webkit issue

  • iOS15.1.x上的浏览器和内嵌WKWebView的应用在发送视频流后页面崩溃,这是因为该系统版本上webkit H.264编码有回退,建议升级系统版本。Webkit issue

  • iOS15.x上的浏览器和内嵌WKWebView的应用被其他应用打断后,可能无法自动恢复播放,建议引导用户刷新页面。Webkit issue&Webkit issue

  • iOS15.x和16.x播放视频时有概率黑屏,建议减少对video元素及其父元素的css修改。Webkit issue

  • iOS15.x使用蓝牙耳机播放音频时有概率失真,建议增加提示使用用户蓝牙耳机可能会出现问题,或升级系统版本。Webkit issue

  • iOS 15.0 至 15.3 上的浏览器及内嵌 WKWebView 的应用听到远端音频音量低,建议升级系统版本。Webkit issue

  • iOS16.0 特定方向旋转屏幕后,视频画面被拉伸,该系统版本WebKit 的 WebRTC 模块功能有回退,对 RTP 协议的图像方向(Coordination of video orientation, CVO)功能支持异常,建议增加提示信息。

  • iOS不支持通过setVolume调整音量。

  • iOS不支持发送1080P+分辨率的视频流。

三、关于 Vue 3 响应式及 Proxy

由于Vue 3 基于 Proxy 实现响应式,请开发者使用 Vue markRaw 将Client,LocalTrack,RemoteTrack 等 SDK 实例设置为非响应式属性,若对 SDK 实例加了 Proxy,可能会导致 SDK 异常。