← Обзор проекта

Документация проекта

Тестирование и развёртывание

Проверка API

C++, Python и Rust проверяются по общему REST-контракту: авторизация, роли, камеры, защита реквизитов, поток, история, запись, PTZ и диагностика. Python также имеет модульные тесты Motion, Tracking, YOLO workers, истории, HLS, записи и профилировщика.

Профилирование

  • RTSP и восстановление;
  • Motion и Tracking;
  • оба контура YOLO;
  • JPEG и HLS;
  • принятые, обработанные и отброшенные кадры;
  • FPS и глубина очередей.

Один k6-сценарий сравнивает REST-часть трёх серверов; результаты сохраняются в машинно-читаемом виде и сводной таблице.

Windows

C++ сервер собирается Clang и CMake, зависимости управляются vcpkg и SDK OpenCV/ONNX Runtime. Node.js 18 раздаёт клиент и проксирует разрешённые REST/HLS-запросы.

Docker и Ubuntu

Сборка рассчитана на Ubuntu 24.04. Docker Compose объединяет сервер, клиент и PostgreSQL. Настройки, модели, записи и журналы подключаются отдельными томами. Предусмотрены health endpoint, ротация журналов и счётчики ошибок.

Переносимость и VPS

Захват и аналитика отделены от REST API и UI, поэтому сценарий работает в Windows и Linux-контейнере. Публичный VPS даёт HTTPS-доступ к клиенту, REST и HLS, оставляя внутренние сервисы закрытыми.