Как отслеживать сеть или отлаживать одноранговое соединение WebRTC
Мне интересно, есть ли какой-либо инструмент или какой-либо метод, я могу видеть, что такое одноранговое соединение WebRTC?
Для простого примера, если я использую видеочат с использованием webrtc, все соединение (предложение, ответ, лед) установлены, но я не вижу потокового видео, как я могу отлаживать и видеть, что есть какой-либо пакет или что-то еще отправка между этими двумя сверстниками или нет.
Ответы
Ответ 1
Если вы используете Chrome, вы можете перейти к chrome://webrtc-internals
. Это покажет вам предложение, ответ, состояния ICE и статистику о соединении (после его создания).
Для более глубокой отладки вы можете просмотреть журналы всех STUN-контактов между кандидатами, запустив Chrome со следующими флагами:
--enable-logging --v=4
Журналы будут в файле chrome_debug.log
в вашем каталоге данных пользователя: http://dev.chromium.org/user-experience/user-data-directory
Ответ 2
В видеоролике может быть несколько причин.
-
Ответит ли ваш оглушающий сервер? Чтобы проверить это, запишите ледяные кандидаты, которые вы получаете в консоли. а затем проверьте их тип. если ваш оглушающий сервер отвечает, тогда вы увидите тип srflx, а не только ледяные кандидаты типа "хозяин". Вы также можете найти их в chrome://webrtc-internals.
-
Вы прикрепляете правильный элемент src к элементу видео один раз, когда onaddstream вызывается обратно объектом RTCPeerConnection?
-
Вы должны вызвать метод .play() в элементе видео явно из вашего javascript, чтобы запустить удаленный видеопоток.
Ответ 3
Есть способы отлаживать базовый статус подключения. Если вы используете веб-приложение, вы можете перейти к статистике браузера. Для хром chrome://webrtc-internals
(Структура API). Этот поток также может быть полезен (с использованием peerJs). Для firefox откройте about:webrtc
.
Для собственных приложений, то есть для окон вы берете журнал из самого компилятора. В MS Visual Studio 2015 попробуйте Debug > Attach Process > ваше собственное приложение PID, Debug > windows > output.