Сегодня мы поговорим о самой больной теме в сообществе умного дома и любителей HomeBridge — добавление камеры.
Сразу обозначим основные особенности добавления камеры в HomeBridge:
— не все камеры можно добавить в HomeBridge
— многие камеры необходимо будет отдельно «ломать» — об этом мы не будем говорить
— после выполнения инструкций камера будет достаточно гладко отображать видео-поток и будет доступен звук! ?
— при установке датчика движения в одной комнате с камерой будет отправляться фотография при обнаружении движения
Из первоначальных требований, как обычно:
— Raspberry Pi 3 model B (или выше) — инструкция
— настроенный HomeBridge — инструкция
Также обращу внимание, что все последующие шаги производились на «свежей» на данный момент сборке Raspbian Stretch.
Установка Git
С большой долей вероятности вы уже использовали Git ранее при установке других плагинов — но если это не так, то для начала устанавливаем Git. Всего лишь одна команда.
sudo apt-get install git
Установка AAC и FFMPEG
Далее нам необходимо установить AAC (библиотека, отвечающая за звук в нашей камере), FFMPEG (соответственно то, что и будет принимать поток от нашей камеры, транскодировать его и отправлять дальше в HomeKit) и библиотеки, которые необходимы для сборки всего этого. Сразу предупрежу, что установка и настройка FFMPEG занимает приблизительно 40-60 минут. Поэтому не пугайтесь длительности происходящих процессов.
Устанавливаем инструменты для сборки
sudo apt-get install pkg-config autoconf automake libtool libx264-dev
Устанавливаем AAC
git clone https://github.com/mstorsjo/fdk-aac.git cd fdk-aac ./autogen.sh ./configure --prefix=/usr/local --enable-shared --enable-static make -j4 sudo make install sudo ldconfig cd ..
Устанавливаем FFMPEG
git clone https://github.com/FFmpeg/FFmpeg.git cd FFmpeg ./configure --prefix=/usr/local --arch=armel --target-os=linux --enable-omx-rpi --enable-nonfree --enable-gpl --enable-libfdk-aac --enable-mmal --enable-libx264 --enable-decoder=h264 --enable-network --enable-protocol=tcp --enable-demuxer=rtsp make -j4 sudo make install
После этого наш FFMPEG готов и мы можем идти дальше.
Установка плагина camera-ffmpeg
Теперь мы готовы перейти к установке плагина и его настройке.
Вводим команду
sudo npm install -g homebridge-camera-ffmpeg
После чего в зависимости от камеры необходимо выбрать тот набор настроек, который должен:
1. по возможности как можно лучше совпадать с реальным потоком камеры
2. подходить под вашу камеру — список рекомендуемых настроек под разные камеры можно найти здесь
Ниже я приведу пример настройки для камеры Yi Ants 720p и опишу возможные параметры.
{ "platform": "Camera-ffmpeg", "cameras": [ { "name": "Camera", "videoConfig": { "source": "-re -i rtsp://192.168.31.121:554/ch0_0.h264", "maxStreams": 2, "maxWidth": 1280, "maxHeight": 720, "maxFPS": 30, "vcodec": "h264_omx", "packetSize": 188, "audio": true } } ] }
Как вы понимаете плагин должен быть добавлен еще одним объектом в массив platforms.
- source — сама ссылка на иточник видео с параметрами (дополнительно к параметрам -re -i можно дополнительно пробовать параметр -vcodec h264_mmal для аппаратного декодирования или -rtsp_transport tcp если при кодировании в h264 видео прерывается
- maxStreams — максимальное количество потоков для камеры, по-умолчанию 2
- maxWidth — максимальная ширина, по-умолчанию 1280
- maxHeight — максимальная высота, по-умолчанию 720
- maxFPS — максимальный FPS, по-умолчанию 10
- maxBitrate — максимальный битрейт в к-битах, по-умолчанию 300
- vcodec — используется для указания кодека, для улучшения производительности советуем использовать h264_omx, по-умолчанию «libx264»
- audio — если true, то появляется возможность слышать звук с камеры и контролировать громкость, по-умолчанию false
- packetSize — если звук и аудио прерываются, то попробуйте уменьшить значение, допустим поставить 188, по-умолчанию 1316
- debug — отображает информацию для дебага в лог HomeBridge (достаточно полезная функция при настройке), по-умолчанию false
После чего сохраняем наш config и перезагружаем HomeBridge. Это мы уже с вами, я надеюсь, умеем 🙂
После чего необходимо перейти в приложение Дом, нажать на кнопку добавления аксессуаров, пройти внизу по ссылке «Нет кода или не можете сканировать?» и выбрать появившееся устройство со значком камеры (имя зависит от параметра name в конфиге)
После чего ваша камера появится в Доме.