WebRTC - Оптимизация нескольких видеопотоков - PullRequest
0 голосов
/ 14 мая 2018

Добрый день.Я пытаюсь построить онлайн-чат в режиме реального времени, который должен поддерживать до 51 одновременно работающих пользователей.В настоящее время я сталкиваюсь с проблемой, когда браузер клиента теряет производительность при декодировании нескольких видеопотоков.Могу ли я в любом случае улучшить производительность браузера клиента, поддерживая как можно больше пользователей?

Мое единственное требование - поддерживать до 51 пользователя в комнате, я открыт для любых идей и предложений.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Я предложу немного практики. Но, может быть, трудно охватить до 51 пользователя только в клиентской среде. Поэтому, прежде чем попробовать, также рассмотрите медиасервер, предназначенный для видеоконференций, как ваше требование.

MCU / SFU Media Server для видеоконференций

Оптимизация

Вы можете оптимизировать производительность. Но я не совсем уверен, что в одном документе можно обслуживать до 51 пира.

Низкое разрешение

Такой, как разрешение 320х240. Он использует меньше ресурсов каждого клиента p2p. Вы можете установить с ограничениями СМИ.

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

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

H264

WebRTC может использовать H264, который является программным кодеком openh264 cisco. В некоторых отчетах говорится, что он потребляет меньше ресурсов процессора, чем VP8, который является кодеком по умолчанию для WebRTC.

Вы можете изменить кодек для управления 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
0 голосов
/ 01 мая 2019

Возможно, вы можете использовать элемент canvas для фильтрации видеопотоков перед их передачей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...