MainRadiotalkCustom
Технологии вещания, софт, скрипты
4   •   Посмотреть все темы

Скрипт переключения.

 

9
cemka @cemka
Доброго времени суток уважаемые форумчане!
Прошу Вас уделить кусочек своего времени и помочь разобраться с данной штуковиной:

Имеется:
Ubuntu server 12.04.
На нем крутится Icecast который подтягивает потоки с relay и резервируя через fallback.
Там же, для вывода звука через звуковую плату стоит проигрыватель mpd+mpc.
Схема выглядит примерно так:
internet radio source>Myserver (icecast)>mpc play icecast mount>Звук на выход с платы.

mpc имеет плейлист такого содержания:
1.http://localhost:8000/256
2.хттп://internetradio:8000/stream

нужна помошь с написанием скрипта, желательно на bash.
Который будет работать по такой схеме:
1. Проверка работоспособности Icecast (либо наличием запущенного процесса, либо HTTP запросом на порт айскаста, запросом даже лучше было бы)
2.Если после проверки доступности icecast скрипт узнал, что сервер запущен, то уходить в цикл проверки либо окончить работу (в случае с окончанием работы можно в cron запихать, проверил -->все ок->выключился. через минуту cron опять запустил скрипт, и так по кругу)
3. Если после проверки выяснилось, что процесс Icecast не запущен (либо не получен HTTP ответ), то выполнить комманду: icecast restart
4. После рестарта айскаста опять проверяем его доступность.
5. если доступен то подаем плееру mpc+mpd команду "mpc play 1" и уходим на 1й пункт проверки по циклу (либо завершить работу, если крон контролирует запуск скрипта).


Т.е скрипт выполняет проверку: Запущен ли демон айскаста? если да, то ничего не делаем, уходим в цикл либо завершаем работу, если нет, то рестарт > опять проверка> плеер играй.

Благодарю вас заранее за оказаную помошь! ))

6245
Тарас @tarasian666
pgrep icecast >/dev/null || /usr/bin/icecast -b -c /etc/icecast.xml
И вставить в крон на каждую минуту