日安。我正在尝试建立一个基于网络的直播聊天室,它需要支持多达51个并发用户。我目前面临一个问题,在解码多个视频流时,客户端浏览器的性能会受到影响。我是否可以在支持尽可能多的用户的同时,提高客户端的浏览器性能?
我唯一的要求是支持多达51个用户在房间,我是开放的任何想法和建议。
谢谢。
发布于 2019-05-02 02:33:09
我建议你练习一下。但是,也许仅仅在客户端环境中就很难接触到多达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,这是思科的openh264软件编解码器。有报道称,与VP8相比,WebRTC的默认编解码器使用的cpu功率要少一些。
您可以更改编解码器以操作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发布于 2019-05-01 14:52:43
在传输视频流之前,您可能可以使用画布元素过滤视频流。
https://stackoverflow.com/questions/50328892
复制相似问题