Streamovacie protokoly

HomeBe·at podporuje viacero streamovacích protokolov pre kamerové streamy. Aplikácia automaticky zistí, ktoré protokoly sú pre každú kameru dostupné, a vyberie ten najlepší.

Porovnanie protokolov

ProtokolLatenciaKvalitaNastavenie
WebRTC< 1sVysokáVstavaný od HA 2024.11
RTSP< 1sVysokáPriame pripojenie ku kamere
HLS5–15sStrednáZabudované v kamerách HA
MJPEG1–2sNízkaZabudovaný fallback

Automatická fallback reťaz

HomeBe·at používa automatickú fallback reťaz, keď streamovací protokol zlyhá:

WebRTC > MJPEG > VLC (RTSP) > HLS > Snapshot

Ak sa WebRTC nepodarí pripojiť (napr. go2rtc nie je dostupný alebo UDP je blokované), aplikácia okamžite prepne na MJPEG a súčasne sa pokúsi nadviazať VLC alebo HLS stream. Odznak v zobrazení kamery ukazuje, ktorý protokol je práve aktívny.

Pre kamery s vlastnou RTSP URL (manuálne nakonfigurovanou alebo automaticky objavenou z go2rtc) VLC streamuje RTSP feed priamo so sub-sekundovou latenciou.

WebRTC

Preferovaný protokol. Poskytuje sub-sekundovú latenciu s vysokou kvalitou videa. Vyžaduje go2rtc v Home Assistant (vstavaný od HA 2024.11). Používa UDP na prenos médií, takže tvoja sieť musí umožňovať UDP prevádzku medzi serverom HA a tvojím zariadením.

Podpora kodekov

HomeBe·at podporuje video kodeky H.264, H.265 (HEVC), VP8, VP9 a AV1. Kodek sa automaticky dohodne medzi go2rtc a aplikáciou. Podpora H.265 je obzvlášť výhodná pre kamery, ktoré natívne streamujú v HEVC (napr. novšie modely Reolink a UniFi), poskytujúc lepšiu kvalitu pri nižších bitrate.

Úrovne kvality

Ovládanie kvality závisí od typu kamery:

Kamery Reolink — Kamery Reolink s kanálmi rozlíšenia (fluent / clear) používajú natívne prepínanie streamov — aplikácia sa pripojí k entite fluent s nízkym rozlíšením pre Strednú kvalitu a k entite clear s vysokým rozlíšením pre Vysokú kvalitu. Nie je potrebné obmedzovanie bitrate, keďže každý stream je v natívnej kvalite. Kvalita sa prepína len medzi MQ a HQ.

Ostatné kamery — Ostatné kamery (vrátane UniFi Protect, ktorých alternatívne entity kanálov nepodporujú WebRTC) používajú SDP bitrate obmedzenia na primárnej entite:

KvalitaBitrate
Nízka (LQ)2.5 Mbps
Stredná (MQ)5 Mbps
Vysoká (HQ)8 Mbps

Prepínaním odznaku kvality v zobrazení kamery sa zastaví a reštartuje WebRTC pripojenie. Pre kamery Reolink sa prepína medzi entitami streamov; pre ostatné sa aplikujú nové SDP obmedzenia.

Multi-objektívové kamery

Kamery s viacerými objektívmi (napr. Reolink Duo 3 PoE) sa v HomeBe·at zobrazujú ako samostatné kamery, jedna na objektív. Každý objektív má vlastné kanály rozlíšenia a prepínanie kvality. Aplikácia automaticky zoskupuje objektívy podľa zariadenia a mapuje správnu fluent/clear entitu ku každému objektívu.

MJPEG

Motion JPEG streamuje sériu JPEG snímkov cez HTTP. Funguje na akejkoľvek sieti (nevyžaduje UDP), ale poskytuje nižšiu kvalitu a spotrebuje viac šírky pásma ako WebRTC. Je to primárny fallback, keď WebRTC nie je dostupný.

HLS

HTTP Live Streaming rozdeľuje video na malé segmenty doručované cez HTTP. Je spoľahlivý a funguje všade, ale prináša 5–15 sekúnd latencie kvôli bufferovaniu segmentov. Vstavaný v Home Assistant pre všetky kamerové entity.

RTSP (cez VLC)

Real-Time Streaming Protocol poskytuje nízkolatenčné, vysokej kvality streamy. Streamovaný cez vstavaný VLC prehrávač. Používa sa pre vlastné kamery a pre kamery Home Assistant, ktoré majú nakonfigurovanú RTSP URL (manuálne alebo cez automatické objavenie go2rtc).

RTSP podporuje kodeky H.264 aj H.265. WebRTC aj RTSP teraz podporujú H.265, takže oba protokoly fungujú dobre pre kamery používajúce HEVC kódovanie.

Výber protokolu

Pre väčšinu používateľov funguje najlepšie predvolený automatický výber. Aplikácia vyberie protokol s najnižšou latenciou:

  • Ak máš nastavený go2rtc — WebRTC (najlepší zážitok)
  • Ak WebRTC zlyhá alebo nie je dostupný — okamžite MJPEG, potom prechod na HLS
  • Ak uprednostňuješ spoľahlivosť pred latenciou — HLS (vždy funguje, vyššie oneskorenie)

Streamovací protokol môžeš zmeniť pre každú kameru v nastaveniach aplikácie.