API Watcher: мобильный доступ и агенты¶
На работающем Optic можно включить совместимость с мобильным приложением Flussonic Watcher и подключать камеры через агентов. Для этого нужен публичный HTTPS-адрес Optic, доступный телефону, агентам и сервису Peeklio. API и видео должны быть доступны по одному адресу, например https://optic.example.com.
Включите API Watcher¶
В пакетной установке создайте файл /etc/optic/optic.yaml.d/90-mobile.conf:
optic:
mobile_compat:
enabled: true
Каталог загружает файлы с расширением .conf или .json. Более поздний файл заменяет секцию optic целиком: если в ней уже есть собственные параметры, сохраните их в том же блоке вместе с mobile_compat.
Перезапустите Optic:
systemctl restart optic
Настройка включает клиентский API Watcher для входа и просмотра камер под /watcher/client-api/v3/. По умолчанию она выключена. Изменение требует рестарта; страница Мобильный доступ показывает состояние и выдаёт QR-код входа, но пока не меняет эту настройку.
Подключите мобильное приложение¶
- Создайте именную учётную запись central. Если требуется смена временного пароля, завершите её перед подключением приложения.
- Войдите в консоль по публичному адресу Optic и откройте Мобильный доступ.
- Выпустите QR-код для своей учётной записи и отсканируйте его в приложении Watcher. Код действует пять минут; суперадминистратор может выпустить его для другой допущенной учётной записи.
Права на просмотр камер:
superadminиadmin— все камеры установки.viewer— камеры поcontent_labels: поле отсутствует — все, пустой список — ни одной, непустой список — камеры хотя бы с одной совпавшей меткой.securityиplayer— мобильный доступ закрыт.
В приложении доступны живое видео и уже записанный архив. Включение API само по себе не включает запись камеры.
Включите уведомления об эпизодах¶
Настройте подключение Optic к Peeklio в разделе Подключение Optic, затем войдите в приложение Watcher под своей учётной записью. Разрешите уведомления в настройках телефона и включите колокольчик нужной камеры. Уведомление приходит только получателям с текущим правом просмотра этой камеры.
Поддерживаются подписки на:
- Движение — новые эпизоды движения.
- Лица — новые эпизоды распознавания лиц при настроенной аналитике.
- Автомобили — новые эпизоды распознавания автомобилей при настроенной аналитике.
Лимит автоматических уведомлений общий для получателя: не чаще одного уведомления за десять минут по всем его камерам и устройствам. События внутри интервала не создают отдельное отложенное уведомление. Перезапуск Optic и выключение/повторное включение колокольчика не снимают ограничение. При временной ошибке доставки повторная попытка выполняется после того же интервала.
Для проверки выберите в настройках мобильного приложения Send test notification. Тест поступает всем зарегистрированным устройствам вашей учётной записи и не требует события камеры или включённого колокольчика. Его можно запросить вручную без ожидания интервала автоматических уведомлений. Следующее автоматическое уведомление разрешено не раньше чем через десять минут после отправки теста.
Нажатие на push об эпизоде открывает камеру и время эпизода. Запись архива и получение событий камеры должны быть настроены заранее. Подписка не рассылает накопленную историю. После перехода с Watcher без импорта устройств заново войдите в приложение и включите уведомления камеры. Запрет новых подключений агентов не отключает уже настроенные push.
Разрешите добавление камер через агентов¶
Войдите с ролью admin или superadmin и откройте Подключение Optic в меню консоли.
- Включите Разрешить регистрацию агентов.
- Укажите Адрес сервиса Peeklio, например
https://api.peeklio.net, и Публичный адрес Optic, напримерhttps://optic.example.com. Вводите адреса без дополнительных путей. - Выберите Дефолтный template камеры из существующих шаблонов central. Если шаблонов нет, создайте шаблон с настройками камеры; единственный доступный шаблон выбирается автоматически.
- Нажмите Сохранить, затем Зарегистрировать / обновить инстанс. Для новой установки оставьте Operator ID и серверный API key пустыми: Optic создаст ключ и сохранит полученный Operator ID. Для существующей установки сначала восстановите её прежние Operator ID и API key.
- Нажмите Проверить подключение и убедитесь, что проверка проходит.
Сохранение настроек и регистрация — отдельные действия. После регистрации Operator ID можно использовать для входа в приложение. Перезапуск Optic не повторяет регистрацию.
Добавление камеры с телефона доступно admin и superadmin. В приложении запустите добавление камеры с агентом и следуйте выбранному сценарию подключения. Агент связывается с Peeklio, а Peeklio передаёт его данные в Optic. В Стримах появляется камера ag-<agent_id> с выбранным шаблоном. Само появление камеры ещё не подтверждает приём видео: для него нужен настроенный стример.
Настройте приём видео через агентов¶
- Откройте Кластер → Стримеры и настройки стримера, который будет принимать видео. В одномашинной установке выберите локальный стример.
- В разделе Подключение задайте Публичный адрес медиа, доступный агентам. Для одномашинной установки это публичный адрес Optic: хост
optic.example.com, порт443, схемаhttps. - Сохраните изменения и дождитесь применения конфигурации стримером.
При запуске central и присоединении новой ноды central автоматически создаёт и сохраняет отсутствующий ключ медиатуннеля для каждого стримера, включая локальный. Вводить streampoint_key вручную не требуется. Уже заданные ключи сохраняются при перезапуске.
Агент устанавливает управляющее соединение с Optic через /endpoint/connect, а медиатуннель к назначенному стримеру — через /streampoint/connect. Если перед Optic уже работает обратный прокси, оба пути должны пропускать постоянные соединения с HTTP Upgrade. При подключении агента без видео проверьте публичный адрес стримера и применение его конфигурации.
Проверьте работу¶
Для проверки входа выполните команду с именной учётной записью; curl запросит пароль:
curl -sS --user operator1 --request POST --output /dev/null \
--write-out '%{http_code}\n' \
https://optic.example.com/watcher/client-api/v3/login
Ожидается 200. Неверный пароль возвращает 401, выключенная учётная запись или запрещённая роль — 403. При 404 проверьте 90-mobile.conf и рестарт после изменения.
В разделе Агенты проверьте управляющее соединение агента и его связь со стримом и стримером. В карточке камеры убедитесь, что состояние — running и видео воспроизводится. Затем проверьте ту же камеру в мобильном приложении.
Отключите доступ¶
Чтобы отключить мобильный вход и просмотр, установите enabled: false в 90-mobile.conf и перезапустите Optic.
Чтобы запретить добавление новых агентов, выключите Разрешить регистрацию агентов в Подключении Optic и сохраните. Уже добавленные агенты и стримы сохранятся; эти настройки сами по себе не останавливают запись камер.
Привязанные телефоны¶
В меню Optic откройте Привязанные телефоны. Администраторам доступны логин владельца, модель и платформа телефона, версия, даты регистрации и последнего подтверждения push, а также счётчики отправленных уведомлений и уведомлений без подтверждения. Регистрация без подтверждения сама по себе не доказывает отсутствие уведомления на экране телефона.
Устройства и подписки привязаны к логину. Повторное создание учётной записи с тем же логином сохраняет привязки. Push-токены в списке не показываются.
Операторский API: GET /optic/api-v1/devices?offset=0. Ответ содержит devices и next_offset; если next_offset не null, передайте его как offset для следующей страницы. На странице до 100 регистраций.