Проблема ограничения битрейта Mediasoup с react-native

#java #android #react-native #webrtc #mediasoup

Вопрос:

Я пытался установить ограничение на битрейт, создаваемый устройством mediasoup, но это не сработало. Я использовал несколько подходов, но все равно не получил никакого результата. Используя webrtc-внутренних наблюдателей в Google Chrome, я заметил, что скорость передачи данных, полученная другим клиентом, достигает. Например, 2 Мбит/с, что мне не подходит.

Ниже приведены два подхода, которые я использовал:

———————————Первый ———————————

 const videoTrack = localStream.getVideoTracks()[0];
var params = { track: videoTrack, zeroRtpOnPause: true, appData: { mediaType: ‘camera’ }, disableTrackOnPause: true };
cameraProducer = await producerLocalTransport.produce(params);
cameraProducer.setRtpEncodingParameters({ active: true, maxBitrate: 50000 });
 

———————————Второй——————————

 const videoTrack = localStream.getVideoTracks()[0];
var params = { track: videoTrack,encodings:[{maxBitrate: 50000}], zeroRtpOnPause: true, appData: { mediaType: ‘camera’ }, disableTrackOnPause: true };
cameraProducer = await producerLocalTransport.produce(params);
 

Кто-нибудь может помочь? Заранее спасибо.

Ответ №1:

Вам нужно установить ограничения на видео, когда у getUserMedia, разрешения и частоты кадров должна быть тонкая настройка, чтобы вы могли уменьшить пропускную способность.

Есть несколько хороших трюков: автоматическое отключение звука и видео, когда динамик перестает говорить, и автоматическое включение, когда он снова начинает говорить, это сэкономит большую пропускную способность, уменьшит загрузку процессора (использование сервера).