Ранее Уважаемый Eduard Sallo [Edward] уже рассказал в статье Установка Homebridge на Raspberry. Версия для начинающих как быстро и просто установить Homebridge на микрокомпьютер Raspberry PiЕсли у вас завалялась USB Web камера, по почему бы не попробовать подключить ее к homebridge для последующего отображения в приложении Дом ваших iOS устройств. Я без проблем подключил HP Webcam 3110.Нам понадобиться Малинка c установленным homebridge и плагином homebridge-camera-ffmpeg, а так же Putty для работы с терминалов малинки.Первым делом подключаем к RaspberryPi (я бы рекомендовал использовать модель Raspberry Pi 3b) вашу камеру , желательно в USB порты которые находятся дальше от Ethernet порта
Затем подключаемся через Putty к вашей малинке, в программе нужно указать ip адрес малины и выбрать тип подключения SSH. После подключения нужно ввести ваш логин это как правило pi и пароль, если не меняли со стандартного то raspberry.Вводим команду - она открывает доступ пользователю под которым запущен homebridge к камере
sudo usermod -aG video pi
На всякий случай перезагрузите малинку и снова подключитесь к ее терминалу, теперь проверим работает ли ваша камера, для его вводим команду:
ffmpeg -f v4l2 -framerate 30 -video_size 1280x720 -i /dev/video0 -pix_fmt yuv420p -c:v h264_omx output.mkv
если камера работает то в терминале вы увидите следующее:
ffmpeg version N-90468-g0dc11d8bbd Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Raspbian 6.3.0-18 rpi1 deb9u1) 20170516
configuration: --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
libavutil 56. 12.100 / 56. 12.100
libavcodec 58. 16.100 / 58. 16.100
libavformat 58. 10.100 / 58. 10.100
libavdevice 58. 2.100 / 58. 2.100
libavfilter 7. 13.100 / 7. 13.100
libswscale 5. 0.102 / 5. 0.102
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
[video4linux2,v4l2 @ 0x2822290] The driver changed the time per frame from 1/30 to 1/10
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 112245.051873, bitrate: 147456 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720, 147456 kb/s, 10 fps, 10 tbr, 1000k tbn, 1000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_omx))
Press [q] to stop, [?] for help
[h264_omx @ 0x2825700] Using OMX.broadcom.video_encode
Output #0, matroska, to 'output.mkv':
Metadata:
encoder : Lavf58.10.100
Stream #0:0: Video: h264 (h264_omx) (H264 / 0x34363248), yuv420p, 1280x720, q=2-31, 200 kb/s, 10 fps, 1k tbn, 10 tbc
Metadata:
encoder : Lavc58.16.100 h264_omx
frame= 6 fps=0.0 q=-0.0 size= 1kB time=00:00:00.50 bitrate= 11.4kbits/frame= 11 fps= 11 q=-0.0 size= 1kB time=00:00:01.00 bitrate= 5.7kbits/frame= 16 fps= 10 q=-0.0 size= 24kB time=00:00:01.50 bitrate= 133.2kbits/frame= 21 fps= 10 q=-0.0 size= 24kB time=00:00:02.00 bitrate= 99.9kbits/frame= 26 fps= 10 q=-0.0 size= 51kB time=00:00:02.50 bitrate= 165.7kbits/frame= 31 fps= 10 q=-0.0 size= 51kB time=00:00:03.00 bitrate= 138.1kbits/frame= 36 fps= 10 q=-0.0 size= 51kB time=00:00:03.50 bitrate= 118.3kbits/frame= 41 fps= 10 q=-0.0 size= 86kB time=00:00:04.00 bitrate= 177.0kbits/frame= 46 fps= 10 q=-0.0 size= 86kB time=00:00:04.50 bitrate= 157.4kbits/frame= 51 fps= 10 q=-0.0 size= 118kB time=00:00:05.00 bitrate= 192.7kbits/frame= 56 fps= 10 q=-0.0 size= 118kB time=00:00:05.50 bitrate= 175.2kbits/frame= 61 fps= 10 q=-0.0 size= 118kB time=00:00:06.00 bitrate= 160.6kbits/frame= 66 fps= 10 q=-0.0 size= 148kB time=00:00:06.50 bitrate= 186.5kbits/frame= 71 fps= 10 q=-0.0 size= 148kB time=00:00:07.00 bitrate= 173.2kbits/frame= 76 fps= 10 q=-0.0 size= 177kB time=00:00:07.50 bitrate= 193.4kbits/frame= 81 fps= 10 q=-0.0 size= 177kB time=00:00:08.00 bitrate= 181.3kbits/frame= 86 fps= 10 q=-0.0 size= 206kB time=00:00:08.50 bitrate= 198.1kbits/frame= 92 fps= 10 q=-0.0 size= 206kB time=00:00:09.10 bitrate= 185.0kbits/frame= 96 fps= 10 q=-0.0 size= 206kB time=00:00:09.60 bitrate= 175.4kbits/frame= 101 fps= 10 q=-0.0 size= 235kB time=00:00:10.10 bitrate= 190.7kbits/frame= 105 fps=9.9 q=-0.0 Lsize= 262kB time=00:00:10.60 bitrate= 202.1kbits/s speed= 1x
video:260kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.688294%
для остановки нажмите q, а в папке /home/pi/ будет лежать файл output.mkv - если его скачать например с помощью программы WinSCP, то можно посмотреть его в медиаплеере.Если ничего из вышеуказанного не получилось, то скорее всего ваша камера не поддерживается ядром Linux на котором работает малинка, тогда можно попробовать поискать драйвера для нее в интернете.Если с видео все порядке, то переходим к подключению камеры к homebridge - для этого добавляем в ваш config.json следующие строки, не забывая про правильное форматирование:
{
"platform": "Camera-ffmpeg",
"cameras": [ {
"name": "Камера Web",
"videoConfig": {
"source": "-f v4l2 -r 20 -s 1280x720 -i /dev/video0",
"maxStreams": 2,
"maxWidth": 1280,
"maxHeight": 720,
"maxFPS": 20,
"maxBitrate": 1536,
"vcodec": "h264_omx"
}
}
]
}
Перезапускайте бридж и добавляйте камеру в Дом - в приложении жмем на " " в верхнем правом углу,
далее добавить аксессуар и затем выбирайте "Нет кода или не можете сканировать?" - появится камера, тапаете по ней и вводите пин код от вашего моста. На этом все - камера будет работать. Теперь можете поместить ее в комнату с датчиком движения и на датчике активировать "Допуск уведомлений". Когда датчик зафиксирует движение, то вам на телефон придет уведомление с кадром с камеры, по тапу на которое у вас откроется прямая трансляция с камеры.