Сверхбюджетная камера для Homekit

Установка FFmpeg

Если у вас установлен образ с HomeBridge от Edward, вы можете пропустить этот шаг. Если вы устанавливали HomeBridge сами, то предлагаю два варианта установки FFmpeg:1. Способ для параноиков (установка ручками).2. Способ для ленивых (установкой займется скрипт).Оба варианта установки на Raspberry pi 3b займут 40-60 минут, поэтому я выберу второй метод. Копируем скрипт ниже, вставляем его в командную строку SSH.  

git clone https://github.com/fantomnotabene/camera-ffmpeg_setup_script  cd camera-ffmpeg_setup_script  bash ./install.sh

Если все прошло успешно, скрипт предложит конфиг для плагина homebridge-camera-ffmpeg. 

Подключение камеры

getting-started-with-homebridge.jpg

Практически все камеры от Xiaomi транслируют видео поток в h264. Чтобы наш HomeBridge не занимался декодированием видео, а транслировал поток напрямую, потребуется произвести некоторые настройки.

Это необходимо для снижения нагрузки на Raspberry и для уменьшения задержки во время трансляции. При декодировании задержка может доходить до 10-15 секунд, а одноплатный компьютер, в зависимости от модели, загружать процессор на 80-100%.

1. Ищем файл с конфигурацией плагина ffmpeg на Raspberry, обычно он находится по пути: /usr/lib/node_modules/homebridge-camera-ffmpeg/ffmpeg.js.

2. Открываем его для редактирования терминальной командой:

nano ~/.homebridge/ffmpeg.js

3. Находим строку if (videoFilter !== null) { и добавляем новое условие. В итоге строка должна иметь такой вид: if (videoFilter !== null && vcodec !== “copy”) {

4. Сохраняем файл конфигурации.

Остается самая малость – внести нужные изменения в файл конфигурации HomeBridge. Это можно сделать как через терминал, так и через веб-интерфейс.

Нам нужно добавить блок в раздел “platform”: { "platform": "Camera-ffmpeg", "cameras": [ { "name": "Камера", "videoConfig": { "source": "-re -i rtsp://192.168.31.226/unicast", "maxStreams": 2, "maxWidth": 640, "maxHeight": 480, "maxBitrate": 4000, "vcodec": "copy" } } ] }

В коде необходимо указать свой IP-адрес камеры, желаемое разрешение и битрейт. Значение параметра vcodec устанавливаем copy, чтобы трансляция шла без перекодирования или libx264 – с перекодированием.

Можно дополнительно добавить параметры:

  • maxFPS – для ограничения кадров видео в секунду
  • audio – для передачи звука с камеры (значение true)
  • packetSize – размер пакетов со звуком (значение кратное 188)

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

homekit-camera.jpg

Сохраняем конфигурацию и перезагружаем HomeBridge. Если все было сделано правильно, то в приложении Дом на iOS появится камера.

🤓 Хочешь больше? Подпишись на наш Telegram. … и не забывай читать наш Facebook и Twitter 🍒 iPhones.ru Придется немного повозиться. —> Артём Суровцев avatar

Подготовка HomeBridge

HTB1QEYXacfrK1RLxGXaE.jpg

Для того, чтобы подключить любую камеру к HomeKit через HomeBridge обязательно потребуется установить плагины aac и ffmpeg. Ручная настройка и установка состоит из последовательного ввода 15-20 команд в терминале.

Энтузиасты с GitHub давно упростили данный процесс при помощи специального скрипта, нам остается сделать следующее:

1. Подключаемся к Raspberry с HomeBridhe по SSH или запускаем терминал напрямую в «‎малинке»‎.

2. Последовательно вводим команды:

3. Процесс может занять от 30 минут до часа. Все зависит от скорости интернета и рабочей карты памяти в Raspberry.

После окончания установки можем увидеть новый плагин в одноименном разделе веб-интерфейса HomeBridge.

Установка Visual Studio Code и PlatformIO IDE

Заходим на официальный сайт и скачиваем программу Visual Studio Code. Останавливаться на установке не буду. Пока устанавливается VSC, скачаем архив с прошивкой для нашей камеры. Извлекаем из архива папку с прошивкой.

1600x_image.png?1572473321Открываем Visual Studio Code, слева сверху находим: «Extensions», нажимаем, у нас появится строка поиска, в неё вбиваем «PlatformIO IDE«. Нажимаем «Install»

После установки, в крайней слева панели, под «Extensions», появится новый значок: PlatformIO, Нажимаем левую кнопку мыши и попадаем на PIO Home.

Нажимаем «Open Project» и переходим в папку, которую мы извлекли из архива.Открываем

«Провалимся» в папку «src«, и откроем ESP32-devcam.ino. 1. Необходимо нажать галочку, что бы PlatformIO подгрузил все недостающие библиотеки.2. Открываем терминал.3. Проверяем данное окно, должно быть PlatformIO.4. Вводим команду:

pio run -t upload

Если все пройдет удачно, в терминале мы увидим сообщение:

Leaving...  Hard resetting via RTS pin...

1600x_image.png?1572476370

Заходим в программу VLC, нажимаем «Network» (в старых версиях программы «URL»).И в поиск вводим адрес RTSP потока с камеры.Также, введя «IPкамеры:40» в браузере, можно увидеть видеопоток.

rtsp://IP:554/mjpeg/1

Если все успешно, вы увидите картинку с камеры, можно закрыть VLC, и подключится по SSH к вашему серверу умного дома.

Интеграция в HomeBridge

1600x_image.png?1572518537Открываем Config.json, либо через web интерфейс нажимаем на «Config«.

Если у вас нет Web интерфейса для Homebridge, советую его установить, но можно и по старинке. Вводим команду ниже:

1600x_image.png?1572518537

sudo nano ~/.homebridge/config.json

Скопируем часть конфига и вставим ее в config.json

{              "platform": "Camera-ffmpeg",              "cameras": [                  {                      "name": "esp32cam",                      "videoConfig": {                          "source": "-rtsp_transport tcp -y -i rtsp://IP адрес камеры:554/mjpeg/1",                          "maxBitrate": 2000,                          "maxStreams": 2,                          "maxWidth": 320,                          "maxHeight": 240,                          "vcodec": "h264_omx",                          "audio": false                      }                  }              ]          },

Проверяем правильно ли проставлены запятые, сохраняем и перезапускаем HomeBridge.

Заходим в приложение «Дом«, нажимаем на «» и выбираем»Добавить аксессуар«.»Нет кода или нет возможности сканировать«. Выбираем esp32cam и вводим пин от HomeBridge, в моем случае — «390 99 869″, у вас он будет другим.

Камера должна появиться в вашем доме.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий