本页列出使用 Web SDK 的浏览器已知问题和功能已知限制。

浏览器已知问题

如无特殊需求,建议使用 VP8 视频编码。使用 H.264 编码可能会导致开启硬件加速后出现一系列问题,包括帧率、码率、分辨率达不到目标值;视频花屏、黑屏;弱网环境下体验较差等。

桌面端
浏览器已知问题与解决方案

Chrome

  • 某些 Windows 设备上硬件加速对视频渲染处理时导致画面抖动。
    解决方案:关闭硬件加速。

  • 在 Windows 设备上使用 Chrome 进行屏幕分享,选择分享微信、QQ、钉钉、WPS 应用窗口时可能出现采集黑屏,或拖动应用窗口时出现采集黑屏。
    解决方案:建议分享整个屏幕。

  • 在 Windows 设备上使用 deviceId 为 "default" 或 "communications" 的麦克风时,如插入新的麦克风再拔出,原麦克风采集可能中断。
    解决方案:避免使用 deviceId 为 "default" 或 "communications" 的麦克风。

  • 在同一 PC 设备上同时使用 Chrome 和 Safari 进行音视频通话时,订阅端出现 Chrome 声音变小、Safari 视频图像略大于 Chrome 的现象。

Safari

  • Safari 16 对外部采集的视频截图时,截图内容为黑屏。

  • Safari 13 可能听不到远端用户的声音。

Firefox

  • 由于 Firefox 没有旋转视频画面的 RTP 扩展头,使用 Firefox 与其他设备互通时,Firefox 端看其他端的视频画面会发生旋转。
    解决方案:使用 CSS 实现旋转。

  • Firefox 仅支持设置视频帧率为 30 FPS。

  • 首次安装 Firefox 浏览器会在联网状态下动态安装 H.264 编解码器。安装完成前,无法正常使用 Web SDK 推拉流。
    解决方案:调用 getSupportedCodecs 获取当前浏览器支持的编解码类型。若检测到 Firefox 浏览器不支持 H.264 编解码,则使用 Firefox 打开 about:addons,在“插件”中检查 OpenH264 的安装情况,等待安装完成后再进行通话。

移动端
平台已知问题与解决方案

Android

  • 由于华为设备限制,部分版本的华为浏览器及华为设备上的 Chrome 浏览器无法推流和订阅视频。
    解决方案:使用 VP8 编码。

  • 在某些 Android 12 设备上(如 Google Pixel 3/Pixel 4、红米 K50)使用 Chrome 浏览器或 Chromium 内核浏览器 97 以下版本开启视频硬件编码可能会导致花屏。
    解决方案:使用 Chrome 97+。

  • 由于 Android 设备的音频路由全部由 Android 操作系统分配而 Chromium 不能修改,用户使用 Chromium 为内核的浏览器加入音视频通话并从扬声器切换到蓝牙耳机时,远端用户的音频仍然通过扬声器播放。参看 Chromium Issue 1317548。

iOS

  • iOS 15.x 上的所有浏览器及内嵌 WKWebView 的应用(如微信浏览器和 Chrome 浏览器),在 DOM 中播放视频且在 video 元素或其父元素添加某些 CSS 属性(如 transform、animation)后,或者改变 CSS 属性重绘视频渲染区域后,有概率视频播放出现黑屏。参看 Webkit Bug 230532。
    解决方案:尽量减少更改 video 元素及其父元素的 CSS 属性。

  • iOS 15.1 使用 H.264 推流导致页面崩溃。参看 Webkit Bug 232381、Webkit Bug 231505。
    解决方案:使用 iOS 15.2+ 或使用 VP8 推流。

  • iPhone 14 Pro/iPhone 14 Pro Max 设备上使用 iOS 16.0 出现音频采集失败或音频断流现象。
    解决方案:使用 iOS 16.1+。

  • iOS 15 以下版本无法使用 video 元素播放 canvas.captureStream 采集的外部视频。参看 Webkit Bug 181663。
    解决方案:使用 iOS 15+。

  • iOS 15 以下版本连接耳机时无法切换到内置麦克风,始终通过耳机麦克风输入。参看 Webkit Bug 233634。

  • 在 iPad 设备上使用 iOS 15 以下版本调用 enumerateDevices 无法获取外置音频输入设备信息。
    解决方案:使用 iOS 15+。

  • iOS 13 和 iOS 14 上可能出现远端用户音量随机变化的问题。

  • 切换前置、后置摄像头时采集画面可能出现瞬间旋转。

  • 语音路由不稳定,可能出现连接外置耳机时通过扬声器播放,或未连接耳机时自动切换扬声器和听筒。

  • 连续两次调用 getUserMedia 获取相同媒体类型的轨道时,第一次获取的媒体轨道会静音或黑屏,建议避免这样的操作。

  • 在其他应用中使用过音视频输入设备后(如 Siri 或微信),无法通过 Web SDK 采集本地音频或视频。

  • iOS 11 和 12 中,旋转视频画面的 RTP 扩展头不生效。
    解决方案:使用 CSS 实现旋转。

功能已知限制
屏幕共享
获取设备列表
获取和设置扬声器设备
收发 SEI
插件功能