WebRTC streaming
WebRTC poskytuje streaming kamier s najnižšou latenciou v HomeBe·at. Tu sa dozviež, ako ho nastaviť s tvojou inštanciou Home Assistant.
Prečo WebRTC?
HomeBe·at podporuje viacero streamovacích protokolov. WebRTC ponúka najlepšiu rovnováhu medzi nízkou latenciou a kvalitou — typicky pod 1 sekundu oneskorenia, oproti 5–15 sekundám pri HLS.
| Protokol | Latencia | Kvalita | Nastavenie |
|---|---|---|---|
| WebRTC | < 1s | Vysoká | Vstavaný od HA 2024.11 |
| RTSP | < 1s | Vysoká | Priame pripojenie ku kamere |
| HLS | 5–15s | Stredná | Zabudované v kamerách HA |
| MJPEG | 1–2s | Nízka | Zabudovaný fallback |
go2rtc v Home Assistant
go2rtc je vstavaný v Home Assistant od verzie 2024.11 a poskytuje WebRTC streaming priamo.
Požiadavky
- Home Assistant 2024.11+ s integráciou go2rtc
- Inštalácia založená na Dockeri (HA OS, Container alebo Supervised) — go2rtc NIE JE dostupný v inštaláciách Python/Core
- UDP sieťové pripojenie medzi serverom HA a tvojím zariadením
Predvolená konfigurácia
Moderné verzie Home Assistant zahŕňajú podporu go2rtc priamo. Ak tvoje kamery poskytujú RTSP stream, HA môže automaticky využiť go2rtc na doručenie cez WebRTC. Skontroluj, či entity kamier zobrazujú možnosť streamu „WebRTC“ v dashboarde HA.
Manuálna konfigurácia go2rtc
Pre kamery, ktoré sa nekonfigurujú automaticky, ich môžeš pridať do konfigurácie go2rtc.yaml:
streams:
front_door:
- rtsp://admin:[email protected]:554/stream1
backyard:
- rtsp://admin:[email protected]:554/h264Streaming v HomeBe·at
HomeBe·at podporuje WebRTC, HLS a MJPEG streaming pre kamery Home Assistant, plus RTSP pre vlastné kamery. Aplikácia automaticky zistí, ktoré protokoly sú pre každú kameru dostupné, a použije ten najlepší. Protokol streamu môžeš zmeniť pre každú kameru v nastaveniach aplikácie.
Podporované kodeky
HomeBe·at podporuje H.264, H.265 (HEVC), VP8, VP9 a AV1. Kodek sa automaticky dohodne medzi go2rtc a aplikáciou počas WebRTC handshaku. Nie je potrebná manuálna konfigurácia — ak tvoja kamera streamuje v H.265, bude natívne dekódovaný.
Kamery Reolink
Kamery Reolink, ktoré poskytujú samostatné entity streamu fluent (nízke rozlíšenie) a clear (vysoké rozlíšenie), fungujú natívne s HomeBe·at. Aplikácia deteguje tieto kanály rozlíšenia a používa ich na prepínanie kvality — Stredná kvalita sa pripája k fluent streamu, Vysoká kvalita ku clear streamu. Tým sa predchádza obmedzovaniu bitrate a poskytuje sa najlepšia obrazová kvalita na každej úrovni. Multi-objektívové kamery (napr. Reolink Duo 3 PoE) sa zobrazujú ako samostatné kamery, jedna na objektív.
Povolenie entít Clear kanálu
Štandardne Home Assistant povolí len entitu kamery fluent (nízke rozlíšenie) pre kamery Reolink. Pre vysokú kvalitu streamovania v HomeBe·at musíš povoliť clear kanál:
- V Home Assistant prejdi na Nastavenia → Zariadenia a služby → Reolink
- Klikni na tvoje kamerové zariadenie
- V časti Entity nájdi zakázané entity (zobrazené šedo alebo za prepínačom „Zobraziť zakázané“)
- Povoľ entitu kamery Clear (napr. camera.prijazd_clear alebo camera.prijazd_clear_lens_0)
- Počkaj niekoľko sekúnd, kým HA zaregistruje entitu, potom reštartuj HomeBe·at alebo sa znovu pripoj
Po povolení HomeBe·at automaticky deteguje clear kanál a použije ho pre vysokú kvalitu streamovania.
Ďalšie entity Reolink
Kamery Reolink poskytujú niekoľko ďalších entít, ktoré HomeBe·at môže využiť, ak sú povolené v Home Assistant:
| Entita | Typ | Popis |
|---|---|---|
| Fluent/Clear bitrate | Číslo (posuvník) | Bitrate streamu pre každý kanál. Úpravou ovládaš spotrebu šírky pásma. |
| Fluent/Clear snímková frekvencia | Číslo (posuvník) | Snímková frekvencia streamu pre každý kanál. Vyššie FPS = plynulejšie video. |
| PTZ senzory polohy | Senzor | Aktuálna pozícia otáčania a nakláňania (len na čítanie). |
| PTZ tlačidlá | Tlačidlo | Smerový pohyb (vľavo, vpravo, hore, dole) a zastavenie. HomeBe·at používa podržanie pre kontinuálny pohyb. |
| PTZ zoom | Číslo (posuvník) | Úroveň optického zoomu. HomeBe·at rozdelí rozsah na použiteľné kroky pre ovládanie zoomu +/-. |
| PTZ predvoľby | Výber/Tlačidlo | Uložené pozície kamery (napr. „Vchodové dvere“, „Príjazd“). |
Na povolenie týchto entít postupuj rovnako ako pri clear kanáli — nájdi ich medzi zakázanými entitami zariadenia v Home Assistant a zapni ich.
Riešenie problémov
WebRTC sa nepripája
- Skontroluj, či beží go2rtc — V Home Assistant prejdi na Nastavenia > Doplnky a over, že go2rtc je aktívny.
- Skontroluj UDP pripojenie — WebRTC vyžaduje UDP prevádzku medzi serverom HA a tvojím zariadením. Niektoré firemné alebo reštriktívne siete blokujú UDP.
- Skontroluj chybové kódy — Ak HA vráti „unknown_command“, WebRTC endpoint neexistuje (aktualizuj na HA 2024.11+). Ak vráti „not_found“, integrácia go2rtc nie je načítaná.
Automatický fallback
Ak WebRTC zlyhá, HomeBe·at okamžite prepne na MJPEG a súčasne sa pokúsi nadviazať HLS stream. Keď je HLS pripravený, prevezme rolu od MJPEG. Na kamere uvidíš aktualizáciu odznaku aktívneho protokolu počas postupu fallbacku.
Používatelia, ktorí nemôžu použiť WebRTC
- Inštalácie Home Assistant typu Python/Core (bez go2rtc)
- Používatelia, ktorí manuálne zakázali go2rtc
- Siete, ktoré blokujú všetku UDP prevádzku
V týchto prípadoch HomeBe·at automaticky prepne na MJPEG alebo HLS.