H

hakaton

Система мониторинга камер

Система для мониторинга видео с камер в реальном времени с детекцией остановки изображения и пикселизации.

Использованные материалы:

https://www.figma.com/design/s7jc7c13gjRSXhus5c16kv/Untitled?node-id=0-1&t=GR5kPAJrVH47zfGM-1 https://docs.google.com/presentation/d/141AfUvOb5UnS4HW-wjrDpxiAzZKUppQa0T6zVJ7_clY/edit?slide=id.g39c1585516a_0_3#slide=id.g39c1585516a_0_3

Возможности

  • Мониторинг нескольких камер одновременно
  • Детекция замороженного изображения
  • Детекция пикселизации/низкого качества
  • Система уведомлений с индексом камеры
  • Веб-интерфейс для мониторинга
  • Статистика работы камер
  • API для управления камерами

Установка

  1. Создайте виртуальную среду и установите зависимости:
python -m venv venv

./venv/Scripts/Activate

pip install -r requirements.txt
pip install git+https://github.com/bbc/rd-apmm-python-lib-rtp.git
pip install rtp

Настройка параметров

В классе VideoDiagnostics можно настроить:

self.freeze_threshold = 500    # Порог для детекции заморозки
self.freeze_frames = 3          # Кадры для подтверждения заморозки
self.quality_threshold = 30     # Порог качества изображения
self.timeout_seconds = 10       # Таймаут для определения потери связи

В файле main.py можно добавить новую камеру в словарь:

CAMERA_CONFIGS = [ { "id": 1, "name": "Camera 1", "rtsp_url": "rtsp://ins046msc:wQpQk35t@85.141.77.197:7554/ISAPI/Streaming/Channels/101" }, { "id": 2, "name": "Camera 2", "rtsp_url": "rtsp://ins046msc:wQpQk35t@85.141.77.197:7554/ISAPI/Streaming/Channels/103" } ]

Логирование

Система ведет подробные логи всех событий:

  • Подключение/отключение камер
  • Обнаружение проблем
  • Статистика работы

Требования

  • Python 3.8+
  • OpenCV
  • FastAPI
  • NumPy
  • Доступ к RTSP потокам камер