🚀 Быстрый старт

Запуск OKITO за 5 минут. Установка, первая камера, базовая настройка.

📋 Требования

🐧

ОС

Ubuntu 20.04/22.04 LTS
Debian 11/12
CentOS/RHEL 8/9

🐍

Python

Python 3.12+
pip, venv

🎮

GPU

NVIDIA GPU 4+ GB VRAM
CUDA 11.8+
cuDNN 8.5+

💾

Ресурсы

RAM: 8+ GB
Диск: 50+ GB для архива
До 10 камер

📦 Установка

  1. Распаковать архив

    Распакуйте скачанный архив в удобную директорию:

    # Linux
    tar -xzf okito-linux.tar.gz
    cd okito
  2. Установить зависимости

    Создайте виртуальное окружение и установите зависимости:

    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  3. Запустить

    Запустите сервер:

    python main.py

    Интерфейс будет доступен по адресу: http://localhost:8787

⚙️ Настройка сервисов

Для работы уведомлений и фоновых задач необходимы Redis и Celery.

🗄️

Redis

Хранилище очередей задач
Порт: 6379

celery

Celery

Обработка уведомлений
Очередь: hyperdvr_alerts

1. Установка Redis

# Ubuntu/Debian
sudo apt install redis-server
sudo systemctl enable redis-server
sudo systemctl start redis-server

2. Создание systemd сервисов

Создайте файл /etc/systemd/system/hyperdvr-celery.service:

[Unit]
Description=HyperDVR Celery Worker
After=network.target redis-server.service
Requires=redis-server.service

[Service]
Type=simple
User=root
WorkingDirectory=/opt/web

Environment=PYTHONUNBUFFERED=1
Environment=CELERY_BROKER_URL=redis://127.0.0.1:6379/0
Environment=CELERY_RESULT_BACKEND=redis://127.0.0.1:6379/1
Environment=CELERY_TASK_QUEUE=hyperdvr_alerts
Environment=HYPERDVR_ALERT_QUEUE=celery
Environment=HYPERDVR_ALERT_QUEUE_ENABLED=1

ExecStart=/root/miniconda3/envs/yolo/bin/celery \
-A hyperdvr.celery_support:celery_app \
worker -Q hyperdvr_alerts -l info --concurrency=16

StandardOutput=append:/var/log/hyperdvr/celery.log
StandardError=append:/var/log/hyperdvr/celery.log
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

3. Запуск сервисов

# Создать директорию для логов
sudo mkdir -p /var/log/hyperdvr

# Активировать сервисы
sudo systemctl daemon-reload
sudo systemctl enable redis-server hyperdvr-celery
sudo systemctl start redis-server hyperdvr-celery

# Проверить статус
sudo systemctl status redis-server
sudo systemctl status hyperdvr-celery
Важно: Без Redis и Celery уведомления работать не будут. Основной функционал (детекция, архив) работает без них.

📹 Первая камера

  1. Открыть интерфейс

    Перейдите по адресу http://localhost:8787

  2. Добавить камеру

    Нажмите + ADD NEW SOURCE в верхнем меню

  3. Настроить источник

    # RTSP камера
    rtsp://192.168.1.100:554/stream

    # Локальная камера
    0
  4. Выбрать классы детекции

    Перейдите во вкладку Classes и включите нужные классы:

    • ✓ person — человек
    • ✓ cell phone — телефон
    • ✓ smoking — курение
  5. Сохранить

    Нажмите SAVE & APPLY

Для тестирования используйте локальную веб-камеру (источник 0) или видеофайл.

⚙️ Базовая настройка

Все параметры настраиваются через веб-интерфейс. Указанные значения — настройки по умолчанию.

🎯

Модель

Модель детекции — модель по умолчанию
Устройство: cuda:0 или cpu

📐

Размер

ImgSize: 1536
Больше = точнее, но медленнее

🎚️

Чувствительность

High — минимум ложных
Medium — баланс
Low — максимум детекций

📹

Архив

Путь: ./archive
Сегменты: 2 сек
FPS: 20

✅ Проверка работы

  1. Открыть Dashboard

    На главной странице должна появиться карточка камеры с превью

  2. Проверить детекцию

    В поле зрения камеры должны появляться bounding boxes с классами

  3. Проверить архив

    Нажмите HISTORY — должны быть сегменты записи

  4. Проверить API

    curl http://localhost:8787/api/stats

📚 Следующие шаги