Зависает player на iOS

Добрый день, в общем проблема такая - долго принимаем стрим на iOS, прежде всего с каждой минутой растет отставание от реальной точки, но жить с этим можно, далее на каком-то этапе тупо подвисает изображение и все. Мысль - получить фпс и если он 0, то переконектить пользователя, но как получить FPS?

Но собственно, ладно, но почему поток виснет? Как этого изюежать. Ифон5.
 

Max

Administrator
Staff member
Похожую проблему исправляли в одной из последних версий плеера для iOS Safari.
0.5.18.2241
Можно скачать последнюю сборку Web SDK и использовать ее:
https://flashphoner.com/downloads/b...0db0cd11034b4cfd9e502360edd0ec04ee0862.tar.gz
Либо вытащить из этой сборки WSReceiver2.js и скопровать в проект. В нем были изменения.
Мысль - получить фпс и если он 0, то переконектить пользователя, но как получить FPS?
Насколько я знаю, WSPlayer не дает FPS. Нужно уточнить у разработчиков, можно ли его получить для WSPlayer.
 

Max

Administrator
Staff member
Кроме этого, есть еще предыдущая версия плеера WS Player 1.0 для iOS Safari
Можно попробовать его.
Он более простой и более требователен к ресурсам, в отличии от WS Player 2.0 (текущий), который оптимизирован.
Его можно протестировать, открыв предыдущее демо на базе Web SDK 1.0:
https://wcs5-eu.flashphoner.com/dashboard.xhtml?demo1=true
Demo2 / WS Player Min
Файлы плеера лежат здесь:
https://wcs5-eu.flashphoner.com/client/examples/demo/vow-player/vow-player.html
/usr/local/FlashphonerWebCallServer-5.0.2246/client/examples/demo/vow-player
ios-safari-webrtc-player.jpg
 
Прикольно, я просто с гитхаба слил версию, а там WSReciver2.js нет, там WSReciver.js. Понял, буду копать. Спасибо
 

Max

Administrator
Staff member
Все последние сборки Web SDK находятся здесь:
https://flashphoner.com/downloads/builds/flashphoner_client/wcs_api-2.0/
Если отсортировать по дате, то самая последняя эта:
https://flashphoner.com/downloads/b...0db0cd11034b4cfd9e502360edd0ec04ee0862.tar.gz
Код плеера в этой сборке находится здесь:
/examples/demo/streaming/player
Зависимости плеера для iOS Safari в виде файлов WSReceiver2.js и video-worker2.js находятся здесь:
examples/demo/dependencies/websocket-player
 
Итак, что мы имеем. Да, стало лучше для iOS, теперь минут 20-30 плеер играет без зависаний, но потом все равно виснет. Ситуация с ростом времени отставания остается.. За час дошло до 10 минут отставания. Обновил билды вебкитов, сервер фонера. Поставить реконнект не могу, т.к. клиенты теряют минуты контента... В общем все упирается в FPS( Не смог найти производителя WS Player. Подскажите где искать? Мне требуется FPS, т.к. это единственный способ оживить трансляцию походу. Неужели кроме меня никто не сталкивался с проблемой?
 
Last edited:

Max

Administrator
Staff member
Что является источником трансляции? Chrome, RTSP-камера, другой сервер?
Нам нужно воспроизвести проблему с нашими стандартными примерами, например:
Two Way Streaming
https://wcs5-eu.flashphoner.com/demo2/two-way-streaming
Player
https://wcs5-eu.flashphoner.com/demo2/player
Если мы сможем воспроизвести проблему, то скорее всего сможем и устранить.
В общем все упирается в FPS( Не смог найти производителя WS Player. Подскажите где искать?
Это наш плеер.
Мне требуется FPS, т.к. это единственный способ оживить трансляцию походу.
FPS вряд ли поможет. Нужно разбираться, из-за чего возникает проблема.

В качестве вариантов можете попробовать
1. WS Player 1.0 предыдущей версии, как было предложено выше.
2. HLS плеер (Задержка около 15 секунд).
https://wcs5-eu.flashphoner.com/demo2/hls-player
3. Переключение кодека на VP8 в конфиге сервера flashphoner.properties
Code:
codecs =opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,vp8,h264,flv,mpv
При трансляции с веб-камеры по WebRTC, поток H.264 может заходить сильно неравномерно.
Использование VP8 может решить проблему.
 
Top