Как можно проверять статус ip-камер видеонаблюдения?
Пинг покажет только отвечает ли камера по ICMP, а ведь она может еще и подвиснуть так, что пинговаться будет, а данных нет.
Я бы предложил смотреть на наличие потока с камеры на сервер. Идут данные, значит жива. IPшники же камер известны, значит можно посмотреть льется ли с них что-то.
Настройке таймаут (-timeout): нет данных ffmpeg благополучно отвалится, вернув не нулевой код возврата (в Unix shell можно проверить через значение $?). Запустите его в скрипте, как отвалится - можно из консоли дернуть какой-то REST api при помощи того-же curl - поднять ошибку в базе /к примеру/ (хотя если вообще отвалился - что-то пошло не так). С серверной стороны можно настроить колбек на появление стрима (Wowza, nginx-rtmp это умеют) который эту ошибку заресетит.
Аналогично можно попытаться полностью обойтись колбеками на принимающем сервере.
Да, попробую быть телепатом, раз IP камера, значит поток от неё, скорее всего, RTSP или MJPEG (HTTP), следовательно смотреть документацию: ffmpeg.org/ffmpeg-protocols.html#rtsp и опцию -stimeout. Возможно придётся зафорсировать транспорт: -rtsp_transport tcp.