WebRTC-streaming

WebRTC biedt de laagste latentie voor camerastreaming in HomeBe·at. Hier lees je hoe je het instelt met je Home Assistant-instantie.

Waarom WebRTC?

HomeBe·at ondersteunt meerdere streamingprotocollen. WebRTC biedt de beste balans tussen lage latentie en kwaliteit — meestal minder dan 1 seconde vertraging, vergeleken met 5–15 seconden bij HLS.

ProtocolLatentieKwaliteitInstallatie
WebRTC< 1sHoogIngebouwd sinds HA 2024.11
RTSP< 1sHoogDirecte verbinding met camera
HLS5–15sGemiddeldIngebouwd bij HA-camera's
MJPEG1–2sLaagIngebouwde terugvaloptie

go2rtc in Home Assistant

go2rtc is ingebouwd in Home Assistant sinds versie 2024.11 en biedt standaard WebRTC-streaming.

Vereisten

  • Home Assistant 2024.11+ met go2rtc-integratie
  • Docker-gebaseerde installatie (HA OS, Container of Supervised) — go2rtc is NIET beschikbaar in Python/Core-installaties
  • UDP-netwerkverbinding tussen de HA-server en je apparaat

Standaardconfiguratie

Moderne versies van Home Assistant bevatten standaard go2rtc-ondersteuning. Als je camera's een RTSP-stream aanbieden, kan HA automatisch go2rtc gebruiken voor WebRTC-levering. Controleer of je camera-entiteiten een "WebRTC"-streamoptie tonen in het HA-dashboard.

Handmatige go2rtc-configuratie

Voor camera's die niet automatisch worden geconfigureerd, kun je ze toevoegen aan je go2rtc.yaml-configuratie:

streams:
  front_door:
    - rtsp://admin:[email protected]:554/stream1
  backyard:
    - rtsp://admin:[email protected]:554/h264

Streaming in HomeBe·at

HomeBe·at ondersteunt WebRTC, HLS en MJPEG-streaming voor Home Assistant-camera's, plus RTSP voor aangepaste camera's. De app detecteert automatisch welke protocollen beschikbaar zijn voor elke camera en gebruikt de beste. Je kunt het streamprotocol per camera overschrijven in de instellingen van de app.

Ondersteunde codecs

HomeBe·at ondersteunt H.264, H.265 (HEVC), VP8, VP9 en AV1. De codec wordt automatisch onderhandeld tussen go2rtc en de app tijdens de WebRTC-handshake. Geen handmatige configuratie nodig — als je camera in H.265 streamt, wordt het native gedecodeerd.

Reolink-camera's

Reolink-camera's die aparte fluent (lage resolutie) en clear (hoge resolutie) stream-entiteiten aanbieden, werken native met HomeBe·at. De app detecteert deze resolutiekanalen en gebruikt ze voor kwaliteitswisseling — Gemiddelde kwaliteit verbindt met de fluent-stream, Hoge kwaliteit verbindt met de clear-stream. Dit vermijdt bitratebeperking en biedt het beste beeld op elk kwaliteitsniveau. Multi-lens camera's (bijv. Reolink Duo 3 PoE) verschijnen als afzonderlijke camera's, een per lens.

Clear-kanaalentiteiten inschakelen

Standaard schakelt Home Assistant alleen de fluent (lage resolutie) camera-entiteit in voor Reolink-camera's. Om hoogwaardige streaming in HomeBe·at te krijgen, moet je het clear-kanaal inschakelen:

  1. Ga in Home Assistant naar Instellingen → Apparaten & Services → Reolink
  2. Klik op je camera-apparaat
  3. Zoek onder Entiteiten de uitgeschakelde entiteiten (grijs weergegeven of achter een "Uitgeschakelde tonen"-schakelaar)
  4. Schakel de Clear camera-entiteit in (bijv. camera.oprit_clear of camera.oprit_clear_lens_0)
  5. Wacht een paar seconden tot HA de entiteit registreert en herstart dan HomeBe·at of maak opnieuw verbinding

Zodra ingeschakeld, detecteert HomeBe·at automatisch het clear-kanaal en gebruikt het voor streaming op hoge kwaliteit.

Extra Reolink-entiteiten

Reolink-camera's bieden verschillende andere entiteiten die HomeBe·at kan gebruiken als ze zijn ingeschakeld in Home Assistant:

EntiteitTypeBeschrijving
Fluent/Clear bitrateGetal (schuifregelaar)Streambitrate voor elk kanaal. Pas aan om bandbreedtegebruik te regelen.
Fluent/Clear framerateGetal (schuifregelaar)Streamframerate voor elk kanaal. Hogere FPS = vloeiendere video.
PTZ-positiesensorenSensorHuidige pan- en kantelpositie (alleen-lezen).
PTZ-knoppenKnopRichtingsbeweging (links, rechts, omhoog, omlaag) en stop. HomeBe·at gebruikt ingedrukt houden voor continue beweging.
PTZ-zoomGetal (schuifregelaar)Optisch zoomniveau. HomeBe·at verdeelt het bereik in bruikbare stappen voor de +/- zoombediening.
PTZ-presetsSelectie/KnopOpgeslagen cameraposities (bijv. "Voordeur", "Oprit").

Om deze entiteiten in te schakelen, volg je dezelfde stappen als voor het clear-kanaal — zoek ze onder de uitgeschakelde entiteiten van het apparaat in Home Assistant en schakel ze in.

Probleemoplossing

WebRTC maakt geen verbinding

  1. Controleer of go2rtc draait — Ga in Home Assistant naar Instellingen > Add-ons en controleer of go2rtc actief is.
  2. Controleer UDP-connectiviteit — WebRTC vereist UDP-verkeer tussen de HA-server en je apparaat. Sommige bedrijfs- of restrictieve netwerken blokkeren UDP.
  3. Controleer foutcodes — Als HA "unknown_command" retourneert, bestaat het WebRTC-eindpunt niet (update naar HA 2024.11+). Als het "not_found" retourneert, is de go2rtc-integratie niet geladen.

Automatische terugval

Als WebRTC mislukt, valt HomeBe·at onmiddellijk terug op MJPEG terwijl tegelijkertijd geprobeerd wordt een HLS-stream op te zetten. Zodra HLS gereed is, neemt het over van MJPEG. Je ziet de actieve protocolbadge op de camera bijwerken naarmate de terugval vordert.

Gebruikers die WebRTC niet kunnen gebruiken

  • Python/Core Home Assistant-installaties (geen go2rtc)
  • Gebruikers die go2rtc handmatig hebben uitgeschakeld
  • Netwerken die al het UDP-verkeer blokkeren

In deze gevallen valt HomeBe·at automatisch terug op MJPEG of HLS.

Tip: Als je verbindingsproblemen ondervindt met WebRTC, controleer dan of je netwerk UDP-verkeer toestaat tussen de HA-server en je apparaat.