Статья

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

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

Логичным продолжением статьи на портале 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.

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

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

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

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

Функционал 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

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/

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

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

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

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


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

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

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

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

Через виртуалочку VMWare и MacOS взлетает - пока образов для докера не было, я так тестировал и все ок.

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

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

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

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

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

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

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

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

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


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

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

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

  1. Камеры пишут только по факту фиксирования Движения - Moution отрабатывает? 

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

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



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

Датчик движения должен быть выбран в соответствии с привязанным к камере OpenVC плагином:

https://sprut.ai/static/media/cache/00/10/84/5/10359114/82843/1000x_image.png?1634981623" alt="1000x_image.png?1634981623" />


Датчик движения должен быть выбран в соответствии с привязанным к камере OpenVC плагином

https://sprut.ai/static/media/cache/00/10/84/5/10359051/82842/1000x_image.png?1634981145" alt="1000x_image.png?1634981145" />

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

[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

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


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

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

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

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



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

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

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

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

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

В Discord посоветовали использовать Webhook. Кто-то пробовал уже?

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

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


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

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

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

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



Raspberry 4 с 4 ОЗУ

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

https://sprut.ai/static/media/cache/00/04/40/5/10382125/82960/1000x_image.jpg?1635227102" alt="1000x_image.jpg?1635227102" />

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

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

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

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

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


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

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

я настроил и звонок и открытие замка

Весьма информативно, можно подробнее, начиная от железа и заканчивая настройками?

напишу как нибудь статью

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

Ну нет. Нормальное ПО. Допиливают постоянно. А хоумбридж разве умеет HKSV? 

Уже умеет через плагин Camera UI
Очень долго мучился с MQTT! Мне не устраивало тратить ресурсы сервера для определения движения через плагин opencv, в итоге получилось привязать mqtt датчик движения к камере. Без этого HKSV не работало попросту.
А кто ни будь настраивал ONVIF камеры? С трансляцией проблем нет всё отлично но вот запись не идёт в Icloud, 50 тб подключено, галку ставлю в Home что трансляция и запись но не чего не пишет. Если есть возможность скиньте скррины с настройками для сравнения.

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

Устройства


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