#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, разрешения и частоты кадров должна быть тонкая настройка, чтобы вы могли уменьшить пропускную способность.
Есть несколько хороших трюков: автоматическое отключение звука и видео, когда динамик перестает говорить, и автоматическое включение, когда он снова начинает говорить, это сэкономит большую пропускную способность, уменьшит загрузку процессора (использование сервера).