Отпадает вебка время от времени

На не очень хорошем интернет-соединении частенько пропадает вебка. Микрофон - вполне стабилен. Что может быть причиной? Всё выглядит так как будто соединение прервано пользователем.

host-controller.js:267 playing webby_cohost_camera
host-controller.js:296 failed webby_cohost_camera
host-controller.js:145 FAILED
host-controller.js:145 FAILED
сообщения в логе исчерпываются вот этим

Субъективно интернет не настолько плох. Куда смотреть? Ах да, у меня у вебки audio: false, то есть потоки видео и аудио - раздельные.
 

Max

Administrator
Staff member
Проведите пожалуйста тест еще раз и пришлите
Code:
WCS_HOME/logs/server_logs/flashphoner.log
WCS_HOME/logs/cdr
WCS_HOME/conf
на logs@flashphoner.com
Скорее всего в логах видно причину дисконнекта.
Если канал не очень хороший и при этом на сервере выставлен высокий webrtc_cc_min_bitrate и webrtc_cc_max_bitrate, то браузер может забить канал, что приведет к разрыву соединения.
 
Выслал. Проблема стала весьма острой - часто поток живёт всего несколько секунд. Канал при этом не то чтобы сильно плох.

21:27:59,461 INFO Agent - Stun receiver udp/31148 ICE
state changed from Completed to Failed by ICE keep alive. Local ufrag
6d4b3e60-5163-11e8-953b-df1424cb6cc17fle11ccrenhsh

подозрения вот на эту строку. проблема повторяется только у меня, и мой роутер явно со сложным характером, так что подозреваю что мне нужен TURN. так? как настроить его? или есть более простое решение? в то время когда поток работает - он работает отлично. А потом на ровном месте исчезает причём даже лампочка вебки продолжает гореть, а в webrtc-internals что-то такое (приаттачил скриншот - график просто обрывается)

типа был поток, и нет его. в логе браузера FAILED без комментариев

app.js:130 muted false
app.js:150 control false
serverApi.js:278 playing 5aef56f74ccea91b0599248e_5aef09ec435f3e58731dee77_camera
serverApi.js:285 failed 5aef56f74ccea91b0599248e_5aef09ec435f3e58731dee77_camera
serverApi.js:227 FAILED

О! еще идея. важно знать что поток не имеет аудио. я аудио отдельно шлю. насколько видно, потоки видео и аудио отдельно - не слишком часто используемая вещь у вас, может быть с этим какие-то проблемы?
 

Attachments

Last edited:
От провайдера не зависит, кстати. 2 разные модели роутера и соединение по разным технологиям. Правда, до меня довольно большой пинг, я на долбаном острове.

Прошу заметить - проблемы с качеством видео нет вообще. Когда вебка работает - она работает очень хорошо, без снега, артефактов, со стабильной задержкой, а потом хренак - и пропадает. Иногда пропадает всего через 10-20с как в примере лога что я отправил, иногда работает очень долго - минут по 10-20 - и так и не отпадает никогда - но в целом проблема есть. Думаю присланный лог является наилучшей её иллюстрацией тк отвалилось быстро.
 
Нет идей? Просто вроде как у нас всё остальное стабильно работает. Это последнее что сдерживает бету.
 

Max

Administrator
Staff member
Попробуйте добавить настройку в flashphoner.properties
Code:
stun_freshness_timeout=1000000000
По умолчанию она равна 15000 = 15 секунд.

После установки соединения по WebRTC, WCS и браузер обмениваются STUN пакетами (это называется ICE freshness).
Если пакетов нет 15 секунд, соединение закрывается.

В вашем случае, нужно снять одновременно:
1. Дамп на сервере.
Code:
tcpdump -s 4096 -w log.pcap
2. Дамп на браузере с помощью Wireshark.
Пришлите нам пожалуйста эти два дампа. Тогда сможем точно сказать что делать с этой проблемой.
Возможно пробема в вашем NAT и придется использовать TURN сервер.
 
>stun_freshness_timeout=1000000000
помогло. спасибо! не уверен пока что полностью, но на данный момент проблема ушла.
 
да, всё хорошо, затыкаться перестало.
какие могут быть побочки этого фикса? на что обратить внимание?
 

Max

Administrator
Staff member
Code:
какие могут быть побочки этого фикса? на что обратить внимание?
Сервер будет лишний раз думать что стрим жив, когда это на самом деле не так.
Т.е. будет считать стрим активным, когда пакеты до браузера на самом деле не доходят.
 
А могут быть какие-то реальные сценарии того что стрим отвалится а вебсокет-соединение с тем же клиентом для сигналинга - нет?
 
Проблема появилась снова. stun_freshness_timeout=1000000000. но стримы (всех видов) часто отпадают, живут по несколько минут. куда смотреть?
 

Max

Administrator
Staff member
Пришлите нам или дайте ссылку на скачивание:
1. Все логи (файлы) из папки WCS_HOME/logs за последний час-два
2. WCS_HOME/conf
3. Указать имена стримов, которые отвалились.
Или просто SSH доступ. Проверим.
support@flashphoner.com

Еще можно поставить выбранное подключение на debug с помощью REST вызова
Это можно сделать в версии 5.1
https://docs.flashphoner.com/display/WCS5EN/WCS+Core+logs#WCSCorelogs-Logginglevelmanaging"onthefly"
Но может случиться так, что стрим как раз этого клиента не отвалится.

Также рекомендуем установить систему мониторинга сервера, например Zabbix, чтобы отслеживать ключевые параметры системы.
 
Top