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

pnzdevelop

Member
Заходим 1й раз - получаем картинку.
Ещё пару раз обновляем страницу и... воспроизведение невозможно, чёрный экран.

Пробовали добавить
Code:
ice_timeout=60
ice_keep_alive_timeout=60
Не помогло
 

Max

Administrator
Staff member
Попробуйте установить TURN сервер по этой инструкции:
https://flashphoner.com/docs/wcs5/w...nd_testing-firewall_traversal-turn_server.htm
TURN-сервер должен быть в одной сети с вашим WCS-сервером, чтобы между ними мог свободно ходить UDP-трафик.
Наружу можно выставить TCP порт TURN-сервера 443.

После этого посмотрите как работает пример, использующий TURN:
https://wcs5-eu.flashphoner.com/cli...l-streaming/firewall-traversal-streaming.html
https://wcs5-eu.flashphoner.com/cli...sal-streaming/firewall-traversal-streaming.js

При коннекте указываются параметры TURN-сервера:
Code:
Flashphoner.createSession({
urlServer: url,
mediaOptions: {
"iceServers": [
{
'url': $('#urlTurnServer').val(),
'username': $('#usernameTurnServer').val(),
'credential': $('#credentialTurnServer').val()
}
]
}
})
Если после установки TURN все заработает стабильно, то проблема сетевая.
Если нет, то возможно баг на стороне сервера.
Пока склоняемся к первому, что проблема где-то в NAT.
 

pnzdevelop

Member
TURN сервер установил, настройки прописал. Проблема продолжает наблюдаться. (собственно установил пару дней назад, вы в этот момент уже тестировали с TURN сервером)

Ещё заметил что чаще проблема возникает если видео в хорошем качестве идёт. ссылку отправил вам на почту
 

Max

Administrator
Staff member
Проблему локализовали.
Связана с исключением имени потока clientExclude
Сейчас пытаемся исправить чтобы и exclude работал, и проключение потока отрабатывало всегда корректно.
По результатам отпишем в этой ветке.
 

Max

Administrator
Staff member
Проблему исправили. Обновили сервер до 2505.
Ошибка возникла при занулении имени потока в clientExclude
Проверьте, сейчас должно работать стабильно.
 

pnzdevelop

Member
теперь наблюдается проблема - остаётся индикатор "загрузки" и не пропадает, а изображение успешно транслируется.
 

Max

Administrator
Staff member
Потестировали с вашей страницей.
Воспроизвести проблему не получается. Прелоадер уходит при появлении видео.
Если у вас стабильно воспроизводится, подскажите какие шаги нужно предпринять чтобы воспроизвелось.
Тестировали в Google Chrome 62.
 

pnzdevelop

Member
Когда сервер отключает поток, если долго его не смотреть. И при 'первом' просмотре это и появляется. При перезагрузке страницы, т.е при 'втором' просмотре - все хорошо
 

Max

Administrator
Staff member
Добрый день.
Протестировали еще раз с вашим адресом
https://host/camera
Проблема не воспроизводится.
1. Нажимаем Play, воспроизводится поток.
webrtc-ip-camera-play-chrome62.jpg

2. Нажимаем Stop, останавливаем воспроизведение.
webrtc-ip-cam-stop.jpg

3. Ждем 1 минуту и видим в логах WCS_HOME/logs/server_logs/flashphoner.log что WCS сервер закрывает RTSP соединение.
Code:
08:41:27,400 INFO             RtspAgent - RTSP-AGENT-rtsp://ip-cam:554/user=admin&password=&channel=1&stream=1?.sdp89734862-10d4-435c-83c2-a17638ecef14 Stop by a                                                                     ctivity timer
08:41:28,400 INFO             RtspAgent - RTSP-AGENT-rtsp://ip-cam:554/user=admin&password=&channel=1&stream=1?.sdp89734862-10d4-435c-83c2-a17638ecef14 Shutdown
08:41:28,426 INFO             RtspAgent - pool-103-thread-1 Channel closed
4. Запускаем снова. Прелоадера нет.

Тестируем в Chrome 62.
Уточните пожалуйста процесс воспроизведения и добавьте, если возможно пару скриншотов или логов.
 

pnzdevelop

Member
очень странно. отправил вам на почту данные har с хрома, и скриншоты как оно "не рабоатет"
Ещё момент. При первом открытии крутится загрузчик. И не срабатывает функция "function resizeVideo(video, width, height)" в utils.js
видимо это связано с тем, что статус успешной загрузки не получен
 

Max

Administrator
Staff member
Добрый день.

Проблему исправили в сборке Web SDK
https://flashphoner.com/downloads/b...6687f9c9df36de27d63fc0f677e212847b7e62.tar.gz
от 24 октября

Изменения можно увидеть здесь:
https://github.com/flashphoner/flashphoner_client/commit/3728c637ecb1cd3399969a59380020bf78faa0e9

Как видно из кода player.js
https://github.com/flashphoner/flas...8faa0e9#diff-355cbb4ebcf7e853ca9a68736e728e54

Мы перенесли код навешивания listeners 'playing' и 'resize' в более ранний статус PENDING, т.к. иногда эти слушатели навешивались слишком поздно - на этапе PLAYING и поэтому не срабатывали. Поэтому вам нужно обновить Web SDK и в частности скрипт flashphoner.js, а также подправить плеер или полностью обновить player.js чтобы слушатели были на PENDING.
Code:
stream = session.createStream(options).on(STREAM_STATUS.PENDING, function(stream) {
        var video = document.getElementById(stream.id());
        if (!video.hasListeners) {
            video.hasListeners = true;
            video.addEventListener('playing', function () {
                $("#preloader").hide();
            });
            video.addEventListener('resize', function (event) {
                var streamResolution = stream.videoResolution();
                if (Object.keys(streamResolution).length === 0) {
                    resizeVideo(event.target);
                } else {
                    // Change aspect ratio to prevent video stretching
                    var ratio = streamResolution.width / streamResolution.height;
                    var newHeight = Math.floor(options.playWidth / ratio);
                    resizeVideo(event.target, options.playWidth, newHeight);
                }
            });
        }
    })
 

pnzdevelop

Member
Бесконечный PENDING теперь на камере появился. На logs отправил ссылку на камеру.
 

Max

Administrator
Staff member
Именно с этой камерой или со всеми?
Можно ли к этой камере подключиться напрямую по RTSP ? Если да, пришлите пожалуйста RTSP урл на тестирование.
 

pnzdevelop

Member
>Именно с этой камерой или со всеми?
Проблема только с этой камерой. Но самое интересное, снапшот (миниатюра) - генерируется.
>Можно ли к этой камере подключиться напрямую по RTSP
Да, отправил на почту.
 

Max

Administrator
Staff member
Камера напрямую недоступна.
Можете ли отдать порт 554 наружу, чтобы мы могли к ней подключиться и протестировать со своих серверов?
 

pnzdevelop

Member
вроде пробросил порт, но что то как то не работает. странно. я смотрю вы подключились, через vlc её видно.
 

Max

Administrator
Staff member
Code:
"playStream" : {
   "restExclude" : "",
   "clientExclude" : "",
   "restOverwrite" : "name",
   "restOnError" : "LOG",
   "restPolicy" : "OVERWRITE"
}
В flashphoner_manager.log видно, что в результате
Code:
URL:https://.../restapi/playStream
OBJECT:
{
.....
  "name" : "false",
....
}
И за PENDING следует FAILED "Session does not exist". (flashphoner.log: "playStream actualSession doesn't exists, session name false")
 
Top