Kamery Tuya v Home Assistantovi: ONVIF, RTSP a automatizácie podľa obrazu

Kamera pripojená do Home Assistantu môže znamenať dve veľmi odlišné veci. Buď si na nástenke občas otvoríte živý náhľad a pozriete sa, kto stojí pred domom – a to zvládne takmer každý server za pár tisíc. Alebo necháte obraz nepretržite vyhodnocovať, aby vám dom sám rozsvietil alebo nahral záznam a poslal notifikáciu vo chvíli, keď niekto vojde na pozemok. To je ale technicky úplne iná úloha s úplne inými nárokmi na hardvér. V tomto článku tiež vysvetlíme rozdiel medzi ONVIF a RTSP, ukážeme štyri spôsoby, ako kameru do Home Assistantu dostať, a opíšeme, ako to máme postavené sami doma – vrátane toho, čo nás to stojí za výkon a prečo sme skončili pri riešení, ktoré rozhodne nie je pre každého.

Jediná podmienka pri výbere kamery: musí vedieť hovoriť aj mimo cloudu

Doma máme štyri kamery a pri ich výbere sledujeme v zásade dve veci: kvalitu obrazu a to, či kamera ponúka lokálny stream cez ONVIF alebo RTSP mimo originálnej aplikácie výrobcu.

Cloudová aplikácia nám neprekáža, práve naopak – je to najpohodlnejší spôsob, ako sa na kameru pozrieť z mobilu odkiaľkoľvek, bez toho, aby ste doma museli riešiť VPN, verejnú IP adresu alebo iný prístup do domácej siete zvonku. Kameru si teda pokojne otvoríme v aplikácii Tuya Smart ako ktokoľvek iný.

Lenže cloudová aplikácia nemusí stačiť vo chvíli, keď chcete obraz použiť inak, než že sa naň pozriete očami. Aplikácia výrobcu vám väčšinou nepustí video do vlastného systému, neuloží ho tam, kam chcete, a hlavne vám nedovolí nastaviť si vyhodnocovanie obrazu podľa seba. Preto je pre nás lokálny stream podmienkou. Toto odporúčame rozhodnúť pred nákupom, pretože dodatočne sa s tým nedá nič robiť.

ONVIF a RTSP nie sú to isté

Tieto dve skratky sa v popisoch kamier objavujú vedľa seba tak často, že niekedy splývajú. Sú to kamaráti, ale každý rieši niečo iné a rozdiel medzi nimi rozhoduje o tom, čo do Home Assistantu skutočne dostanete.

Vonkajšia otočná Wi-Fi kamera 4 MP s podporou ONVIF

RTSP je prenosový protokol pre živé video a zvuk. Kamera vystaví adresu v tvare rtsp://meno:heslo@ip-adresa:554/cesta a ktokoľvek v sieti si ju môže prehrať (aj len cez VLC Media Player). Home Assistant z nej urobí obraz na nástenke – a tým sa to v podstate končí. Žiadne udalosti, žiadna detekcia, žiadne ovládanie otáčania kamery. Je to jednosmerná rúra s obrazom.

ONVIF je oproti tomu štandard pre spoluprácu medzi zariadeniami. Rieši vyhľadanie kamery v sieti, zoznam dostupných streamov, hlásenie udalostí a ovládanie funkcií, napríklad otáčania. Home Assistant má preň zabudovanú integráciu, ktorá podľa schopností kamery vytvorí aj binárne senzory detekcie pohybu či osoby a akcie na ovládanie otáčania a nakláňania. Samotné video pritom ONVIF kamera aj tak posiela cez RTSP – obe sa dopĺňajú, nekonkurujú si.

Prakticky to znamená jednoduché pravidlo: „RTSP vám dá obraz, ONVIF vám dá obraz aj udalosti.“ Ak teda chcete kamerou spúšťať automatizácie bez ďalšieho softvéru, hľadajte podporu ONVIF. Doplňme ešte jednu vec, na ktorú sa dá ľahko naraziť: integrácia ONVIF v Home Assistantovi pracuje s kodekom H.264. Kamera, ktorá vie iba H.265, potrebuje mať nastavený aspoň jeden stream v H.264, inak obraz nenabehne.

Štyri cesty, ako kameru do Home Assistantu dostať

Podľa toho, čo kamera vie a čo od nej chcete, sa ponúkajú štyri varianty. Líšia sa prácnosťou aj tým, koľko funkcií nakoniec získate.

Značková integrácia Home Assistant má pre daného výrobcu vlastnú integráciu Živý obraz, udalosti, stav zariadenia a funkcie špecifické pre daný model
ONVIF Kamera sa pridá zabudovanou integráciou ONVIF Živý obraz, udalosti detekcie, ovládanie otáčania – podľa schopností modelu
Priamy RTSP stream Adresa streamu sa vloží do integrácie Generic Camera alebo FFmpeg Predovšetkým živý obraz; udalosti a ovládanie spravidla chýbajú
Cez NVR Kamery idú najprv do nahrávacieho softvéru (Frigate, Blue Iris) a ten sa prepojí s Home Assistantom Nepretržitý záznam, história udalostí, správa viacerých kamier, detekcia objektov

Pre prvé tri cesty platí, že Home Assistant zostáva jediným systémom, ktorý prevádzkujete. To je hlavný dôvod, prečo s nimi začať. Štvrtá cesta je iná kategória a je jej venovaná väčšina zvyšku článku.

Pozerať sa, alebo vyhodnocovať? Tu sa cesty rozdeľujú

Toto je podľa nás najdôležitejšia vec, ktorú si má človek uvedomiť skôr, než začne čokoľvek kupovať alebo nastavovať. Home Assistant v základe obraz z kamery neanalyzuje. Vie ho zobraziť, uložiť snímku alebo krátky klip, ale sám v ňom nehľadá ľudí ani autá. Keď teda v Home Assistantovi chcete automatizáciu „rozsvieť, keď niekto príde k domu“, musí ten podnet odniekiaľ prísť.

Mikro kamera Smartica KM03W – vnútorná kamera s podporou RTSP
Mikro kamera s rozmermi 33 mm s vynikajúcim obrazom a širokým uhlom záberu

Prísť môže z dvoch miest. Buď z kamery samotnej – tá si pohyb vyhodnotí vo svojom procesore a cez ONVIF pošle udalosť ďalej. To je lacné, nenáročné a pre množstvo situácií úplne postačujúce. Alebo ten podnet vyrobí softvér, ktorý obraz nepretržite dekóduje a analyzuje. A to je už iná disciplína.

Rozdiel v nárokoch je totiž zásadný. Zobrazenie náhľadu na nástenke znamená, že server siahne po streame len vtedy, keď sa pozeráte. Nepretržitá analýza znamená, že server rozbaľuje video zo všetkých kamier nonstop, 24 hodín denne, a v každej snímke hľadá objekty. Štyri kamery v slušnom rozlíšení dokážu takouto úlohou vyťažiť aj poriadne nabitý stroj, na ktorom by samotný Home Assistant bežal s prstom v nose.

Druhý rozdiel je v kvalite výsledku. Detekcia zabudovaná v kamere je čierna skrinka – nastavíte citlivosť, prípadne zónu, a viac toho väčšinou neurobíte. Vlastný vyhodnocovací softvér vám dá do ruky nástroje, ktorými falošné poplachy skutočne vyriešite. A o tom je nasledujúca kapitola.

Ako to máme postavené doma

Naša zostava vznikala postupne a rozhodne nie je návodom, ako to má robiť každý. Ale dobre ukazuje, kam až sa dá zájsť a čo to obnáša.

Štyri kamery idú po sieti cez RTSP do servera, ktorý stojí doma v technickej miestnosti. Je to väčší server Dell PowerEdge, na ktorom beží VMware ESXi. Na ňom je niekoľko virtuálnych strojov: v jednom z nich beží Home Assistant, v druhom Windows a v ňom softvér Blue Iris, ktorý obraz z kamier vyhodnocuje a nahráva. Windows tam nie je z rozmaru – Blue Iris, žiaľ, vychádza iba pre Windows, linuxovú verziu nemá, takže sa tomu nedá vyhnúť.

Priznávame rovno, že celé je to hardvérovo náročné a energeticky to nie je zadarmo. Server tejto triedy si domov nekupuje človek kvôli štyrom kamerám - u nás má primárne iný dôvod.
Na druhej strane vďaka tomu môžeme každú kameru vyhodnotiť presne podľa svojich potrieb, a to je niečo, čo nám zrejme žiadna cloudová aplikácia nedá.

Masky, zóny a veľkosť objektu – tu sa rozhoduje o falošných poplachoch

Automatizácia na kameru je skvelá vec presne do chvíle, kým vám nezačne o jednej v noci svietiť celý dom, pretože sa zdvihol vietor. Veľa ľudí to vzdá práve tu. Pritom riešenie existuje a volá sa maskovanie a filtrácia.

Maska je časť obrazu, ktorú z vyhodnocovania jednoducho vyrežete. Konkrétne u nás: jedna kamera vidí do záberu korunu stromu, a kým sme ju nezamaskovali, spúšťala automatizácie zakaždým, keď fúkalo. Iná kamera sa pozerá od garáže smerom do ulice a je v nej kus vozovky – každé prechádzajúce auto by inak znamenalo poplach. Obe miesta sú dnes z analýzy vylúčené a kamera ich síce stále vidí a nahrá, ale nespúšťa podľa nich nič.

Druhá vrstva filtrácie pracuje s vlastnosťami objektu. V Blue Iris sa dá nastaviť, aký veľký objekt musí byť, akú dráhu musí v obraze prejsť a ako dlho ten pohyb musí trvať, aby to systém vyhodnotil ako alarm. Tým odpadnú drobnosti typu lietajúci hmyz pri infračervenom prisvietení, pavúk na objektíve alebo krátke preblikanie expozície. Je to nastavenie, s ktorým sa pár večerov ladí, ale výsledkom je systém, ktorého notifikáciám zase začnete veriť.

Blue Iris – maskovanie zón obrazu, ktoré sa nemajú vyhodnocovať
Zóny a masky v obraze
Blue Iris – nastavenie citlivosti detekcie pohybu
Citlivosť detekcie
Blue Iris – filter minimálnej veľkosti objektu a jeho dráhy v obraze
Veľkosť objektu a dráha

Kliknutím na náhľad sa snímka otvorí cez celú obrazovku, ďalším kliknutím sa zavrie.

Treťou vrstvou je prepojenie s Home Assistantom cez MQTT. Blue Iris vie cez MQTT prijímať aj odosielať, takže si vzájomne odovzdávajú podnety oboma smermi: my napríklad spúšťame nahrávanie kamier vo chvíli, keď niekto zazvoní, a naopak detekcia z kamier vstupuje do automatizácií v Home Assistantovi.

Predzáznam: prečo sa záznam ukladá desať sekúnd pred udalosťou

Toto je funkcia, ktorú človek nedocení, kým ju raz nepotrebuje. Nahrávací softvér drží čerstvý obraz z kamier priebežne v medzipamäti, ale na disk ukladá až od okamihu, keď nastane spúšťač. S predzáznamom k záznamu pritom prilepí aj nastavený úsek, ktorý spúšťaču predchádzal.

V niektorých situáciách je táto funkcia na nezaplatenie. Vo všeobecnosti mávajú kamerové systémy mierne oneskorenie a ak aplikácia začne nahrávať až vo chvíli „alarmu“, môže najdôležitejšiu udalosť premeškať.

Rovnakú funkciu má aj Frigate, kde sa nastavuje parametrom pre_capture a v predvolenom stave je päť sekúnd pred udalosťou a päť po nej. Ak teda budete akýkoľvek nahrávací softvér vyberať, túto vlastnosť hľadajte.

Blue Iris, alebo Frigate?

My sme kedysi začali s Blue Iris a zostali sme pri ňom. Nie je to výsledok porovnávacieho testu, je to zotrvačnosť – systém beží, je vyladený a nemáme dôvod ho meniť. Frigate sme do detailu nepreskúmali, a preto o ňom nebudeme tvrdiť nič, čo si nemôžete overiť v jeho dokumentácii.

Blue Iris Frigate
Platforma Iba Windows – v linuxovom prostredí vyžaduje virtuálny stroj s Windows Linux a Docker, existuje aj doplnok pre Home Assistant
Licencia Komerčná, platená Open source
Vylúčenie častí obrazu Masky a zóny Masky pohybu a zóny zadané súradnicami
Filtrácia objektov Veľkosť objektu, prejdená dráha, doba trvania pohybu Minimálna a maximálna plocha, pomer strán, skóre detekcie
Predzáznam Áno, nastaviteľný Áno, pre_capture a post_capture, predvolene 5 sekúnd
Napojenie na Home Assistant Cez MQTT MQTT a vlastná integrácia do Home Assistantu
Akcelerácia detekcie Beží na CPU, voliteľne s doplnkovým AI modulom OpenVINO na integrovanej grafike Intel, prípadne samostatný akcelerátor

Z tabuľky je vidieť, že v tom podstatnom si oba systémy nemajú čo vyčítať – masky, zóny, filtráciu objektov aj predzáznam vie oboje. Blue Iris je takmer profesionálny systém s množstvom možností, Frigate ponúka zadarmo všetko podstatné. Blue Iris si vyžiada Windows, Frigate zapadne do linuxového sveta, v ktorom Home Assistant bežne žije. Keby sme dnes stavali od nuly a neboli v Blue Iris zabehnutí, začínali by sme zrejme Frigate – už len preto, že sa dá prevádzkovať vedľa Home Assistantu (alebo aj priamo v ňom) bez druhého operačného systému.

Aký server na to potrebujete

Nároky sa líšia podľa toho, ktorú z opísaných ciest zvolíte.

Ak chcete kamery iba vidieť na nástenke a prípadne používať udalosti z ONVIF pre automatizácie, žiadny špeciálny hardvér nepotrebujete. Zvládne to bežný domáci server s Home Assistantom, napríklad náš Home Assistant Server UMAX. Server v takom prípade spracúva len dáta a po videu siahne iba vtedy, keď sa naň niekto pozerá.

Akonáhle ale chcete nepretržitú analýzu obrazu a záznam, počítajte s troma vecami. Po prvé s procesorom, ktorý zvláda hardvérové dekódovanie videa – u Intelu to rieši integrovaná grafika a projekt Frigate ju používa aj na samotnú detekciu objektov cez OpenVINO. Napr. procesory Intel N100 z nášho Home Assistant Servera N100 Ultra sú v dokumentácii Frigate spomínané ako obľúbená voľba pre domáce zostavy. Po druhé s pamäťou; Frigate uvádza ako rozumné minimum 4 GB RAM. A po tretie s úložiskom – dlhodobý záznam z niekoľkých kamier zhltne desiatky až stovky gigabajtov a systémový disk na to nemusí stačiť. Home Assistant Server N100 Ultra má navyše voľný slot pre SSD disk, ktorý sa v takom prípade môže zísť.

Ešte jedna praktická poznámka k usporiadaniu. Prevádzkovať Home Assistant a nahrávací softvér na jednom stroji sa dá, ale je rozumné ich od seba oddeliť. Presne preto bežíme doma na virtualizácii a preto ponúkame aj variant Proxmox + Home Assistant Server N100 Ultra, kde Home Assistant beží ako virtuálny stroj a vedľa neho si môžete spustiť ďalšiu službu. Proxmox má navyše aj iné výhody, ako napr. snapshoty, takže pred väčším zásahom urobíte bod obnovy a v prípade problému sa počas pár minút vrátite späť.

Ktoré kamery z našej ponuky sa do Home Assistantu hodia

Nasledujúce modely majú lokálny prístup doložený – buď to uvádza výrobca vo svojej dokumentácii, alebo to máme overené u seba.

Dve z kamier, ktoré máme doma, sú stále v našej ponuke a lokálny stream vedia. Mikro kamera Smartica KM03W podporuje RTSP a je to malá vnútorná kamera s dobrým obrazom a širokým uhlom záberu - ideálna na stráženie miestnosti od rohu k rohu. Vonkajšia otočná kamera 4MP Smartica KM06W s integrovaným bielym LED svetlom podporuje navyše aj ONVIF, takže sa dá z HA otáčať a nakláňať.

Upozornenie k otočným modelom: ovládanie otáčania a nakláňania cez ONVIF v Home Assistantovi funguje, ale nenaklikáte ho – musíte si naň napísať skript. Živý obraz a udalosti detekcie nabehnú samy.

Pár vecí, ktoré vám ušetria hodiny ladenia

  • Rezervujte kamere IP adresu na routeri. Kamera, ktorá po reštarte dostane inú adresu, prestane v Home Assistantovi fungovať a dôvod sa hľadá zle.
  • Na nástenku púšťajte vedľajší stream v nižšom rozlíšení, hlavný stream nechajte na záznam. Náhľad nabehne rýchlejšie a je plynulejší.
  • Strážte kodek. Integrácia ONVIF v Home Assistantovi počíta s H.264; ak kamera vie aj H.265, nechajte aspoň jeden stream v H.264.
  • Založte kamere samostatné konto pre ONVIF a nepoužívajte naň rovnaké heslo ako do aplikácie výrobcu.
  • Neotvárajte hlavný stream naraz na viacerých zariadeniach.
  • Nedávajte v HA všetky kamery na jednu kartu tak, aby sa zobrazovali všetky naraz. Toto raz skúsi takmer každý - dá si všetky kamery na jednu kartu: „nech mám pekne celkový prehľad“. Ale ak to nie je nutné inak, dajte kamery po jednej do správnych miestností. Prehrať záznam z jednej IP kamery je celkovo pre akýkoľvek systém jednoduchšie než zo štyroch naraz (nehovoríme tu o analógových CCTV kamerách).

Zhrnutie

Začnite tým, že si ujasníte, čo od kamier chcete:
- Na bežné prezeranie živého náhľadu z kamery stačí originálna aplikácia výrobcu a žiadny vlastný server nepotrebujete. Dokonca vám toto lacné riešenie umožní aj základné automatizácie. Môj osobný názor ale je, že je to vhodné skôr pre vnútorné kamery

- Ak chcete integrovať zariadenia viacerých výrobcov a k tomu hľadáte základné kamerové funkcie a automatizácie, bohato stačí kamera s ONVIF a bežný server s Home Assistantom. Nemusíte riešiť nič ďalšie a rozbehnete to za jedno popoludnie.

- Ak využijete nepretržité sledovanie, vyhodnocovanie obrazu, „inteligentné“ nahrávanie, predzáznam pred udalosťou, vlastné masky a filtrovanie objektov, pridajte k vlastnému serveru nahrávací softvér a k nemu zodpovedajúci hardvér s výkonom a diskom navyše. Je to skok v cene aj v zložitosti, ale aj v celkovom efekte.


FAQ – časté otázky

Aký je rozdiel medzi ONVIF a RTSP?

RTSP je protokol na prenos živého videa a zvuku – dá vám obraz a zvuk. ONVIF je štandard pre spoluprácu zariadení, ktorý navyše rieši vyhľadanie kamery v sieti, hlásenie udalostí a ovládanie funkcií, napríklad otáčania. Video pritom ONVIF kamera aj tak posiela cez RTSP. Zjednodušene: RTSP vám dá obraz, ONVIF ovládanie a udalosti.

Vyhodnocuje Home Assistant obraz z kamery sám?

Nie. Home Assistant obraz zobrazí, uloží snímku alebo krátky klip, ale objekty v ňom nehľadá. Podnet pre automatizáciu musí prísť buď z kamery samotnej cez ONVIF, alebo zo samostatného softvéru, ktorý obraz nepretržite analyzuje – typicky Frigate, Blue Iris a podobne.

Potrebujem Frigate, aby som mohol kameru používať v Home Assistantovi?

Nepotrebujete. Na živý náhľad a automatizácie spúšťané detekciou z kamery stačí integrácia ONVIF. Frigate alebo iné NVR má zmysel až vtedy, keď chcete nepretržitý záznam, históriu udalostí, správu viacerých kamier alebo vlastnú detekciu objektov s maskami a filtrami.

Prečo mi kamera ukazuje obraz, ale nehlási pohyb?

Takmer isto je pripojená iba cez RTSP. Ten prenáša len video – udalosti detekcie vyžadujú ONVIF, značkovú integráciu alebo nahrávací softvér. Skontrolujte, či má kamera ONVIF vôbec podporovaný a zapnutý, a pridajte ju v Home Assistantovi znova cez integráciu ONVIF.

Ako spoznám, či kamera podporuje ONVIF?

Pozrite sa do špecifikácie výrobcu a do nastavení kamery v jej aplikácii – voľba býva pod pokročilým nastavením alebo pod položkou pre pripojenie tretích strán. Ak tam voľba nie je, skúste najprv aktualizovať firmvér kamery.

Koľko kamier utiahne mini PC s Home Assistantom?

Na náhľad a udalosti z ONVIF prakticky neobmedzene, pretože server video spracúva len vo chvíli, keď sa naň niekto pozerá. Akonáhle ale spustíte nepretržitú analýzu obrazu, začne rozhodovať hardvérové dekódovanie videa, dostupná pamäť a veľkosť disku na záznamy. Tam už paušálne číslo neexistuje – závisí od rozlíšenia a počtu snímok za sekundu. Keby ma niekto tlačil do jedného čísla, tak poviem, že procesor N100 s 8 GB RAM zvládne rádovo 3 až 5 kamier.

Vernostný program

Vernostný program

Nakupujte prihlásení a za každý nákup získate body.