Vorchun
@Vorchun

Как определить на сайте есть ли видеотрансляция?

На сервере компании стоит Adobe flash media streaming server. На сайте — JWPlayer

Задача показать плеер только тогда, когда есть видеотрансляция.

Сервер не выключается. Т.е. пинговать его нет смысла.

Сейчас сделали так: подключаем поток в JWPlayer. Ждем секунду загрузки. Если не загрузился поток — реагируем на событие — скрываем плеер. Это очень не оптимально.

Что думаете?
  • Вопрос задан
  • 3848 просмотров
Пригласить эксперта
Ответы на вопрос 5
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
А проверку соединения к порту потока не пробовали сделать на стороне сервера в момент генерации страницы?
Еще есть вариант — проверить порт через xmlhttprequest на стороне клиента. ( xmlhttprequest.ru ) и только по коду 200 показывать плеер.
Ответ написан
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Трансляция по расписанию?
Ответ написан
Vorchun
@Vorchun Автор вопроса
Alexufo, так и сделано. Про это и вопрос ) Гугл, пока ничем не помог, может тут кто-то с опытом в таком деле
Ответ написан
Комментировать
Mu57Di3
@Mu57Di3
У JWPlayer есть API проброшенное в JavaScript из флеша и там есть возможность подписаться на событие ошибки в том числе на ошибку доступа к видео потоку, подробней тут.
Ответ написан
jov
@jov
Я у себя, для проверки наличия потока делаю так.
rate=$(timeout 5 ffprobe "rtmp://localhost/live/rrstudio" 2>&1 | grep framerate | awk '{printf "%d", $2}')
		if [ -z "$rate" ]; then
        		echo "$d: need restart - null rate $rate" >> /var/log/upstart/rrvideo.log
        		service rrvideo restart		
		elif [ $rate -lt 25 ]; then
        		echo "$d: need restart - $rate" >> /var/log/upstart/rrvideo.log
        		service rrvideo restart
		fi

Забейте в cron похожий скриптик и пускай он модифицирует страничку с плеером.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы