Перестали работать iOS клиенты

Mik

Member
Добрый день
Есть подозрение, что прошлое некое обновление IOS клиентов, после чего они (практически все) перестали писать видео.
Помогите, пожалуйста, с разбором логов (прилагаю).
 

Max

Administrator
Staff member
Добрый день.
По логам, почти сразу после начала публикации (а иногда до ее начала) соединение рвется по инициативе клиента (в том числе по таймауту websocket соединения)
conndr.log:
Code:
2021-06-07 14:30:28;/93.79.**.**:49654/***.***.**.**:8443-b166eb75-9c09-4a7d-a1f0-9c9c6d36bebc;DISCONNECTED;Disconnected by closed channel;95;
2021-06-07 14:32:02;/93.79.**.**:49656/***.***.**.**:8443-df63b3d9-c5d9-4f80-9440-03dc2c3c65a7;DISCONNECTED;Disconnected by keep alive;222;
...
2021-06-07 14:58:48;/93.79.**.**:49666/***.***.**.**:8443-c8370765-f6e2-436d-a6ca-8ae062103aa1;DISCONNECTED;Disconnected by closed channel;101;
2021-06-07 15:04:22;/93.79.**.**:49677/***.***.**.**:8443-23561227-80e8-449d-983d-dc4ee7b8fa21;DISCONNECTED;Disconnected by keep alive;77;
Выглядит так, что у данного клиента проблемы с сетью, возможно, сильные потери. Попробуйте повторить тесты с использованием другой сети.
В наших тестах с iOS 14.6 проблемы с публикацией потока из Safari с констрейнтами, заданными согласно данным из логов, не воспроизводятся.
 

Mik

Member
Дело в том, что проблемы начались сразу у многих iOS (если не у всех) клиентов.
На android и windows всё более или менее стабильно.
Стоит попробовать обновить версию сервера? Может быть в этом дело? Сейчас 5.2.901.
 

Max

Administrator
Staff member
Стоит попробовать обновить версию сервера? Может быть в этом дело? Сейчас 5.2.901.
Можете попробовать обновиться до 5.2.969. Но по логам проблема на стороне клиента, и проблема сетевая. Возможно, имеет смысл переключиться на публикацию по TCP
Code:
session.createStream({
    name: streamName,
    display: localVideo,
    ...
    transport: "TCP"
}).on(STREAM_STATUS.PUBLISHING, function (stream) {
...
}).publish();
 

Mik

Member
Сервер обновил, но это не помогло.
Прикладываю новый репорт.
Пробуем запись видео и совместные видео-сессии с двух айфонов (в разных странах). IP: 93.79.*.* и 195.239.*.*
Запись видео идёт (пытается идти) как раз по TCP.
 

Max

Administrator
Staff member
Проверили логи.
С указанных в комментарии к логам адресов найдено две успешных публикации, одна длительностью 7 минут и одна длительностью две минуты, в обоих случаях запроса на запись соответствующей сессии в логах не было. Возможно, проблема на бэкенде, который должен прислать REST запрос /stream/startRecording
Кроме того, рекомендуем установить настройку на стороне сервера
Code:
periodic_fir_request=true
По логам, ключевые фреймы идут редко, с промежутками до нескольких минут, медиаданные начинают записываться в файл только при получении очередного ключевого фрейма, иначе такую запись невозможно начать играть. Поэтому необходимо обеспечить их регулярное поступление от браузера (по умолчанию каждые 5 секунд).
 
  • Like
Reactions: Mik

Mik

Member
Спасибо за помощь, разобрались. Проблема была в недоступности preloader'a для iOS девайсов (последствия блокировки провайдером порта 8444 из-за криптомайнеров).
 

Max

Administrator
Staff member
Спасибо за помощь, разобрались. Проблема была в недоступности preloader'a для iOS девайсов (последствия блокировки провайдером порта 8444 из-за криптомайнеров).
Если провайдер до сих пор это не поправил, придется везде прописать порт 8888 для HTTPS. Вообще-то этот порт оставлен только для совместимости со старыми сборками 5.1, но, как видно, еще пригодится. Удалять его мы не планируем.
 
  • Like
Reactions: Mik
Top