Проблемы с воспроизведением стрима после обновления

alexanderY

Member
Здравствуйте.
Обновил сегодня Flashphoner на сервере (проверил, версия 5.0.2072). Демо "Two-way Streaming" не работает.
Настроено следующим образом: поддомен wcs5.host.com указывает на сервер с wcs5. На том сервере установлен nginx в качестве прокси (443 => 8443). Алексей помогал настраивать ещё в декабре. До обновления всё работало.
По шагам, в демо:
  1. Подключаемся к wss://wcs5.host.com/socket — ESTABLISHED
  2. Нажимаем Publish - всё в порядке, PUBLISHING, в левом окне себя вижу
  3. Нажимаю Play - PLAYING, но изображения и звука нет.
Алексей еще до НГ добавлял настройку "exclude_mac_from_candidates_gathering=6a:9b:80:b0" во flashphoner.properties, но сейчас, если её добавить, я не могу даже опубликовать стрим, всё время FAILED.
 

Max

Administrator
Staff member
Здравствуйте.
Пришлите пожалуйста полный SSH-доступ к серверу на адрес logs@flashphoner.com. Проверим.
 

Max

Administrator
Staff member
Если используется два и более сетевых интерфейсов (кроме lo), то нужно оставить только один для WebRTC, исключив остальные.
Посмотреть все сетевые интерфейсы можно командой
Code:
ifconfig
Например, если доступны интерфейсы: eth0, eth1, lo
то eth1(внутренний) нужно исключить и оставить только eth0 и lo.
Чтобы исключить, используются следующие настройки:
1. Исключаем по MAC адресу. Можно указать один адрес или перечислить через запятую список MAC адресов, которые будут исключены из WebRTC.
Code:
exclude_ips_from_candidates_gathering=00:11:D8:44:2C:8F
2. Исключаем по IP адресу. Можно указать один адрес или список IP адресов через запятую.
Code:
exclude_ips_from_candidates_gathering=192.168.1.44
В вашем случае первый способ не работает, т.к. у вас для обоих интерфейсов используется один и тот же MAC адрес, в результате ни один интерфейс не доступен для WebRTC.
Попробуйте второй способ.
Изменение этой настройки требует перезагрузки сервера.
Code:
service webcallserver restart
В дальнейшем, если будете обновляться, достаточно скачать обновление и вызвать
Code:
./install.sh
Этот скрипт обновит сервер до последней версии и не тронет конфиги и активацию. Т.е. при обновлении де-инсталляция не требуется.
 

alexanderY

Member
Вывод команды ifconfig:
Code:
eth0      Link encap:Ethernet  HWaddr 6a:9b:80:b0:36:83
          inet addr:46.101.136.62  Bcast:46.101.191.255  Mask:255.255.192.0
          inet6 addr: fe80::689b:80ff:feb0:3683/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:49975769 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46977782 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:39315908248 (39.3 GB)  TX bytes:38842240037 (38.8 GB)

eth0:1    Link encap:Ethernet  HWaddr 6a:9b:80:b0:36:83
          inet addr:10.19.0.5  Bcast:10.19.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:927128 errors:0 dropped:0 overruns:0 frame:0
          TX packets:927128 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:619485879 (619.4 MB)  TX bytes:619485879 (619.4 MB)
Соответственно, добавил строку "exclude_ips_from_candidates_gathering=10.19.0.5". Перезагрузил. Всё также — ESTABLISHED, PUBLISHING, PLAYING, но картинки и звука нет. Ещё до этого изменения моему коллеге пару раз удалось проиграть стрим, но потом и у него перестало работать.

P.S. Спасибо за подсказки по обновлению.
P.P.S. На почту вам отписался по поводу доступа.
 

Max

Administrator
Staff member
Тестируем с вашим сервером в Chrome. Все работает.
test.jpg
Если ваш сервер за NAT и вы тестируете из локальной сети, в которой находится сервер: 10.19.0.5, то могут быть необходимы дополнительные настройки.
Попробуйте тестировать из другой сети.
Если снова не проходит, дайте версию браузера и какие-то скриншоты, чтобы можно было повторить. Пока видим что 10 из 10 работает.
 

alexanderY

Member
Мы тестируем не из локальной сети. Сервер в Digital Ocean, а мы сами просто дома. Мы в разных городах, так что сети разные.
Вот так выглядит у меня в 10 случаях из 10 https://yadi.sk/i/skumGi5S3DMQyp
Версия браузера Firefox 51.0.1, автообновление включено, т.е. всегда последняя версия. У коллеги Хром, также всегда актуальная версия. У меня Win, у него Mac. Напоминаю, что пару раз у него завелось. У меня ни разу.

Вообще мы нацелены на то, чтобы работало по домену https://wcs5.xxxxxxx.ru/dashboard.xhtml (адрес для коннекта в таком случае wss://wcs5.xxxxxxx.ru/socket). Но я попробовал сделать точно также как у вас, зашел по ip-адресу. Исключения безопасности для сертификата подтвердил, но результат, собственно, на скриншоте.
 
Last edited:

Max

Administrator
Staff member
У вас при переустановке слетели сертификаты.
Все сертификаты импортируются в файл wss.jks
Посмотреть текущие сертификаты можно командой:
Code:
keytool -v -list -keystore /usr/local/FlashphonerWebCallServer/conf/wss.jks
Пароль: password
Скорее всего, если вы заново проведете импорт сертификатов, как описано здесь, то у вас все заработает.
В дальнейшем, если будете переустанавливать сервер, сохраните файл wss.jks - его достаточно просто скопировать в папку conf чтобы заработал SSL на домене.

Если тестируете с IP-адресом, то предварительно нужно открыть страницу https://host:8443 и пройти шаги по добавлению Self-signed сертификата, который поставляется с сервером. Процесс для Firefox (3 шага) недавно был описан здесь.
 

alexanderY

Member
У вас при переустановке слетели сертификаты.
Ок, спасибо за подсказку, сейчас посмотрим.
Если тестируете с IP-адресом, то предварительно нужно открыть страницу https://host:8443 и пройти шаги по добавлению Self-signed сертификата, который поставляется с сервером. Процесс для Firefox (3 шага) недавно был описан здесь.
Разумеется. Я писал вышел, что эти шаги проделаны. Не помогло.
 

Max

Administrator
Staff member
Т.е. при использовании IP адреса нужно пройти процедуру дважды
1) Для https://host:8443 (Websockets)
2) Для https://host:8888 (HTTPS Dashboard)
Такой workaround проверяли только на Windows. Mac не понятно как себя поведет и даст ли импортировать self-signed сертификаты.
 

alexanderY

Member
Да, подтверждаю, процедуру прошел дважды, всё равно не помогло. Пока я не прошел эту процедуру для 8888, дэшборд вообще не открывался. Пока не прошел для 8443, не устанавливалось соединение (FAILED вместо ESTABLISHED). Сейчас соединение есть, стрим публикуется, но результат - как на скрине выше.
 

Max

Administrator
Staff member
Еще можете попробовать зачистить SSL сертификаты в браузере, которые относятся к этому IP и к этому домену и пройти шаги https://host:8443 и http://host:8888 заново. Возможно у вас что-то закэшировалось.
 

alexanderY

Member
Еще можете попробовать зачистить SSL сертификаты в браузере, которые относятся к этому IP и к этому домену и пройти шаги https://host:8443 и http://host:8888 заново. Возможно у вас что-то закэшировалось.
Зачистил, перезапустил браузер. Без изменений. Зато выяснил кое-что ещё. Проблема, видимо, именно с публикацией в Firefox.
1. Публикую в Хроме, просмотр в Хроме и Фаерфоксе работает.
2. Публикую в Фаерфоксе, просмотр не работает ни в Хроме, ни в Фаерфоксе. Точнее, статус то PLAYING в обоих браузерах, но ни картинки, ни звука нет.

Мне сейчас на ум приходит (1) создание нового профиля в Фаерфоксе и (2) переустановка браузера, но оба варианта сомнительные, если честно.
 

Max

Administrator
Staff member
С нашим демо-сервером те же проблемы?
https://wcs5-eu.flashphoner.com/demo2/streaming
Можете еще попробовать снять дамп через Wireshark и отправить нам pcap файл на logs@flashphoner.com для анализа.
Также пригодился бы скриншот с консолью FF или логи FF. Возможно там есть какие-то ошибки.
 

alexanderY

Member
Нет, с вашим сервером проблем нет. Я думаю, дело именно в моём FF, так или иначе. Потому что у коллеги работает нормально. У меня сегодня тоже заработало, хотя пока что с переменным успехом (иногда стрима нет, но если перезагрузить страницу и опубликовать заново — появляется).
В консоли никаких ошибок, это я проверяю всегда в первую очередь.
Если проблема долго не будет уходить, или повторится у других юзеров, займусь снятием дампов.
 
Top