【问题标题】:WebRTC - Optimising multiple video streamsWebRTC - 优化多个视频流
【发布时间】:2018-05-14 11:11:36
【问题描述】:

美好的一天。我正在尝试建立一个基于 Web 的实时流式聊天室,它需要支持多达 51 个并发用户。我目前面临一个问题,客户端的浏览器在解码多个视频流时会受到性能影响。无论如何,我可以在支持尽可能多的用户的同时提高客户端的浏览器性能吗?

我唯一的要求是在房间里最多支持 51 个用户,我愿意接受任何想法和建议。

谢谢。

【问题讨论】:

    标签: html webrtc


    【解决方案1】:

    我会建议一些练习。但是,仅在客户端环境中可能很难达到 51 个用户。所以在尝试之前,也可以根据您的要求考虑用于视频会议的媒体服务器。

    用于视频会议的MCU/SFU媒体服务器

    优化

    您可以针对性能进行优化。但我不确定是否可以在同一个文档中为多达 51 个同行提供服务。

    低分辨率

    例如 320x240 分辨率。每个 p2p 客户端使用更少的资源。您可以设置媒体约束。

    https://webrtc.github.io/samples/src/content/peerconnection/constraints/

    {
        "audio": true,
        "video": {
            "width": "320",
            "height": "240"
        }  
    }
    

    H264

    WebRTC 可以使用 H264,它是 cisco 的 openh264 软件编解码器。一些报告说它使用的 cpu 功率比 WebRTC 的默认编解码器 VP8 少。

    您可以更改编解码器来操作 SDP。

    pc.createOffer(function(offer) {
      offer.sdp = removeCodec(offer.sdp, "H264");
      offer.sdp = removeCodec(offer.sdp, "VP9");
      peer_connection.setLocalDescription(offer);
    }, function(e) {}, media_constraints);
    
    // removeCodec function code
    // https://gist.github.com/tnoho/948be984f9981b59df43
    

    【讨论】:

      【解决方案2】:

      您可能可以使用 canvas-element 在传输视频流之前对其进行过滤。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-11-11
        • 2021-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多