Streaming WebRTC

WebRTC offre lo streaming delle telecamere con la latenza più bassa in HomeBe·at. Ecco come configurarlo con la tua istanza Home Assistant.

Perché WebRTC?

HomeBe·at supporta diversi protocolli di streaming. WebRTC offre il miglior equilibrio tra bassa latenza e qualità — tipicamente meno di 1 secondo di ritardo, rispetto ai 5–15 secondi di HLS.

ProtocolloLatenzaQualitàConfigurazione
WebRTC< 1sAltaIntegrato da HA 2024.11
RTSP< 1sAltaConnessione diretta alla telecamera
HLS5–15sMediaIntegrato con le telecamere HA
MJPEG1–2sBassaFallback integrato

go2rtc in Home Assistant

go2rtc è integrato in Home Assistant dalla versione 2024.11 e fornisce lo streaming WebRTC pronto all’uso.

Requisiti

  • Home Assistant 2024.11+ con integrazione go2rtc
  • Installazione basata su Docker (HA OS, Container o Supervised) — go2rtc NON è disponibile nelle installazioni Python/Core
  • Connettività di rete UDP tra il server HA e il tuo dispositivo

Configurazione predefinita

Le versioni moderne di Home Assistant includono il supporto go2rtc pronto all’uso. Se le tue telecamere espongono un flusso RTSP, HA può utilizzare automaticamente go2rtc per la distribuzione WebRTC. Verifica che le entità delle tue telecamere mostrino un’opzione di streaming "WebRTC" nella dashboard di HA.

Configurazione manuale di go2rtc

Per le telecamere che non si configurano automaticamente, puoi aggiungerle alla configurazione del tuo go2rtc.yaml:

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

Streaming in HomeBe·at

HomeBe·at supporta lo streaming WebRTC, HLS e MJPEG per le telecamere Home Assistant, più RTSP per le telecamere personalizzate. L'app rileva automaticamente quali protocolli sono disponibili per ogni telecamera e utilizza il migliore. Puoi sovrascrivere il protocollo di streaming per ogni telecamera nelle impostazioni dell’app.

Codec supportati

HomeBe·at supporta H.264, H.265 (HEVC), VP8, VP9 e AV1. Il codec viene negoziato automaticamente tra go2rtc e l'app durante l'handshake WebRTC. Non è necessaria alcuna configurazione manuale — se la tua telecamera trasmette in H.265, verrà decodificato nativamente.

Telecamere Reolink

Le telecamere Reolink che espongono entità stream fluent (bassa risoluzione) e clear (alta risoluzione) separate funzionano nativamente con HomeBe·at. L'app rileva questi canali di risoluzione e li utilizza per il cambio di qualità — la qualità Media si connette allo stream fluent, la qualità Alta si connette allo stream clear. Questo evita la limitazione del bitrate e fornisce la migliore immagine per ogni livello di qualità. Le telecamere multi-obiettivo (ad es. Reolink Duo 3 PoE) appaiono come telecamere separate, una per obiettivo.

Abilitazione delle entità canale Clear

Per impostazione predefinita, Home Assistant abilita solo l'entità telecamera fluent (bassa risoluzione) per le telecamere Reolink. Per ottenere lo streaming ad alta qualità in HomeBe·at, devi abilitare il canale clear:

  1. In Home Assistant, vai su Impostazioni → Dispositivi e servizi → Reolink
  2. Clicca sul dispositivo della tua telecamera
  3. Sotto Entità, trova le entità disabilitate (mostrate in grigio o dietro un toggle "Mostra disabilitate")
  4. Abilita l'entità telecamera Clear (ad es. camera.vialetto_clear o camera.vialetto_clear_lens_0)
  5. Attendi qualche secondo che HA registri l'entità, poi riavvia HomeBe·at o riconnettiti

Una volta abilitato, HomeBe·at rileva automaticamente il canale clear e lo utilizza per lo streaming ad Alta qualità.

Entità Reolink aggiuntive

Le telecamere Reolink espongono diverse altre entità che HomeBe·at può utilizzare se abilitate in Home Assistant:

EntitàTipoDescrizione
Bitrate Fluent/ClearNumero (slider)Bitrate dello stream per ogni canale. Regola per controllare l'utilizzo della banda.
Framerate Fluent/ClearNumero (slider)Framerate dello stream per ogni canale. FPS più alti = video più fluido.
Sensori posizione PTZSensorePosizione corrente di pan e tilt (sola lettura).
Pulsanti PTZPulsanteMovimento direzionale (sinistra, destra, su, giù) e stop. HomeBe·at utilizza la pressione prolungata per il movimento continuo.
Zoom PTZNumero (slider)Livello di zoom ottico. HomeBe·at suddivide l'intervallo in passi utilizzabili per il controllo zoom +/-.
Preset PTZSelezione/PulsantePosizioni salvate della telecamera (ad es. "Porta d'ingresso", "Vialetto").

Per abilitare queste entità, segui gli stessi passaggi del canale clear — trovale sotto le entità disabilitate del dispositivo in Home Assistant e attivale.

Risoluzione dei problemi

WebRTC non si connette

  1. Verifica che go2rtc sia in esecuzione — In Home Assistant, vai su Impostazioni > Componenti aggiuntivi e verifica che go2rtc sia attivo.
  2. Verifica la connettività UDP — WebRTC richiede traffico UDP tra il server HA e il tuo dispositivo. Alcune reti aziendali o restrittive bloccano il traffico UDP.
  3. Verifica i codici di errore — Se HA restituisce "unknown_command", l'endpoint WebRTC non esiste (aggiorna a HA 2024.11+). Se restituisce "not_found", l'integrazione go2rtc non è caricata.

Fallback automatico

Se WebRTC fallisce, HomeBe·at passa immediatamente a MJPEG tentando contemporaneamente di stabilire uno streaming HLS. Quando HLS è pronto, sostituisce MJPEG. Vedrai il badge del protocollo attivo aggiornarsi sulla telecamera durante il fallback.

Utenti che non possono utilizzare WebRTC

  • Installazioni Home Assistant Python/Core (nessun go2rtc)
  • Utenti che hanno disabilitato manualmente go2rtc
  • Reti che bloccano tutto il traffico UDP

In questi casi, HomeBe·at passa automaticamente a MJPEG o HLS.

Suggerimento: Se riscontri problemi di connessione con WebRTC, verifica che la tua rete consenta il traffico UDP tra il server HA e il tuo dispositivo.