FAQ
Частые вопросы администраторов и интеграторов — коротко и по делу.
Короткие ответы на то, что спрашивают чаще всего. Подробности — по ссылке в конце каждого ответа.
Видео не открывается#
Почему камера в списке «в эфире», но видео в браузере не открывается?#
«В эфире» означает, что нода приняла поток от камеры. Дальше видео идёт напрямую с ноды в
браузер, минуя Plane, поэтому у браузера могут быть свои причины его не показать. Проверьте две
вещи. Первая — лицензия ноды: без действующей лицензии раздача видео не работает, хотя нода
видна в админке и управляется; состояние смотрите в Ноды → нода → Лицензия. Вторая —
протокол ноды: если админка открыта по HTTPS, а нода отдаёт видео по HTTP, браузер блокирует
смешанное содержимое (mixed content), и плеер остаётся пустым — в консоли браузера видно
заблокированный запрос. У ноды HTTPS работает с первого запуска, поэтому так бывает только если
её завели по http://. Предупреждение о самоподписанном сертификате ноды видео не блокирует —
достаточно один раз принять исключение.
См. TLS и сертификаты и Лицензирование.
Почему нода видна как offline, хотя она работает?#
Классическая причина: у ноды свой TLS, а адрес управления задан по http://. Такая нода
перенаправляет весь обычный HTTP на HTTPS, а при перенаправлении теряется заголовок авторизации —
Plane перестаёт получать ответы и переводит ноду в offline, хотя видео и запись продолжаются.
Убедитесь, что оба адреса ноды начинаются с https://: Ноды → нода → Сеть и TLS → Адреса ноды.
Установщик задаёт их так с самого начала, поэтому чаще всего это встречается на ноде, заведённой
руками. Состояние восстановится на ближайшем опросе. Дополнительный плюс: конфигурация с логинами
и паролями камер идёт на ноду в шифрованном виде. См. TLS и сертификаты и
Установка с нуля: Node.
Где взять HWID для кода активации?#
В админке: Ноды → нужная нода → вкладка «Лицензия» → поле «HWID». Там же видны владелец
лицензии, разрешённое число потоков и сроки. Если Plane до ноды не достучался и вкладка показывает
«Лицензия недоступна», тот же HWID нода пишет в свой журнал при старте, пока лицензии нет:
sudo journalctl -u hastreamer-cctv-node -b | grep -o 'HWID [A-Za-z0-9]*' | tail -1. Полученный код
активации кладут файлом /etc/hastreamer-cctv/license.txt на сервер ноды и перезапускают службу.
См. Лицензирование.
Почему не выпускается сертификат Let's Encrypt?#
Причин ровно две, и обе внешние: порт 80 недоступен снаружи (проверка HTTP-01 не доходит) или
DNS-имя не указывает на этот сервер. Проверьте, что A-запись домена смотрит на IP этого
сервера и что 80/TCP открыт в firewall и у провайдера. Порт 80 нужен не только при установке, но и
постоянно — для автоматического продления. Сервис при этом продолжает работать: пока сертификат не
выпущен, отдаётся временный самоподписанный, поэтому «не выпустился» проявляется как
предупреждение браузера, а не как остановка. См. TLS и сертификаты и
Порты и сеть.
Камеры и события#
Почему у камеры не создалось событие, хотя она пропадала?#
Это подавление «морганий», сделанное намеренно: на реальном парке значительная часть камер переподключается постоянно, и событие на каждый разрыв превратило бы журнал в шум. Plane опрашивает ноды примерно раз в 5 секунд и открывает событие только после трёх подряд неудачных опросов — то есть если камера недоступна дольше ≈15 секунд. Время начала события при этом ставится задним числом на первый неудачный опрос, поэтому длительность в журнале честная, а не укороченная на время ожидания. Для частых кратких пропаданий смотрите не журнал, а счётчик «Ошибки» в списке камер. См. События.
Что означает счётчик «Ошибки» в списке камер?#
Это число переподключений к источнику с момента запуска потока, а не количество испорченных
кадров. Первое подключение не считается — у здоровой камеры там 0. Растущее значение означает,
что источник рвётся: слабый канал или Wi-Fi, просадки питания, перегруженная камера, потери на
коммутаторе. Счётчик обнуляется при перезапуске потока — в частности, при перезапуске ноды, поэтому
сравнивать значения имеет смысл вместе с колонкой «Аптайм».
См. Настройка камер.
Почему в списке камер пустая колонка «Хост» у камер, добавленных через API?#
host — самостоятельное поле карточки камеры, а не производная от RTSP-ссылки: система не
разбирает URL потока, чтобы его заполнить. У камер, заведённых как «Прямой RTSP» без указания
host, колонка остаётся пустой. На приём видео это не влияет, но ломает поиск и фильтрацию по
адресу, поэтому при массовом заведении камер заполняйте host явно.
См. Камеры и Добавление камер.
Можно ли перенести камеру на другую ноду без потери архива?#
Нет. Архив физически лежит на диске той ноды, которая вела запись, и привязан к её хранилищу — переносу между нодами он не подлежит. При смене ноды (или диска записи у той же ноды) старый архив ставится в очередь на удаление, и переносится только сама камера. Если записи нужны — выгрузите нужные фрагменты до переноса. См. Архив (DVR) и Настройка камер.
Архив#
Почему архив не пишется?#
Три причины по частоте. Диск не инициализирован: новое хранилище получает статус «Требуется инициализация» и не принимает DVR-камеры, пока не нажата «Инициализировать диск». У камеры не включена запись: в карточке камеры DVR стоит «Выкл» — камера транслирует, но не пишет. Кончилось место или подменён том: система привязывает хранилище к конкретному устройству и блокирует запись, если файловая система не совпадает с зафиксированной. Проверять начинайте с карточки узла, вкладка «Хранилища». См. Хранилища DVR и Архив (DVR).
Сколько места нужно под архив?#
Считается от битрейта, а не от числа мегапикселей: поток в 1 Мбит/с даёт примерно 10–11 ГБ на камеру в сутки. Умножьте на битрейт основного профиля, число камер и глубину хранения, затем добавьте 10–15 % запаса — вытеснение должно срабатывать раньше, чем диск заполнится полностью. Глубина задаётся на камере (по сроку или по объёму), порог вытеснения — на хранилище. См. Требования и подбор оборудования и Хранилища DVR.
Доступ и учётные записи#
Почему меня выкидывает из админки, когда коллега заходит под тем же логином?#
В организации задано ограничение числа одновременных сеансов на пользователя. Когда лимит превышен, система завершает самый старый сеанс — тот, кто вошёл раньше, получает страницу входа. Это не сбой и не взлом: два человека под одним логином всегда будут выталкивать друг друга. Заведите каждому свою учётную запись; факт вытеснения виден в журнале аудита. См. Пользователи и права доступа и Организации, квоты и лимиты.
Чем отличаются роли и что такое грант?#
Роль определяет, какие разделы вообще доступны: суперадмин видит всю установку, включая узлы и настройки платформы; админ организации — только свою организацию, её камеры и пользователей; оператор — просмотр без администрирования. Грант — это выданное право на камеры: базовый доступ ко всей организации или доступ по тегу, с набором признаков «прямой эфир», «архив», «события», «PTZ», «экспорт», «превью». Камера с тегом наследует права соответствующего гранта, а несколько грантов складываются по максимуму. Итог по конкретному пользователю показывает вкладка «Итоговый доступ». См. Пользователи и права доступа.
Где посмотреть, кто удалил камеру?#
В разделе «Аудит»: журнал неизменяемый, только на добавление. Задайте диапазон времени и
фильтр «Тип объекта» = camera, при необходимости уточните действие и субъекта. В записи видно,
кто, когда, над каким объектом и с какого IP-адреса действовал; кнопка «Детали» раскрывает полный
состав записи, а «Экспорт CSV» выгружает выборку. Туда же попадают показ пароля камеры и выдача
ссылок доступа. См. Аудит и журналы.
Эксплуатация#
Сколько камер тянет одна нода?#
Определяющий фактор — суммарный битрейт приёма и раздачи, а не число камер: 100 камер по 8 Мбит/с нагружают ноду сильнее, чем 300 по 2 Мбит/с. Запись добавляет нагрузку на диск, а не на процессор; зрители нагружают только ту ноду, где лежит камера. Планируйте по требованиям и распределяйте камеры между нодами, а не наращивайте одну. См. Требования и подбор оборудования и Производительность.
Как обновить систему без потери видео?#
Порядок: сначала Plane, потом ноды. Пока Plane перезапускается, ноды продолжают вещать и писать архив — недоступны только админка, API и приём новых событий, то есть обновлять контрол-плейн можно в рабочее время. Ноды обновляйте по одной: перезапуск ноды — это перерыв в видео и записи её камер на несколько секунд, и делать его лучше в согласованное окно. Между нодами дождитесь, пока предыдущая вернётся в состояние «Активен». См. Обновление и удаление.
Что обязательно бэкапить?#
Три вещи. База PostgreSQL — вся конфигурация, пользователи и права, камеры, ноды, события и
аудит. Конфигурация Plane (plane.toml) — строка подключения к базе, TLS, пути. Ключи Plane
([keys] session_key_pem и [keys] tunnel_control_key_pem) — ими подписываются сессии, права на
видео и команды нодам; без них после восстановления придётся перевыпускать конфигурации нод и
заново спаривать флот. Видеоархив обычно не бэкапят — он избыточен по объёму и восстанавливается
только заново записанным. См. Резервное копирование и
plane.toml — все параметры.
Где искать причину, если ответа здесь нет?#
Начните с раздела Диагностика неисправностей — там симптомы разобраны по схеме «признак → причина → решение». Ежедневные проверки и метрики описаны в Мониторинге, а поведение самих компонентов при отказах — в Архитектуре.