Подготовьте сервер, установите СПЕКТР и откройте его адрес в браузере. Затем добавьте первую камеру и проверьте запись. Пробную лицензию можно подключить позже, если нужны расширенные возможности.
Что нужно
- Постоянно работающий компьютер или виртуальная машина с Ubuntu 22.04 LTS.
- От 4 ГБ памяти для небольшого объекта и диск под записи.
- Камеры с RTSP-потоком в доступной серверу локальной сети.
- Доступ к консоли сервера для установки.
Если сервер ещё не выбран, начните с раздела «Выбор сервера». Подробности о нагрузке и пропускной способности — в разделах «Производительность» и «Сеть».
Установка
Всё делается в консоли того сервера, куда ставим. Скачивать браузером и копировать файл по сети не нужно.
wget https://vspektre.ru/dl/spektr-latest-py3.10.tar.gz
tar xzf spektr-latest-py3.10.tar.gz
cd spektr-*/
sudo bash install.sh
Адрес устойчивый — он всегда указывает на свежую сборку, и переписывать команду при обновлении не придётся.
Установщик подготовит нужные пакеты и запустит службу. Когда всё закончится,
на экране появится адрес вида http://192.168.1.50:8080.
Подробности о проверке архива, совместимости сборки и ходе установки
собраны ниже.
Первый вход
Откройте этот адрес в браузере с любого устройства в той же сети — с компьютера, телефона или планшета.
Логин admin, пароль admin.
Сразу смените пароль: меню учётной записи → «Мои настройки» → «Сменить пароль». Пока пароль не сменён, система будет напоминать об этом при каждом входе.
Добавьте первую камеру
Откройте Настройки → Поиск камер и выберите камеру. Если её нет в списке, добавьте вручную кнопкой «+ Камера». Укажите логин и пароль камеры, основной и дополнительный потоки.
Откройте просмотр и проверьте запись в архиве. В Настройки → Здоровье видны состояние потока, записи и детектора. Подробные настройки — в инструкции по подключению камеры.
Лицензия и пробный период
Бесплатный локальный запуск не требует облачной регистрации. Без файла лицензии СПЕКТР работает в бесплатном режиме: до 16 камер, один пользователь. Подключите камеру и проверьте запись, прежде чем настраивать дополнительные возможности. Все первые шаги собраны в кратком порядке запуска.
Для расширенной пробы на 14 дней:
- Создайте личный кабинет на vspektre.ru и подтвердите адрес почты по ссылке из письма. Без подтверждения кабинет не выпускает лицензию.
- Добавьте сервер в кабинете. С этого момента начинается пробный период, даже если СПЕКТР ещё не установлен на Вашем оборудовании.
- Откройте раздел «Лицензия» этого объекта и скачайте готовый файл.
- Откройте файл как текст. В локальном СПЕКТР перейдите в Настройки → Лицензия, вставьте содержимое в поле «Ключ лицензии» и нажмите «Активировать». Это текстовое поле, не загрузчик файла.
Первый вход admin/admin не создаёт облачный кабинет и не применяет лицензию.
Автоматическое продление — другой этап: ему нужны реквизиты подписки из уже
применённой лицензии и связь с сервером лицензий.
Если файл ещё не выпущен либо сервер без интернета: в локальной вкладке «Лицензия» раскройте «Сервер без интернета: получить лицензию вручную» и скопируйте строку активации. На устройстве с интернетом откройте кабинет, «Лицензия» → «Сервер без интернета», вставьте строку и выпустите файл. Затем примените его содержимое в поле «Ключ лицензии» на сервере.
Проверка подписанного файла выполняется локально и не требует интернет-связи. Срок и возможности видны в той же вкладке. Облачный Cabinet управляет лицензией и подпиской; камеры открываются по адресу Вашего сервера, а не на vspektre.ru.
Доступ снаружи
По умолчанию система доступна только из Вашей локальной сети — так безопаснее.
Для штатного удалённого доступа нужна лицензия с этой возможностью.
Чтобы смотреть камеры из другой сети, откройте Настройки → Удалённый доступ,
включите тумблер и впишите имя — например sklad-1. Всё остальное уже настроено:
адрес нашего сервера, порт и токен приезжают вместе с продуктом.
Система станет доступна по адресу вида имя.cam.vspektre.ru. Белый IP-адрес,
проброс портов и настройка роутера не нужны — сервер сам держит исходящее
соединение.
Имя лучше сначала закрепить за собой в личном кабинете на vspektre.ru: занятое кем-то имя система не отдаст, и туннель не поднимется. Если что-то не так, причина написана красной строкой прямо под тумблером — пришлите её нам, она называет проблему точно.
Обновление
Система сама скажет, когда вышла новая версия. Раз в сутки, если у сервера есть интернет, она спрашивает нас, не появилось ли обновление, и показывает ответ в Настройках → Система, рядом с номером текущей версии. Там же кнопка «Проверить», если ждать сутки не хочется.
Наружу при этом уходит только версия Python — по ней подбирается подходящая
сборка. Ни адресов, ни имён камер, ни отпечатка сервера мы не спрашиваем.
Проверку можно выключить: параметр update.check в той же вкладке.
Обновиться можно кнопкой. Рядом со строкой «Доступна версия X» есть кнопка «Обновить до X». Сервер скачает подписанную сборку, проверит подпись и переустановит себя — на это уходит одна-три минуты, и на это время служба останавливается: живые просмотры прервутся, запись остановится. Настройки, камеры, архив и события не трогаются. Если новая версия не запустится, прежняя вернётся сама.
Тем, кому привычнее терминал, — те же команды, что и при установке:
wget https://vspektre.ru/dl/spektr-latest-py3.10.tar.gz
tar xzf spektr-latest-py3.10.tar.gz
cd spektr-*/
sudo bash install.sh
Настройки, камеры, записи и события сохраняются. Установщик заменяет
только код: данные лежат отдельно, в /var/lib/spektr, и он их не трогает.
Служба перезапустится, живые просмотры прервутся на минуту.
Если распаковываете в тот же каталог, где лежит прошлая версия, cd spektr-*/
найдёт две папки. Тогда заходите в новую по полному имени — оно видно после
распаковки.
Второй диск под записи
Каталог для записей должен принадлежать пользователю spektr — под ним
работает служба. Второй диск обычно смонтирован от root, и служба не может
создать в нём подкаталог. Поэтому один раз в терминале:
sudo mkdir -p /mnt/disk2/spektr && sudo chown spektr:spektr /mnt/disk2/spektr
и затем Настройки → Хранилище → Новое хранилище, каталог /mnt/disk2/spektr.
Для NTFS, exFAT и сетевых дисков chown не работает — владельца задают при
монтировании, опциями uid=spektr,gid=spektr в /etc/fstab.
Удаление
Запустите из распакованного архива:
sudo ./uninstall.sh
Скрипт спросит отдельно, удалять ли записи: они лежат в /var/lib/spektr
и по умолчанию остаются.
Выбор сервера
Сервер. Отдельный компьютер или виртуальная машина, работающая круглосуточно. Подойдёт мини-ПК, системный блок или ВМ на Вашем сервере.
| Камер | Ядер | Память | Диск |
|---|---|---|---|
| до 4 | 2 | 4 ГБ | от 250 ГБ |
| до 12 | 4 | 8 ГБ | от 1 ТБ |
| до 24 | 8 | 16 ГБ | от 2 ТБ |
Это ориентир для записи. Для распознавания объектов дополнительно проверьте производительность процессора.
Диск — главное. Одна камера 4K пишет около 40 ГБ в сутки, камера Full HD — около 12 ГБ. Считайте так: число камер × суточный объём × сколько суток хранить. Не хватит места — система сама удалит самые старые записи, ничего не сломается, но глубина архива окажется меньше ожидаемой.
Операционная система и сборка
Ubuntu 22.04 LTS, Python 3.10, x86-64. Для Debian, Astra Linux и других систем сначала нужна сборка под установленную minor-версию Python. Не используйте архив py3.10 на Python 3.11/3.12: установщик проверяет ABI и остановится при несовпадении.
Производительность
Ядра из таблицы — про запись, а не про распознавание. Запись и детекция движения — это много лёгких процессов, они делятся по ядрам почти поровну, и чем ядер больше, тем больше камер. А вот распознавание объектов (кто именно в кадре: человек, машина, животное) считает нейросеть, и её цену задаёт не количество ядер, а то, какие векторные инструкции умеет процессор и как быстро у него память. Поэтому старый серверный процессор, который по таблице «проходит с запасом», на распознавании может оказаться медленнее современного четырёхъядерного мини-ПК.
Если распознавание объектов Вам нужно — а без него не работает большинство сценариев, — при выборе железа смотрите на процессор, а не только на число ядер:
- Процессор не старше 2019 года. В одном из замеров стенд с Xeon E5-2670 v3 2014 года и двумя выделенными ядрами записывал камеры, а один кадр нейросети считал 0.1 секунды: при таком темпе на все объекты в кадре времени не хватает, система сама снижает частоту проверок и часть объектов остаётся без класса.
- Мини-ПК на современном процессоре — лучше списанного сервера. Ядер меньше, но каждое считает нейросеть заметно быстрее.
- Встроенное видеоядро Intel — плюс. Оно умеет считать нейросеть вместо процессора и разгружает его; продукт это поддерживает.
Векторные инструкции процессора
Для распознавания полезны AVX2, AVX512 и VNNI. Проверить их поддержку в Linux можно так:
lscpu | grep -o 'avx2\|avx512[a-z]*\|vnni' | sort -u
Наличие этих инструкций помогает распознаванию, но само по себе не определяет скорость: важны процессор, память и фактическая нагрузка. Пусто — распознавание работать будет, но медленно; начните с записи и детекции движения и проверьте нагрузку перед включением распознавания.
Сеть
Сеть. Камеры и сервер в одной локальной сети. Камеры должны отдавать поток по RTSP — это умеют практически все.
Полоса до камер — считайте заранее, это ловит объекты от 30 камер. Сервер забирает у каждой камеры два потока (основной и дополнительный), и весь этот трафик течёт через коммутаторы между камерами и сервером. Камера Full HD даёт 2–4 Мбит/с, 4K — 8–12; двадцать камер — уже под 100 Мбит/с. Если по дороге стоит хоть одно 100-мегабитное звено (старый коммутатор, стык между коммутаторами, кабель, «договорившийся» на 100), при добавлении камер оно упирается в потолок, и дальние камеры начинают отваливаться — все разом и без видимой причины, хотя каждая по отдельности пингуется. Признак: пинг до камер с сервера в десятки и сотни миллисекунд вместо долей миллисекунды.
Правила простые: стыки между коммутаторами и порт сервера — гигабитные; основной поток камеры — не выше 4 Мбит/с для Full HD (постоянный битрейт); держите запас хотя бы в треть от полосы самого узкого звена. Всё это видно в Настройки → Сеть: сколько приходит на каждую карту сервера, сколько даёт каждая камера и сколько к ней открыто сессий, а по кнопке «Замерить задержки» — время ответа каждой камеры; ниже — выводы, что именно на пределе и какие камеры тяжелее всех.
Удалённое подключение
Штатный удалённый доступ использует внешний FRP-туннель. Сервер держит исходящее соединение; белый IP-адрес и проброс портов не нужны. Для этого пути нужны лицензия с удалённым доступом, закреплённый поддомен, интернет на обеих сторонах и доступная служба туннеля. Видео продолжает храниться на Вашем сервере. Настройка доступа, проверка медленного соединения.
Технические сведения об установке
Установка занимает несколько минут, и дольше всего идёт шаг «Python venv +
зависимости». На нём скачивается около 200 мегабайт библиотек — это нормально,
и на медленном канале может занять и десять минут. Установщик показывает, что
именно качается; если хочется убедиться со стороны, в другом терминале:
du -sh /opt/spektr/venv — каталог должен расти.
py3.10 в имени — это не мелочь. Внутри лежит байткод, а он привязан к
версии Python: сборка под 3.10 не запустится на 3.11 или 3.12. Версия 3.10 —
это Ubuntu 22.04. Если у Вас другая система, скачивать надо сборку под её
версию; установщик проверит совпадение и остановится, ничего не изменив, а не
поставит наполовину.
Проверить, что файл дошёл целым:
curl -fsSL https://vspektre.ru/dl/SHA256SUMS | sha256sum -c --ignore-missing
Должно ответить OK. Если нет — файл скачался не полностью, повторите
загрузку. Проверка не лишняя: оборванная закачка выглядит как обычный архив, а
распакуется с ошибкой уже в середине установки.
Если wget не установлен — sudo apt install -y wget, либо то же самое
через curl -O.
Установщик сам поставит недостающие пакеты, создаст служебного пользователя, разложит файлы и запустит службу. Он проверяет, свободны ли нужные порты (8080 для веб-интерфейса, 8554 и 1984 для внутренней работы), и если чем-то занят — скажет об этом до того, как что-либо изменит.