首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >减少发送流量的webrtc配置

减少发送流量的webrtc配置
EN

Stack Overflow用户
提问于 2019-12-27 13:24:46
回答 1查看 123关注 0票数 0

我正在开发使用webrtc技术的音视频通话功能。当其中一个参与者处于不稳定的网络(移动网络)中时,我遇到了这种情况。在这种情况下,参与者的音频和视频开始冻结,出现延迟等。我认为为了解决这个问题,有必要配置应用程序,使其发送的流量更少。

请告诉我有哪些webrtc配置可以减少发送流量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-29 06:09:58

大多数繁忙的流量将是视频。其中一个解决方案是限制视频质量或完全禁用它。您可以使用以下代码限制视频质量:

代码语言:javascript
运行
复制
const displayMediaStream = await getDisplayMediaStream();
        let supports = navigator.mediaDevices.getSupportedConstraints();

        if (!supports["width"] || !supports["height"] || !supports["frameRate"] || !supports["facingMode"]) {
          // We're missing needed properties, so handle that error.
        } else {
          let constraints = {
            width: { min: 640, ideal: 1920, max: 1920 },
            height: { min: 400, ideal: 1080 },
            aspectRatio: 1.777777778,
            frameRate: { max: 30 }
          };

          displayMediaStream.getVideoTracks()[0].applyConstraints(constraints)
        }
        return displayMediaStream.getVideoTracks()[0];

你可以玩弄这些值。

此外,问题可能出在浏览器的编解码器中。例如,在屏幕共享的情况下,FF使用编解码器来生成高质量的视频流,这在静态图片的情况下是很好的,比如共享文档,当用户使用屏幕共享来广播动态视频时,问题就会出现。在这种情况下,FF通过发送~7 Gb的流来使网络过载。同时,Google Chrome更加智能,可以通过使用更好的编解码器来适应流量。我会用不同的浏览器做测试,如果问题出在FF,你可以尝试强制FF使用更好的编解码器,就像Google Chrome使用的一样,因为当你检测FF浏览器时,你必须修改SDP,你可以像这里描述的那样做:How can I change the default Codec used in WebRTC?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59496342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档