Документация
Как устроено Цифровое ОКО: что нужно компьютеру, какие регистраторы подходят, какие порты открыть, где лежат данные, что уходит в интернет, как работают лицензия, пробный период и обновления.
Как устроено
ОКО — программа для Windows. Она ставится на компьютер в локальной сети заведения: свой компьютер заведения или купленный по нашему списку. Программа сама берёт видео с камер через видеорегистратор, распознаёт людей и показывает результат в веб-панели. Считает на видеокарте NVIDIA, а если её нет — на встроенной графике Intel или процессоре: выбирает сама. Смотреть панель можно с телефона или ноутбука в той же сети.
- Видео не уходит из заведения. ОКО не пишет видеоархив — архив остаётся на регистраторе, как и был.
- Распознавание — одна модель YOLOv8 на все камеры. На NVIDIA кадры идут пачками в половинной точности, на графике Intel и процессоре — через OpenVINO.
- Частота анализа: вход — 5 кадров в секунду, бары и зоны — 2. Меняется в «Настройки → Анализ — для монтажника»: вход от 1 до 15, бары и зоны от 0,5 до 10.
- Круглосуточно. Программа запускается вместе с Windows, без входа пользователя. Упала — сторож процесса поднимает её сам, анализ после сбоя перезапускается до 5 раз в час.
- Сторож здоровья раз в 30 секунд проверяет: идёт ли анализ, есть ли кадры с каждой камеры, хватает ли места на диске, видна ли видеокарта, действует ли лицензия. Проблема появляется в панели и приходит в Telegram.
- Панель — вход по паролю, две роли: администратор меняет всё, просмотр — только смотрит.
Системные требования
| Минимум | Рекомендуем | |
|---|---|---|
| Процессор | 4 ядра (Intel Core i3 12-го поколения, Ryzen 3) | 6–8 ядер |
| Память | 16 ГБ | 16–32 ГБ |
| Видеокарта | Не обязательна для бара и кафе: хватит встроенной графики Intel | Для клуба — NVIDIA: RTX 3060 12 ГБ или 4060 |
| Диск | SSD 256 ГБ | SSD 512 ГБ |
| Система | Windows 10 или 11, 64-разрядная | Windows 11 Pro |
| Сеть | Проводная, в одной сети с регистратором | То же |
- Python 3.11, 64-разрядный — ставится до установки ОКО, установщик его проверяет.
- Драйвер видеокарты — свежий: NVIDIA Game Ready или Studio, для графики Intel — драйвер с сайта Intel или из Windows Update.
- Интернет нужен при установке (пакеты Python, 10–20 минут) и хотя бы раз в 14 дней — для проверки подписки. Без интернета совсем — установка из заранее скачанных пакетов и ключ вручную (подробнее).
- Без видеокарты NVIDIA программа считает на встроенной графике Intel той же моделью, что и на NVIDIA. Если графики Intel нет, например у процессоров AMD, считает процессор облегчённой моделью: она находит около 89 % людей у входа от полной. Замер 28.09.2026 на ноутбуке Intel Core i5-13500H с Iris Xe: 2 входа и 1 бар успевают и на графике, и на процессоре.
Сколько камер потянет компьютер
Нагрузка складывается из двух частей:
- Декодирование видео — процессор. Каждый поток с камеры приходит в H.264 или H.265, и его нужно распаковать целиком, даже если анализируется 5 кадров в секунду из 25. На объектах с большим числом камер это самая частая причина «не успевает».
- Распознавание — видеокарта (NVIDIA или встроенная графика Intel), без них — процессор. Одна модель на все камеры.
| Заведение | Камеры | Компьютер |
|---|---|---|
| Бар, кофейня | 1–2 входа и 1 бар | Без NVIDIA: Intel со встроенной графикой, 6+ ядер (проверено замером на i5-13500H) |
| Ресторан | 1–2 входа и 2–4 бара или зоны | RTX 3060 12 ГБ, 6 ядер |
| Клуб | 2 входа и 6–10 баров или зон | RTX 3060 или 4060, 8 ядер, дополнительные потоки на барах |
| Большой клуб, от 16 камер | Два компьютера с ОКО или RTX 4070 и 8–12 ядер; только после замера |
Что измерено
| Где | Что | Результат |
|---|---|---|
| RTX 2060 6 ГБ, ночной клуб, 31.08.2026 | Разбор записи ночи длиной 8,9 часа: вход, 5 кадров/с, модель yolov8m и модуль лиц | 54–96 минут на смену, около 30–50 кадров/с на весь конвейер |
| RTX 2060, 01.09.2026 | Один кадр yolov8m, 640 точек, по зоне входа | 15,6 мс |
| Ноутбук с Intel Iris Xe, без NVIDIA, 07.07.2026 | Режим без модуля лиц, счёт процессором через PyTorch (старая версия) | В 1,9 раза медленнее реального времени на одной камере |
| Ноутбук i5-13500H, Iris Xe, 28.09.2026 | Кадр yolov8m, 640 точек: процессор через PyTorch / графика Intel через OpenVINO | 209 мс / 53 мс, люди найдены те же |
| Он же, 28.09.2026 | Полный цикл bench_box: 2 входа по 5 кадров/с и 1 бар по 2 | Графика Intel: успевает, процессор занят на 16 %. Только процессор, облегчённая модель: успевает, процессор занят на 44 % |
Как снизить нагрузку
- Бары и зоны — дополнительный поток регистратора (704×576): декодировать его в 4–6 раз легче.
- Вход — основной поток: мелкие силуэты и лица в проёме на нём видны лучше.
- H.264 вместо H.265 на камерах, где это можно переключить.
- Декодирование видеокартой — параметр
detection.hw_decode: trueвconfig.yaml. Выигрыш проверяйте замером: на части драйверов его нет.
Замер на месте
В комплекте программы есть утилита замера. Она запускает настоящий анализ на записи с регистратора, как на живых камерах:
C:\OKO\venv\Scripts\python.exe C:\OKO\tools\bench_box.py --video <запись входа>.mp4 --entrance 2 --other 8 --seconds 120
Здесь --entrance — сколько камер входа изобразить, --other — сколько баров и зон. Раз в 10 секунд утилита печатает загрузку процессора и видеокарты, задержку и фактическую частоту анализа по камерам, в конце — «успевает» или «НЕ успевает». Запись для замера — любой экспорт с регистратора этого же заведения.
Регистраторы и камеры
ОКО читает камеры напрямую с регистратора по RTSP, по локальной сети, без промежуточных программ. В панели выбирается марка регистратора — адрес потока программа собирает сама.
| Марка | Основной поток, канал 1 | Дополнительный |
|---|---|---|
| Hikvision, HiWatch | /Streaming/Channels/101 | 102 |
| Dahua, RVi-IP, Imou | /cam/realmonitor?channel=1&subtype=0 | subtype=1 |
| XMeye, Polyvision, H264DVR | /user=…&password=…&channel=1&stream=0.sdp?real_stream | stream=1 |
| Uniview | /unicast/c1/s0/live | s1 |
| Tiandy, Trassir | Формат не проверен на реальных устройствах | — |
| Другая марка, камера напрямую | Готовый адрес RTSP вручную: «Камеры → Добавить камеру → По адресу потока» | — |
- XMeye. На реальном объекте проверен формат регистраторов XM и RVi с прошивкой Xiongmai (H264DVR, NETSurveillance). Логин и пароль у них идут внутри адреса, а не как обычно. Если выбрать для такого регистратора марку Dahua, он ответит 401 «неверный логин», хотя пароль верный.
- Tiandy и Trassir. Программа предложит вариант адреса, но перед работой его надо проверить кнопкой «Проверить каналы» или сверить с веб-панелью регистратора. Надёжнее ввести адрес вручную.
- Поиск. Кнопка «Найти в сети» перебирает адреса в локальных подсетях компьютера и смотрит, на каких открыты порты видео. Поиска по ONVIF нет — только по портам и ручной ввод.
- Кодек. Чёрный или серый кадр чаще всего означает H.265 на потоке. Переключите канал регистратора на H.264 или возьмите дополнительный поток, если он в H.264.
Сеть и порты
Компьютер с ОКО стоит в локальной сети заведения. Входящих соединений из интернета не нужно — ни одного порта, никакого проброса на роутере.
| Порт | Кто слушает | Направление | Зачем |
|---|---|---|---|
| 8080/tcp | Компьютер с ОКО | Входящий, только из сети заведения | Веб-панель. Другой порт задаётся при установке |
| 554/tcp | Регистратор | Исходящий с компьютера | Видео по RTSP — обязательно |
| 80, 443/tcp | Регистратор | Исходящий с компьютера | Веб-интерфейс регистратора, определение марки при поиске |
| 8000/tcp | Hikvision | Исходящий с компьютера | Только поиск и определение марки |
| 37777/tcp | Dahua, RVi | Исходящий с компьютера | Только поиск |
| 34567/tcp | XMeye, Polyvision | Исходящий с компьютера | Только поиск |
| 8899, 5000/tcp | Часть регистраторов | Исходящий с компьютера | Только поиск |
| 443/tcp | api.telegram.org | Исходящий, в интернет | Сводки, тревоги и команды Telegram — по желанию |
Порты для поиска нужны только на время кнопки «Найти в сети». Если регистратор один и его адрес известен, их можно не открывать.
Проверить, достаёт ли компьютер до регистратора, — в PowerShell, подставив адрес регистратора:
Test-NetConnection 192.168.1.64 -Port 554
TcpTestSucceeded : True — порт открыт. False — неверный адрес, компьютер и регистратор в разных подсетях (VLAN, гостевой Wi-Fi) или порт закрыт на регистраторе.
Где лежат данные
Всё хранится в папке программы — по умолчанию C:\OKO. Установщик закрывает её от обычных пользователей Windows: доступ есть только у администраторов и системы.
| Файл или папка | Что в нём |
|---|---|
config.yaml | Настройки: заведение, регистраторы с паролями, камеры и разметка, токен бота Telegram |
data\auth.json | Пароли панели в виде хэшей и ключ сессий |
data\lease.key, data\lic_account.json | Ключ подписки и номер подписки |
data\trial.json | Дата первого запуска — от неё считается пробный период |
data\shifts\ | Закрытые смены: цифры, почасовая разбивка, сверка с кассой |
data\shift_state.json | Счётчики текущей смены — переживают перезапуск программы |
data\events.jsonl | Лента событий, последние 5000 записей |
data\zone_snaps\ | Фото тревог. Старше 30 дней удаляются сами |
data\personas.db, data\thumbs\ | Данные модуля лиц: отпечатки лиц и фото гостей |
reports\ | Excel-отчёты смен |
logs\box.log | Журнал программы, файлы по 5 МБ по кругу |
logs\service.log | Журнал сторожа процесса |
logs\events.csv | Журнал проходов; больше 50 МБ — переносится в events.csv.1 |
Пароли регистраторов и токен бота панель никогда не показывает — только отметку, что они заданы. Править config.yaml вручную можно только при остановленной задаче OKO Box.
Что уходит в интернет
- Во время работы — сервер подписки и, если включён, Telegram. Раз в несколько часов программа связывается с okovision.ru: номер подписки, код компьютера, название заведения, версия и число камер (подробнее). Если подключён общий бот @OkoVisBot — раз в 20 секунд программа спрашивает сервер о вопросах из бота и отправляет через него текст сводок и тревог, без кадров. Свой бот заведения получает текстовые сообщения прямо из заведения: сводка смены, тревоги, ответы на
/nowи/last. К тревоге запретной зоны прикладывается кадр с камеры. Команды программа сама забирает у Telegram — это исходящее соединение, снаружи к компьютеру ничего не открывается. - Кадры в Telegram можно не отправлять: параметр
alerts.send_photo: falseвconfig.yaml(править при остановленной задаче). Переключателя в панели для этого нет. - Во время установки скачиваются пакеты Python. Без интернета — установка из заранее скачанных пакетов.
- Чего нет. Видео, кадры (кроме кадра тревоги в свой бот заведения), Excel-отчёты и данные лиц наружу не отправляются, сервера обновлений нет.
Telegram — сторонний сервис: сообщения проходят через его серверы. Бот и его токен принадлежат заведению.
Подписка и пробный период
- Пробный период — 14 дней с первого запуска, бесплатно и без карты. До 4 камер, все виды анализа (вход, бар, зона), без модуля лиц. Для пробы компьютер один раз выходит в интернет.
- Тарифы. «Заведение» — 3 000 ₽ в месяц: вход, бары и запретные зоны, до 16 камер. «Вход» — 1 490 ₽ в месяц: только счёт входа, до 2 камер; камеры баров и зон на нём не анализируются и помечены в панели «Не входит в тариф «Вход»». Переход на «Заведение» — «Система → Подписка → Включить бары и зоны», оставшиеся дни «Входа» пересчитываются по цене. Переход на «Вход» — оплаченные дни «Заведения» дорабатывают до конца.
- Подписка Оплата — «Система → Подписка» → «Оплатить»: на экране появится QR-код, оплата с телефона картой. Чек из «Мой налог» придёт на почту, срок в программе обновится сам примерно за минуту. Можно оплатить сразу на 3 или 12 месяцев. Условия — в оферте.
- Автопродление. При оплате на месяц можно отметить «продлевать автоматически» — тогда каждый месяц сумма спишется с карты сама. Выключить — «Система → Подписка → Автопродление», оплаченный срок остаётся.
- Как программа проверяет подписку. Раз в несколько часов программа связывается с сервером okovision.ru и получает подписанный ключ на 14 дней вперёд. Видео и кадры при этом не передаются — только номер подписки, код компьютера (свёртка идентификатора Windows), название заведения, версия и число камер (подробнее). Интернет пропал — всё работает дальше. Если связи нет 14 дней, анализ встаёт до её появления.
- Одна подписка — один компьютер. Поменяли компьютер или переустановили Windows — на новом откройте «Система → Подписка → Перенести подписку с другого компьютера» и впишите номер подписки и код переноса. Оба есть на старом компьютере в «Системе → Подписка» (код виден администратору). Переносов — до 3 за 30 дней.
- Сколько осталось — «Система → Подписка». За 7 дней до конца в «Системе» появится предупреждение и придёт сообщение в Telegram.
- Когда срок вышел. Ещё 3 дня анализ работает, панель предупреждает, через сколько он остановится. Потом анализ останавливается. Отчёты, настройки и камеры остаются, панель открывается. После оплаты анализ включается сам.
- Без интернета совсем. Для таких заведений есть ключ вручную: пришлите ID компьютера («Система → Подписка») в поддержку, ключ вставляется там же — «Ввести ключ вручную».
- Лимит камер. Добавить камеру сверх лимита панель не даст: на «Входе» — 2 камеры, на «Заведении» — 16, в пробный период — 4. Камеры сверх лимита не анализируются.
Обновления
Автообновления нет: новая версия ставится вручную из архива.
- Остановите задачу
OKO Boxв Планировщике заданий Windows. - Распакуйте содержимое папки
OKOиз архива новой версии поверх папки программы, по умолчаниюC:\OKO. Папкиdata,reportsи файлconfig.yamlв архив не входят и сохраняются. - Запустите задачу
OKO Box.
Текущая версия — в разделе «Система», строка «Версия».
Удалить программу: powershell -ExecutionPolicy Bypass -File C:\OKO\service\uninstall_box.ps1 от имени администратора. Задача, правило брандмауэра и процессы убираются, данные, отчёты и настройки остаются. С параметром -Purge удаляется всё.
Безопасность панели
- Панель доступна только из локальной сети заведения: правило брандмауэра открывает порт для частной и доменной сети. Работает по HTTP, без шифрования, поэтому наружу её выставлять нельзя.
- Пароли панели хранятся в виде хэшей. После 5 неверных попыток за 5 минут с одного адреса вход временно блокируется. Сессия живёт 30 дней; смена пароля выкидывает старые сессии этой роли.
- Две роли: администратор и просмотр. Пароль просмотра задаётся в «Настройки → Пароли» — его удобно дать владельцу на телефон.
- Пока пароль администратора не задан, мастер первого запуска открыт любому в сети.
- Забыли пароль администратора: остановите задачу
OKO Box, удалите файлC:\OKO\data\auth.json, запустите задачу. Мастер спросит новый пароль; камеры и отчёты останутся.
Приватность и 152-ФЗ
- Без модуля лиц ОКО считает силуэты и не хранит биометрических данных. Хранятся цифры проходов по часам, события и фото тревог. На фото тревог — люди, поэтому они удаляются сами через 30 дней.
- Кадр тревоги запретной зоны уходит в Telegram, если Telegram включён и отправка фото не выключена.
- Модуль лиц по умолчанию выключен и включается, только если он подключён к подписке и администратор подтвердил согласие гостей. С ним на компьютере хранятся отпечатки лиц (512 чисел на человека), фото гостей и оценка возраста и пола. Наружу эти данные не уходят.