Контроль работоспособности камер — это не только «включён/выключён». Надёжный мониторинг помогает быстро реагировать на обрывы потоков, потерю архива, переполнение дисков и проблемы с сетью. В этой статье — практичный набор подходов, инструментов и простых скриптов, которые подойдут и домашнему пользователю, и инсталлятору.
Камера может «быть на месте», но не давать полезного видео: потеря кадров, низкая частота кадров, обрыв архива или переполненные HDD. Без мониторинга вы узнаёте о проблеме позже, часто когда запись уже утрачена. Нужны автоматические проверки и уведомления.
Подходы можно разделить на простые проверки и глубокий мониторинг.
Ниже — рабочие односложные инструменты, которые можно поставить в cron или на Windows Task Scheduler.
# Проверка доступности: ping + порт
ping -c 2 192.168.1.50
nc -zv 192.168.1.50 554 # проверка RTSP
# Проверка RTSP потока через ffprobe (возвращает код ошибки при проблеме)
ffprobe -v error -show_streams rtsp://user:pass@192.168.1.50/stream
# Проверка HTTP-снимка камеры
curl -s --max-time 10 "http://192.168.1.50/snapshot.jpg" -o /dev/null -w '%{http_code}\n'
Если камера отдаёт код 200 и данные, то снимок доступен. Если 4xx/5xx — проблема.
#!/usr/bin/env python3
import subprocess, requests, os
CAM_IP = "192.168.1.50"
RTSP = "rtsp://user:pass@192.168.1.50/stream"
TELEGRAM_TOKEN = "TOKEN"
CHAT_ID = "CHAT_ID"
def ping(host):
return subprocess.call(["ping","-c","2",host]) == 0
def check_rtsp(rtsp):
proc = subprocess.run(["ffprobe","-v","error","-show_streams",rtsp], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return proc.returncode == 0
def notify(text):
url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
requests.post(url, data={"chat_id": CHAT_ID, "text": text})
if not ping(CAM_IP):
notify(f"Камера {CAM_IP} недоступна по ping")
elif not check_rtsp(RTSP):
notify(f"Камера {CAM_IP} не отдает RTSP")
else:
print("OK")
Это базовый пример; для продакшна добавьте логирование, ретраи, ограничение частоты уведомлений и мониторинг архива Trassir через его API.
Trassir предоставляет серверную часть и клиент; у многих инсталляций доступен API/SDK для получения статуса камер, архива и логов. Если доступ к API возможен, вы можете опрашивать сервер Trassir о состоянии устройства, наличии архива за заданный период и о статусе записи по событиям.
Если у вас нет возможности напрямую работать с API, используйте комбинированный подход: сетевые проверки + проверка архива по времени через скрипты.
| Метод | Что проверяет | Плюсы | Минусы |
|---|---|---|---|
| Ping / TCP | Сеть, порт | Быстро, просто | Не показывает состояние потока |
| Snapshot (HTTP) | Визуальная целостность | Понятно человеку | Не показывает FPS/битрейт |
| ffprobe / RTSP | Наличие/параметры потока | Детально про поток | Требует доступа к RTSP |
| API Trassir / SDK | Запись, архив, статус устройства | Глубокая интеграция | Нужен доступ и знания |
Камеры и журналы доступа содержат персональные данные. Смотрите местное законодательство по видеонаблюдению: срок хранения архива, уведомление заинтересованных лиц, защита паролей. Настройте доступ к API через защищённые каналы и лимитируйте права аккаунтов, используемых в мониторинге.
Бюджет зависит от способа. Простейшие проверки — бесплатно (скрипты, ffmpeg). Интеграция с Zabbix/Nagios — бесплатные решения + время на настройку. Коммерческие облачные мониторинги и платные сервисы Trassir/подписки увеличат стоимость. Цена установки и настройки может быть оправдана для объектов с высокой ценностью охраны.
Если нужна помощь с монтажом, тестированием и настройкой мониторинга под Trassir — есть специалисты, которые выполнят настройку «под ключ» и подключат уведомления и интеграции: https://y-ss.ru/uslugi/ustanovka-kamer-i-sistem-videonablyudeniya-v-sankt-peterburge-i-leningradskoy-oblast
Небольшой практический совет в окончание: начните с простого — ping + RTSP проверка + уведомление. Когда эта база работает стабильно, добавьте проверку архива и метрики дисков. Так вы быстро получите ощутимый результат и сможете развивать систему дальше.
