HomeKit Secure Video для камер с RTSP потоком

22 октября 2021, 14:19

Все мы задумывались о малозаметных и стабильных системах видеонаблюдения в нашем жилом пространстве с возможностью облачной записи и хранения, реализации автоматизаций с распознаванием объектов, попавших в область действия камеры, о едином приложении для "Умного домика" и всего выше перечисленного функционала. И вот свершилось! Все, чего мы так долго ждали, стало доступно к реализации благодаря новаторам из различных направлений и огромного сообщества единомышленников.

Логичным продолжением статьи на портале Sprut.ai от Уважаемого Александра Жабунина (OXOTH1K), стало появление продукта, позволяющего реализовать функционал HomeKit Secure Video для камер с RTSP потоком. Но нам как всегда этого мало и хочется все это увязать с функционалом нашего любимого sprut.hub (СХ), и вот нам в помощь приходит еще один Уважаемый единомышленник Сергей Авдеев со своими наработками в этой области.
Итак обо всем по порядку:

Выбор устройства

Изучая рынок видеокамер, наткнулся на одну камеру с классическим исполнением и минимально возможными габаритами для своего функционала, которую не стыдно поставить в прихожей, в гараже или на улице - Xiaomi Mijia Smart Camera (MJSXJ02HL). Самое главное, что несмотря на свой симпатичный внешний вид, камера обладает классом защиты IP65. Технические характеристики среднего уровня, но довольно комфортны для реализации нашей идеи:

  • Разрешение: FullHD 1920×1080 пикселей.
  • Видео: 20 кадров в секунду.
  • Угол обзора: 170 градусов.
  • ИК-подсветка: до 10 метров.
  • Автоматический режим ночного видения.
  • Двусторонняя связь.
  • Отслеживание движения.
  • Сохранение файлов в формате MP4 (H.265).
  • Карта памяти MicroSD до 32ГБ.
  • Wi-Fi 802.11 b/g/n 2,4Гц.
  • Питание от 5В.
  • Магнитное крепление.
  • Установка: настольная, потолочная, настенная.
  • Размеры: 60 x 67 (без подставки 60) x 48 мм.
  • Защита от пыли и воды: стандарт IP65.

k01-1.jpg

Альтернативная прошивка

Я уже почти смирился с возможным использованием родного программного продукта Mi Home, но поисковая система Google была с этим не согласна и выдала ссылки на сайт Блокнот гика, на котором я обнаружил несколько статей о возможности замены загрузчика данной камеры и последующей заливке альтернативных прошивок. Сам же автор - Сергей Авдеев, разработал альтернативную прошивку с функционалом RTSP и MQTT и радости моей не было предела! Прошивка создана на базе оригинального образа от производителя, но из нее убраны все функции, связанные с работой китайских сервисов - самая нужная и идеологически верная в концепции нашего "Умного домика" опция, а также полностью переписан код управляющего приложения. Автор оказывает активную поддержку пользователей в своем Телеграм канале.

Информацию о самом процессе можно почерпнуть в соответствующих статьях автора про обновление загрузчика (3 варианта) и обновление прошивки IP-камеры MJSXJ02HL. Ниже приведены скрины основного функционала у нашей полностью автономной камеры, после замены оригинальной прошивки на правильную.

1600x_image.png?1634838305

Меню настроек для реализованных функций.

1600x_image.png?1634838306

Меню с системными опциями.

Функционал MQTT

Я подробнее остановлюсь на самом важном для взаимодействия со СХ функционале MQTT. Благодаря возможностям СХ и присутствующему в нем MQTT, мы можем реализовать полноценное взаимодействие с данной камерой на альтернативной прошивке. Теперь на уровне СХ можно реализовать уникальные автоматизации, связанные с распознаванием humanoid))). Подробная информация о доступных топиках и примерах использования на Github ресурсе автора в соответствующем разделе:

Входящие топики 

Выполнение команд на устройстве:

Топик: mjsxj02hl/cmd 

  • get_image - сохранить изображение в указанный файл/путь.
  • set_volume - установить уровень громкости динамика.
  • play_media - воспроизвести указанный медиафайл.
  • stop_media - остановить текущее воспроизведение.
  • restart - перезапустить основной видеопоток.
  • reboot - перезагрузить устройство.

Исходящие топики

Информация по событиями обнаружения движения:

Топик: mjsxj02hl/info

  • motion - статус обнаружения движения.
  • humanoid - статус обнаружения человеческого профиля.
  • timestamp - текущая отметка времени.

Информация по состоянию ночного режима:

Топик: mjsxj02hl/night

  • state - статус ночного режима.
  • gray - состояние оттенков серого.
  • timestamp - текущая отметка времени.

Дополнительно есть Информационный топик об общем состоянии устройства, в котором можно отследить следующие параметры - ip-адреса, загрузку памяти, состояние SD-карты и много другое: Топик: mjsxj02hl/info

k01-1.jpg

SCRYPTED - вишенка на торте

Ну а теперь то, ради чего мы все это затеяли - проект Scrypted Home Automation от Koushik Dutta и Ко для платформ Google Home, Apple HomeKit, Amazon Alexa. Разработчики охотно идут на контакт в Discord и при совместном взаимодействии оперативно появился докер для моего сетевого хранилища Synology. Также у ребят из проекта есть готовый докер для Raspberry PI и возможность установить на PC Linux и Mac OS. Проект построен на node.js и не требует всех этих трудностей с инсталляцией и поддержанием в актуальном состоянии всех кодеков ffmpeg/aac, которые мы раньше использовали для интеграции наших камер с Homebridge Camera FFmpeg. Проект довольно интересный, имеет удовлетворительный интерфейс и магазин плагинов - кстати поддерживает уже неплохой пул устройств, но нам из всего этого великолепия интересен лишь небольшой набор плагинов для реализации HomeKit Secure Video для камер с RTSP потоком, хотя основной акцент разработчики делают на комплексные системы с индивидуальными плагинами для взаимодействия с ними Unifi, HikVision и Amcrest. Также реализован полноценный плагин для камер с Onvif.

После установки ломимся на локальный WEB-интерфейс по адресу в зависимости от типа установки: 

https://localhost:9443/

или 

https://<IP адрес докера>:9443/

1600x_image.png?1634844390

Переходим в раздел плагинов и устанавливаем необходимые нам:

@scrypted/coreScrypted Core Plugin (Ядро системы)

@scrypted/homekitHomeKit Plugin (Плагин для работы с HomeKit)

@scrypted/rtsp - RTSP Plugin (Плагин для работы с RTSP устройствами)

@scrypted/opencv - OpenCV Plugin (Плагин для распознавания движения RTSP видеопотока)

@scrypted/prebuffer-mixinRebroadcast Plugin (Плагин для буферизации видеопотока и последующей записи предшествующего движению буферизируемого отрезка)

Теперь осталось зайти в меню Plugins и выбрать интересующий нас плагин RTSP Camera Controller и в нем добавить виртуальные сущности камер, в настройках которых привязываются физические устройства и настраиваются связи с установленными плагинами. Также в разделе, соответствующему каждому связанному с устройством плагина, есть тонкие настройки, позволяющие задать параметры конвертации потока при трансляции в homekit, время буферизации, срабатывания движения и т.п.:

1600x_image.png?1634849438
k01-2.jpg

Параметры подключения моста Scrypted в HomeKit найти можно, перейдя в соответствующий плагин в разделе Plugins. Код динамически изменяется, поэтому при добавлении нового устройства или изменения параметров необходимо сюда заглядывать за новым кодом:

1600x_image.png?1634849910

После добавления камер мы получаем полный набор функционала брендовых HomeKit Умных камер для обычной RTSP. Актуальная в настоящий момент - бесплатное облачное хранилище в iCloud.

k02-1.jpg
k02-2.jpg
k02-3.jpg

Спасибо всем разработчикам за их непосильный вклад и вам за уделенное внимание!


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Александр Жабунин (OXOTH1K)

    Офигительно! То, чего все так долго ждали!

  2. Сергей Ескин (Arnold)
    Сергей Ескин (Arnold) месяц назад

    Ух-ты, будет чем заняться на выходных!

  3. Сергей Пушкин (SergeyP)
    Сергей Пушкин (SergeyP) месяц назад

    Мощно, лови приз)

  4. Илья Бондин (skull09)
    Илья Бондин (skull09) месяц назад

    Вот бы скриптед на винду кто помог запустить что то у меня не задалось 😂

  5. Антон Григорьев (Infinity)

    Поставил на Synology это чудо 3 ГБ размером, не сложно было подключить Hikvision через rtsp-поток, но в доме камера пока не появилась, только в вэб-интерефейсе, с задержкой картинки на пару секунд и шумом в аудио.

    Интересный проект.

    • Виталий Сковородко (bossco)

      А мост добавил в ручную? После добавления моста HK видит за ним устройства и предлагает добавить камеру.

      • Антон Григорьев (Infinity)

        Удалил и передобавил мост, мой Хиквижн пробросился в ХоумКит, ещё транскодирование из 265+ включил, не знаю что именно помогло, оно действительно увидело камеру как аксессуар ногого шлюза. Охренительный проект.

        • Виталий Сковородко (bossco)

          Не забывай после изменения параметров плагинов делать их перезапуск. Сначала вносишь изменение параметров, потом заходишь в раздел плагинов выбираешь сначала плагин, который используешь для работы камеры и в нем делаешь Reload plugin, потом переходишь в плагин HomeKit и перезапускаешь его также нажимая кнопку Reload plugin. Это информация от разрабов.

  6. (M.B.)
    (M.B.) месяц назад

    Поставил на synology, камеры прокинулись, снапшоты делает, но при входе в камеру не работает трансляция. Камеры hikvision h.265 через плагин hikvision. Кто-нибудь разобрался?

    • Виталий Сковородко (bossco)

      Попробуй отключить передачу звука - я кучу разных IP-камер протестил (hikvision нету к сожалению), на некоторых прокидывалась только статическая картинка - но при запрете аудио, все становилось ок и начинало передаваться видео. 

      • (Vladislav555)
        (Vladislav555) месяц назад

        Добрый день!
        Установил вчера на Synnology. В homekit Дом трансляция с камер появляется, можно включить в настройках запись.
        Но по факту только "Прямой эфир".
        При этом установленная в homekit Aqara camera G2H в icloud пишет, лица определяет.
        Камеры подключаю через Hikvision,  RSTP и ONVIF плагины, результат везде одинаковый, только прямой эфир. Может есть какая-то хитрость? Разрешения видео пробовал устанавливать разные, звук отключил...

        • Виталий Сковородко (bossco)
          Виталий Сковородко (bossco) отредактировано месяц назад

          Секретов не было - но возможно не учли вот этот ньюанс Apple:

          - Тарифный план iCloud+ на 50 ГБ поддерживает одну камеру; тарифный план iCloud+ на 200 ГБ поддерживает до пяти камер; тарифный план iCloud+ на 2 ТБ поддерживает неограниченное количество камер.

          Если первый тарифный план то только одна камера и G2H уже активирована. Удалите все ее записи и саму камеру из приложения Дом, в течении 24 часов сможешь активировать новую камеру.

          • (roysbike)
            (roysbike) месяц назад

            Таже проблема, но у менят ТП 2ТБ. В настройках запись включена, по факту записи нет. 

            • Виталий Сковородко (bossco)
              Виталий Сковородко (bossco) отредактировано месяц назад
              1. Камеры пишут только по факту фиксирования Движения - Moution отрабатывает? 

              В настройках камеры в HK в разделе Трансляция и Запись включил состояние камеры Дома - Трансляция и запись? (по дефолту просто трансляция). Могу предложить для диагностики отключить все распознавания и оставить только Любое движение. У меня так и стоит - Любое движение, распознавания лиц, курьеров, животных, машин и людей не работают (правда нормальных камер нет - только китайский шлак).

          • (Vladislav555)
            (Vladislav555) месяц назад
            iCloud 2ТБ, включена запись по любому движению. Не пишет ничего. Единственное, не разобрался в настройках камеры в разделе HomeKit есть настройка motion detector, что с ним делать, хотя перепробовал все доступные в этом меню варианты. Камеры разные hikvision, hiwatch и китай 8МП, разрешение везде оставлял вообще 640х480

            • Виталий Сковородко (bossco)
              Виталий Сковородко (bossco) отредактировано месяц назад

              У меня камера отдает в этом формате 1920*1080, на уровне Srypted трафик конвертирую, из-за этого Synology подгружен, особенно в момент распознавания движения - больше трех камер моя конфигурация не вывозит.  Датчик движения должен быть выбран в соответствии с привязанным к камере OpenVC плагином:

              1000x_image.png?1634981623
              • Виталий Сковородко (bossco)
                Виталий Сковородко (bossco) отредактировано месяц назад
                Комментарий удален
                • Виталий Сковородко (bossco)
                  Виталий Сковородко (bossco) отредактировано месяц назад

                  Сеть грузить не могу трафиком, поэтому гружу сторадж транскодингом

                • (roysbike)
                  (roysbike) месяц назад

                  [Doorbell] Input #2, lavfi, from 'anullsrc=cl=1':

                  Duration: N/A, start: 0.000000, bitrate: 352 kb/s

                  [Doorbell] Stream #2:0: Audio: pcm_u8, 44100 Hz, 1 channels (FL), u8, 352 kb/s

                  [NULL @ 0x27541d0] Unable to find a suitable output format for ''

                  : Invalid argument

            • (roysbike)
              (roysbike) месяц назад

              Да , включено движение. Но чет opencv его не ловит 


              • Виталий Сковородко (bossco)

                [NULL @ 0x27541d0] Unable to find a suitable output format for ''
                не распознает формат потока, попробуй его на камере изменить на другой

  7. Виталий Иванов (Vitalik2017)

    Ребят соберите готовый образ для рассбеои! Думаю многим будет проще в тесте поучаствовать. Заранее благодарен!!!

    • (roysbike)
      (roysbike) месяц назад

      так он в docker , куда проще? 

  8. Сергей Балюрко (sergoo_lbt)

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

    • Виталий Сковородко (bossco)

      Статья перегружена - она просто вводная, показывающая появившуюся возможность - без технических погружений.
      Установка докера (на какую платформу???) - тема явно для другой статьи, которых уже очень много написано.

      • Сергей Балюрко (sergoo_lbt)

        Абсолютно не перегружена. Обширная статья, это же здорово…👍🏻 Гораздо удобнее, чем метаться по всему порталу. Прочитали люди у которых на малине вертится homebridge установленный, например, каким-то другом (братом, чуваком-гиком) 3 года назад, захотели попробовать, а инфы нет, на гите не каждый разберется. Ну и т.д. 

  9. Денис Зацепин (apevs)
    Денис Зацепин (apevs) месяц назад

    Как я понял, нужен дополнительный видеосервер не занятый другими задачами, который позволит повесить до 3х камер? На СХ только заехал недавно, тему камер еще не изучал, вопрос, в чем преимущество перед популярной Aqara G2H (с хоумкитом)? Спасибо.

    • Антон Григорьев (Infinity)

      Не все камеры позволяют интегрировать себя в нормальные не китайские приложения, в тот же HomeKit, например камера из статьи и камеры Hikvision не позволяют. У Hikvision хоть разные потоки есть, а у Xiaomi Mijia 2K из статьи вообще надо ставить альтернативный загрузчик и прошивку. У меня на Synology норм. крутится одна камера, хоть и работает не идеально быстро. Надо смотреть что за железо, охлаждение и пробовать.

  10. Сергей Ескин (Arnold)
    Сергей Ескин (Arnold) месяц назад

    Коллеги, а как чтобы еще появилась функция Звонок?

  11. Денис Мерцалов (denisM)
    Денис Мерцалов (denisM) отредактировано месяц назад
    Комментарий удален
  12. Денис Мерцалов (denisM)
    Денис Мерцалов (denisM) месяц назад

    Прокинул 2 камеры Reolink с разрешением 5Мп - все завелось и в стрим и запись, полезность статьи 300% )).
    Использую Synology 220+ со штатными 2Gb памяти, на ней крутится Surveillance Station и докер с этим образом. Память начала использоваться на 50-70%. 
    А сколько у вас на Synology памяти? Думаю докупить еще 4Gb, чтобы хватало на все. Или это деньги на ветер и надо больше? (хочу 6 камер завести в HomeKit).

    • Дмитрий К (Dim)
      Дмитрий К (Dim) месяц назад

      Если у вас запись на syno зачем писать камеру в облако Apple и еще с заведомо худшим разрешением?

      • Денис Мерцалов (denisM)
        Денис Мерцалов (denisM) месяц назад

        Ну во-первых пишется  несколько секунд и особо  качество не важно. Важны уведомления, распознавание движения и кто двигается. А на синолоджи пишется 24/7 сплошной поток с неособо нормальным  распознаванием. Так что одно другое дополняет а не исключает.

    • Виталий Сковородко (bossco)

      У меня 3 гига, но грузится проц а не память))) Память как была 1,7г занята - так и осталась, а вот проц вышел на 5-50% в зависимости холда или распознавания движения

      • Денис Мерцалов (denisM)
        Денис Мерцалов (denisM) месяц назад
        А какая железка у вас? у меня 2 камеры тоже могли до 35-40% выжирать, но в принципе это не отражается на шуме или еще каких побочках

  13. Сергей Ескин (Arnold)
    Сергей Ескин (Arnold) месяц назад

    Raspberry 4 с 4 ОЗУ

    2 камеры с записью, 2 камеры только просмотр

    1000x_image.jpg?1635227102
  14. Dmitrijs Šuļga (kersuzio)
    Dmitrijs Šuļga (kersuzio) месяц назад

    Как по мне, так эта статья не то чтобы достойна победы в конкурсе, а достойна звания "СТАТЬЯ ГОДА"!!!

    Нереально крутой проект.

    Но оооочень хотелось бы подробной инструкции для дурачков, как я...

    А то после прочтения статьи глаза горят, а как это сделать не понимаю :(

    Я, и думаю многие другие, были бы счастливы подробной инструкции по этой статье.


  15. (AiD81)
    (AiD81) 12 дней назад

    Для не особо понимающих, то, что beward ds06m не может быть прокинут в HK(исчезает плагин) если выбрать его как

    звонок(doorbell) - это нормально? Удалось подключить только как камеру без аудио. Соответственно обратной связи на нем тоже нет.

  16. Геннадий Куракин (Onag)

    Поигрался с неделю и выключил. Сырое, глючное и сильно прожорливое ПО. Работает 2 часа, потом теряет сигнал, требуется перезагрузка. Вернулся к хоумбриджу.

К списку статей

Устройства в материале

Xiaomi Smart Camera Standard Edition

Производитель: Xiaomi

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
30 августа 2019, 07:28
Несколько нетривиальных способов использования датчика открытия окон/дверей от Xiaomi/Aqara.
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.