WebRTC: использование getStats()

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

TypeError: Not enough arguments to RTCPeerConnection.getStats.

Я думаю, что из-за того, что в 2016 году что-то в webRTC изменилось и появились mediaStreamTracks; однако я построил проект без mediaStreamTracks и не знаю, как изменить эту функцию, чтобы заставить ее работать.

У тебя есть идеи? Спасибо за поддержку!

ОБНОВЛЕНИЕ:

мой звонок

peer.pc.onaddstream = function(event) {
      peer.remoteVideoEl.setAttribute("id", event.stream.id);
      attachMediaStream(peer.remoteVideoEl, event.stream);
      remoteVideosContainer.appendChild(peer.remoteVideoEl);
      getStats(peer.pc);
};

и getStats() идентичны этой ссылке на глава №7.


person Don Diego    schedule 08.07.2016    source источник
comment
Разместите код. Особенно твой звонок getStats()   -  person KRONWALLED    schedule 08.07.2016
comment
getStats() нужен параметр mediaStreamTrack в качестве параметра, насколько я помню.   -  person Samuel Méndez    schedule 08.07.2016
comment
Обновленный вопрос! P.s. а если я позвоню peer.getStats(null, function(...) ) ?   -  person Don Diego    schedule 08.07.2016
comment
Это должно. Трек является всего лишь фильтром и может быть опущен с помощью null.   -  person jib    schedule 08.07.2016
comment
Я бы закрыл это как дубликат этот вопрос , за исключением того, что вы, похоже, хотите, чтобы он работал именно в Chrome, верно?   -  person jib    schedule 08.07.2016
comment
Я думаю, все будет хорошо, не могли бы вы просто добавить теги пропускной способности и медиапотока или статистики к исходному вопросу? я новенькая и не могу   -  person Don Diego    schedule 11.07.2016


Ответы (1)


когда-то с тех пор, как я использовал WebRTC, проблема заключалась в том, что chrome и firefox реализовали это по-разному (поверьте, они все еще делают это по-разному)

Fire Fox:

вкладка статистики webrtc about:webrtc

peerConnection.getStats(null).then(function(stats){...  // returns a promise

Хром:

вкладка статистики webrtc chrome://webrtc-internals/

peerConnection.getStats(function(stats){ // pass a callback function

один из способов обойти эти кроссбраузерные проблемы — использовать adapter.js.

person mido    schedule 08.07.2016
comment
Да, Firefox реализует это в соответствии с spec, а Chrome — нет. См. этот вопрос. - Да, adapter.js помогает в соглашении о вызовах, но обратите внимание, что он не переименовывает специфичные для Chrome ключи статистики еще. - person jib; 08.07.2016