Портфолио · Сайт проекта

Платформа видеоаналитики

Сайт содержит документацию самостоятельного проекта Александра Кудряшова в области видеоаналитики и Computer Vision.

Платформа реализует полный конвейер обработки видео в реальном времени: от подключения RTSP-камеры до детекции объектов, сопровождения целей, хранения событий и просмотра результата в браузере.

Архитектура решения

RTSP / видео
→
OpenCV / FFmpeg
→
Motion
→
Tracking
→
YOLO
→
Browser

Кадр проходит через захват, детекцию движения и сопровождение целей. YOLO работает в двух ветках: по полному кадру и отдельно по сопровождаемым объектам. Результаты объединяются, сохраняются в PostgreSQL и передаются клиенту через JPEG preview или HLS.

  • C++20: основной высокопроизводительный сервер.
  • Python: совместимая реализация того же REST API.
  • Rust: совместимая реализация на Axum и Tokio.
  • JavaScript: браузерный клиент без тяжёлого frontend-фреймворка.

Публичный стенд

Работающая версия доступна по адресу alex-video-analytics.ru/demo. Внешний контур принимает HTTPS-запросы, отдаёт клиент, REST API и HLS, а обработка видео выполняется backend-сервисами платформы.

Браузер
→
HTTPS / VPS
→
REST + HLS
→
Backend

Важно: административные функции защищены. Публичные пароли и служебные данные в документации не размещаются.

Клиентская часть

Интерфейс написан на JavaScript ES Modules. Для запросов используются Fetch API и async/await, для отрисовки аналитики — Canvas, для HLS — hls.js или нативный MSE. Интерактивные области работают через Pointer Events и ResizeObserver.

Node.js 18 используется как лёгкий статический сервер и reverse proxy. Клиент отображает видеопоток, зоны анализа, треки, результаты YOLO, историю событий и элементы управления PTZ.

Интерфейс браузерного клиента платформы
Общий экран источника видеопотока

Реализованные возможности

  • RTSP-камеры и видеофайлы
  • Автоматическое восстановление соединения
  • JPEG preview и HLS
  • Запись исходного потока в H.264 / MP4
  • Детекция движения по областям
  • Tracking с постоянными ID
  • YOLO через ONNX Runtime
  • NMS и фильтрация результатов
  • Индивидуальное разрешение inference
  • История обнаружений со снимками
  • ONVIF PTZ
  • Bearer-аутентификация и роли
  • Контрактные проверки REST API

Технологии

C++ ServerC++20 · Clang · Drogon · CMake · vcpkg
Python ServerPython · FastAPI · Uvicorn · asyncio
Rust ServerRust · Axum · Tokio · sqlx · Serde
VisionOpenCV 5 · YOLO · ONNX Runtime
VideoFFmpeg · RTSP · HLS · H.264
WebJavaScript ES Modules · Canvas · hls.js
DataPostgreSQL
DeliveryUbuntu 24.04 · Docker Compose
Testingpytest · k6 · API contract tests

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

Статус проекта

Проект развивается с июля 2026 года. Платформа используется как инженерное портфолио и стенд для проверки архитектурных решений в области потокового видео и Computer Vision.

Контакты

Александр Кудряшов · GitHub · Публичный стенд