Статья

HomeKit Secure Video (HSV) через HomeBridge Camera Ui

Совсем недавно у нас на портале была статья о том, как "почти" любую камеру с поддержкой RTSP потока можно добавить в HomeKit, используя функционал Secure Video. В статье использовалась система "Scrypted". Все бы ничего, но я столкнулся с рядом "но". А именно:

  • Данную систему необходимо было устанавливать в Docker, на что тратились дополнительные ресурсы железа.
  • Интеграции в MQTT: возможность такая есть, но как ее использовать - я так и не разобрался. 
  • Аксессуар DoorBell: отдельная тема, чтоб его создать пришлось несколько дней перелопачивать весь интернет.
  • Отсутствует создание бекапов. 
  • Одна из камер в моем арсенале категорически не хотела нормально работать в Scrypted.

HomeBridge HSV

Несколько дней назад, а точнее 20.01.22, HomeBridge получил долгожданное обновление 1.4.0, особенностью данного обновления стала поддержка HSV. Первый плагин, который получил данный функционал - Camera Ui. На мой взгляд, достаточно удобный инструмент с огромным заложенным функционалом внутри. Вот о нем далее и пойдет речь.

Установка Camera Ui

Как я уже сказал выше, Camera Ui - это Plugin для HomeBridge (в данном случае), но при этом это полноценная система видеонаблюдения. Установить ее можно несколькими способами.

  • Установка при помощи терминала, для этого в консоли: 
auto
Копировать
sudo npm install -g homebridge-camera-ui@latest
  • Используя вкладку Плагины системы HomeBridge. В поиске пишем "Camera Ui", после чего нажимаем "Установить".
На этом установка окончена и можно приступать к настройке. 

Первичная настройка HomeBridge

Как и в предыдущем случае, настроить систему можно также несколькими способами.

  1. Нажав кнопку НАСТРОЙКИ в разделе Плагины. Все основные настройки собраны здесь, поэтому первичную конфигурацию можно произвести из интерфейса ХомеБриджа. 
    Перейдя в настройки, появятся три вкладки "Cameras", "Config", "Interface". Переходим в раздел Config -> Interface и нажимаем кнопку Сохранить. В конфиге HomeBridge добавилась соответствующая платформа, можно перезагружать HomeBridge.
  2. Второй способ. Переходим во вкладку Конфигурация в HomeBridge, и в блок Platform добавляем следующее:
json
Копировать
"platforms": [
        {
            "platform": "CameraUI",
            "name": "CameraUI",
            "port": 8081,
            "cameras": [ ... ]
        }
    ]

Логин пароль по умолчанию: master/master

Добавление камер

Первым делом переходим в Настройки - левый нижний угол, иконка шестеренки. Далее пункт Cameras, нажимаем "Add new Camera", вводим название и Video Source (RTSP поток камеры), после чего жмем кнопку Add. Покажу на примере кубика Xiaomi Xiaofang с полученным root.

Камера успешно добавлена и уже должна показывать изображение. Но мы, для начала, немного облегчим жизнь нашему серверу и принудительно укажем Video Codec. Для этого открываем вкладку "FFmpeg and Stream", прокручиваем до середины и в поле Video Codec пишем copy, нажимаем кнопку Save.

На этом добавление камеры полностью завершено.

Интерфейс системы

Давайте немного ознакомимся с интерфейсом. Пройдемся по основным разделам системы.

Dashboard

Главная стараница системы, изначально она пустая, но в десяток кликов может превратиться в удобную панель управления. Сюда можно также вывести и камеры, но это дополнительная нагрузка не сервер, чего нам совсем не нужно. 

Cameras

Страница с выводом всех добавленных камер. Каждую можно развернуть и посмотреть Notifications, об этом немного позже.

Recordings

Если у камеры включена возможность записи на локальный сервер, на этой странице будет отображаться перечень фрагментов записи. Удобно для тех, кто использует Camera Ui в режиме видеорегистратора.

Notifications

Уведомления нам понадобятся для отслеживания функции детекции движения. Данная функция необходима для запуска записи видео HomeKit Secure Video в iCloud Apple.

Camview

Отображение всех добавленных камер, я так подозреваю в режиме реального времени, но в данном случае моя Raspberry pi 4 не смогла справиться с данной задачей и я видел только периодическое обновление картинки.

Далее идут три системных раздела, они нам понадобятся для конфигурации системы.

Console

Отображение лога системы, все тоже самое мы можем увидеть и в логах HomeBridge.

Config

Мой рабочий конфиг ситемы, по окончанию настройки вы получите что-то похожее. Текстовую версию конфига прикреплю ниже.

Utilization

Странное название раздела, никогда бы не подумал, что внутри находятся графики состояния системы. 

Итак, по всем основным разделам мы прошлись, что где искать и что где должно быть - знаем. Давайте теперь приступим к настройкам HomeKit Secure Video.

Настройка HomeKit Secure Video (HSV)

Снова переходим в раздел Settings (шестеренка в левом нижнем углу). Раздел Cameras, вверху выбираем камеру. Далее нам необхходимо настроить следующее.

Prebufferin

Разворачиваем вкладку, переводим переключатель Enable в положение Включено и нажимаем кнопку Сохранить. P.S. Если вы не планируете включать у камеры запись в iCloud, эту функцию все равно рекомендую включить, с ней картинка будет значительно плавнее и запускаться камера будет быстрее.

Videoanalysis

Данная функция необходима для обнаружения движения, движение, как уже говорил выше, необходимо для запуска триггера записи в iCloud.

Вибираем зону детекции движения, я оставил по умолчанию. Можно поиграться рычажком Sensivity - чувствительность движения, на многих камерах выкрутил на 50. После чего переводим Enabled в режим Включено и нажимаем кнопку Save.

На этом настройка Camera Ui закончена. Можно приступать к настройке на iOS девайсе.

Добавление камеры в HomeKit

Открываем приложение Дом, если не добавлен HomeBridge, добавляем. В перечне устройств в комнате, где добавлен сам мост, должна появиться наша камера. Открываем настройки камеры -> Параметры записи. Настраиваем, в какой момен должна производиться запись.

Проблемы, с которыми я столкнулся

Не прилетали Notifications, соответственно, не запускался триггер движения и не производилась запись, помогло заново добавить камеру.

Запись с камер в iCloud у меня началась не сразу, видимо должно пройти какое-то время, чтобы функция включилась (думаю, проблема в самом ХомеКите).

LifeHack

P.S. Небольшой LifeHack для снижения нагрузки на сервер. Можно использовать внешний датчик движения, вместо функции Videoanalysis. На нескольких камерах данную функцию я выключил, вместо нее настроил moution детект по топику MQTT. Топики для старта движения и резета отправлял из Node-RED. Это не только снизило нагрузку, но и увеличило точность срабатывания, исчезли ложные. Пример конфига прикреплю ниже.

Пример моего конфига

json
Копировать
{
  "name": "CameraUI",
  "port": 8081,
  "debug": false,
  "mqtt": {
    "active": true,
    "tls": false,
    "host": "192.168.хх.хх",
    "port": 44444
  },
  "http": {
    "active": false
  },
  "smtp": {
    "active": false
  },
  "ftp": {
    "active": false
  },
  "ssl": {
    "active": false
  },
  "cameras": [
    {
      "name": "Кухня",
      "motionTimeout": 15,
      "prebuffering": true,
      "videoConfig": {
        "source": "-i rtsp://192.168.88.59/unicast",
        "stillImageSource": "-i rtsp://192.168.88.59/unicast",
        "stimeout": 10,
        "audio": true,
        "debug": false,
        "subSource": "-i rtsp://192.168.88.59/unicast",
        "vcodec": "copy"
      },
      "mqtt": {
        "motionTopic": "CameraUI/Kuhny/motion",
        "motionMessage": "on",
        "motionResetTopic": "CameraUI/Kuhny/motion",
        "motionResetMessage": "off"
      },
      "smtp": {
        "email": "Кухня"
      },
      "videoanalysis": {
        "active": true
      },
      "hsv": true,
      "prebufferLength": 4000
    }
  ],
  "options": {
    "videoProcessor": "/usr/local/lib/node_modules/homebridge-camera-ui/node_modules/ffmpeg-for-homebridge/ffmpeg"
  }
}

Итог

Данная система мне понравилась гораздо больше, чем Scripted, о плюсах я уже говорил в самом начале. Единственное, чего пока мне не хватает - это возможность отправки MQTT топика для запуска триггера Doorbell, но глядя на интерфейс, скорее всего данная функция скоро появится. Также к плюсам можно отнести то, что система Camera Ui - это полноценная система для видеонаблюдения, при этом, как ни странно, она оказалась достаточно нетребовательна к железу. В ее арсенале много интересных функций профессионального видеорегистратора, такие как отправка видео или уведомлений в Telegram, складывания архива на FTP-сервер или в локальную директорию на самой машине.

Это был беглый обзор и настройка HomeKit Secure Video посредством HomeBridge Camera Ui. Следующий на очереди - плагин HomeBridge Camera Ffmpeg, который, якобы, получит поддержку в ближайшие дни, мы конечно же потестим новый инструмент и обязательно о нем напишем.


Самый большой минус по сравнению со Scrypted, это отсутствие onvif , чтобы не грузить систему анализом детекции движения и полностью отдать это камерам или регистратору. В общем и целом Scrypted работает сильно быстрее (это вообще самое быстрое что я видел).

В статье не плохо бы написать первичные имя/пароль для web ui - master/master , я его не вдруг нашёл.
Плюсом тут является что тригерить можно отнасительно топика МКТТ или вебхука.

за логин/пароль спасибо, добавил=)
Отличная статья, спасибо. Столкнулся с тем что видео не сохраняются в айклауд, в консоли пишет " HSV process was aborted with reason CANCELED. Второй момент я тоже не до конца понял, зачем активировать распознавание видео в настройках cервиса если этим будет заниматьcя Home центр, мне кажется достаточно поставить птичку напротив режима HSV в настройках и просто включать этот режим непосредсвенно на телефоне в настройках камеры, разве не так? Спасибо.
Добрый день. Вы знаете, у меня такая же ошибка. Уже раз 5 удалял-добавлял камеру, с первого раза вообще не было уведомлений о движении, после добавления камеры в ubridged mode уведомления начали приходить, но запись в HomeKit не работает и в логе тоже самое - HSV process was aborted with reason CANCELED
Добрый день! Подскажите, удалось решить проблему? Если удалось, подскажите как?
Спасибо за материал.
А с домофоном не разбирались? Очень хочется как то наладить двустороннюю аудиосвязь с видеодомофоном.
Аналогично ищу возможность организации двусторонней связи с входной группой в доме, но видимо пока это не возможно через ХБ.
Добрый день! Вопрос к знатокам в части камер.
В ХК прокинуты каберы через homebrudge ( Camera_ffmpg) .
при отображении миниатюры ( превью) камера обновляет данные.
Когда проваливаюсь в саму камеру, что бы просмотреть в большом окне, то камера бесконечно грузит и по итогу ничего не выводит.
В какую сторону копать?

И куда делся поиск с сайта?
Понизить битрейт до 300. Или просто перезагрузить хомбридж, так бывает иногда.
Кому-то удалось mjpeg поток запустить с камеры с этим плагином? вроде он заявлен как поддерживаемый, но что-то пошло не так

Вернуться назад
Вернуться назад