На примере этой камеры настраивал интеграцию WebRTC:
Камера PYZ Moes Tuya: https://shp.pub/6yrj42?erid=2SDnjbysuU5
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Для начала давайте разберемся, что такое WebRTC.
Введение:
WebRTC (англ. web real-time communications — коммуникации по сети в реальном времени) — технология с открытым исходным кодом, предназначенная для организации передачи потоковых данных между браузерами или другими поддерживающими его приложениями по технологии точка-точка.
Иными словами это потоковое видео в браузере. А для чего оно нужно?
И тут давайте попробую объяснить несколько полезных функций:
- Если Мы через интеграцию в Home Assistant WebRTC Camera добавим камеру на главный экран, то у нас с камеры будет отображаться постоянный поток, который не прерывается. А вот стандартная карточка с камерой Home Assistant прерывается. В этом собственно и плюс интеграции WebRTC над стандартной интеграцией.
- У меня есть камера Tuya домашняя поворотная. Она не умеет вещать видео по RTSP и Onvif. То есть с нее никак поток не взять, только через приложение Tuya. Но есть возможность эту камеру через интеграцию Tuya пробросить в Home Assistant и видеть там поток видео, но записать его не сможем. И вот интеграция WebRTC может из объекта camera. взять поток и преобразовать его в WebRTC, а далее уже этот поток можем прокинуть в go2rtc и получить RTSP ссылку и уже с нее записывать видео.
Установка WebRTC Camera:
Устанавливается аддон через HACS.
Идем в HACS->Интеграции->Исследуйте и устанавливайте репозитории и там ищем WebRTC camera и устанавливаем ее.
Далее перезапускаем Home Assistant.
Далее идем в Настройки -> Интеграции И добавляем новую интеграцию которая появилась. Это интеграция WebRTC camera и выбираем там метод localhost
Далее обновляем страницу Home Assistant. И на вкладке Обзор при добавлении новой карточки ищем карточку WebRTC Camera:
Если этой карточки не появилось, значит не обновили браузер. Обновляйте еще раз страничку и проверяйте.
Настройки карточки будут следующие:
Где type: custom:webrtc-camera остается неизменным.
а вот entity: camera.ptz_camera – это entity камеры Tuya которая пробросилась через облако Tuya.
Но если хотите например чтоб на главной странице у вас был постоянный стрим с другой камеры, то можно добавить url этой камеры.
Например вот так:
type: 'custom:webrtc-camera' url: 'rtsp://rtsp:12345678@192.168.1.123:554/av_stream/ch0'
Собственно больше настроек можно посмотреть на самой странице интеграции: https://github.com/AlexxIT/WebRTC
Собственно интеграция настроена.
Далее давайте все-же камеру Tuya заставим вещать поток в RTSP. Для этого понадобится дополнение go2rtc .
Как установить это приложение я описывал в этой статье:
И когда заходим в go2rtc, камера webrtc сразу нашлась и добавилась автоматически:
Далее нажимаем на link и смотрим какая у нас теперь ссылка rtsp:
Далее вставляем эту ссылку например в VLC и смотрим видео, если все ок, то RTSP работает.
На момент написания статьи у меня в комнате уже стемнело, но всеравно видно дату и rtsp саму ссылку. на темном ночном экране.
Ну и далее можем эту ссылку превратить в объект камеры в Home Assitant. ЧТоб например записывать видео с камеры самим Home Assistant. Как это сделать можно почитать тут:
Но так-же столкнулся с проблемой. Когда у меня открыта главная страница и видео стримется, то rtsp работает без проблем. Как только я вкладку закрываю, стрим останавливается, так как окно закрыто и rtsp перестает вещаться. Как это исправить пока не нашел.