![]() |
Как отловить пропадание стрима?
Мы тут с Caesar'ем уж вторую неделю медитируем:
Имеем: "Малину" (raspberry pi, ОС - Rasbian (Debian под arm)) на которой mplayer-ом воспроизводится поток онлайн-радио. Нужно каким-то образом отловить момент когда этот поток прервётся, чтоб дать команду на дальнейшее действие (переключение). Изначально была мысль пинговать что-либо (например гугль), и привязываться на его отвал. Отказались по причине того, что гугль вполне может благоденствовать, а передающий сервер - лежать. По той же причине не подходит и пинг непосредственно вещающего серванта: сам серв может быть онлайн, а вещание - свалиться. Не кажется идеальным и решение мониторить наличие процесса mplayer: он хоть и отваливается через некоторое время отсутствия потока, но делает это не сразу и не очень красиво. Чутьё подсказывает что есть простое и изящное решение. Может есть у кого-нибудь мысли? ps. если чего упустил - Caesar дополнит. |
Плейер Audacious имеет в своём составе утилитку audtool.
Команда audtool current-song выдаёт в stdout строку названия текущего трека. Не знаю, есть ли в вашем репозитарии этот плейер, но такой вариант вполне жизнеспособен. |
Спасибо, проверил вариант с утилитой audtool. Вариант мог бы быть рабочим, но, к сожалению, время обновления информации, которая выдается по команде audtool --current-song велико. Т.е. допустим вещание потока прервалось, но пока сам audacious не выдаст ошибку потока, audtool будет выдавать информацию, что все нормально. В таком случае проще мониторить наличие процесса mplayer или audacious. Пытаемся найти вариант (в идеале), чтоб отследить отключение потока еще до полного опустошения буфера плейера.
|
Так... Что означает "отключение потока"?
Если пропадание коннекта к серверу - то lsof -i :номер-порта покажет текущее состояние коннекта. Другой вариант netstat -np tcp 2>/dev/null | grep .ip-of-the-server | grep ESTABL при возврате пустой строки - аларм. |
Спасибо. Варианты с netstat и lsof подошли.
|
Часовой пояс GMT +4, время: 02:13. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.