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.
| Protocollo | Latenza | Qualità | Configurazione |
|---|---|---|---|
| WebRTC | < 1s | Alta | Integrato da HA 2024.11 |
| RTSP | < 1s | Alta | Connessione diretta alla telecamera |
| HLS | 5–15s | Media | Integrato con le telecamere HA |
| MJPEG | 1–2s | Bassa | Fallback 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/h264Streaming 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:
- In Home Assistant, vai su Impostazioni → Dispositivi e servizi → Reolink
- Clicca sul dispositivo della tua telecamera
- Sotto Entità, trova le entità disabilitate (mostrate in grigio o dietro un toggle "Mostra disabilitate")
- Abilita l'entità telecamera Clear (ad es. camera.vialetto_clear o camera.vialetto_clear_lens_0)
- 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à | Tipo | Descrizione |
|---|---|---|
| Bitrate Fluent/Clear | Numero (slider) | Bitrate dello stream per ogni canale. Regola per controllare l'utilizzo della banda. |
| Framerate Fluent/Clear | Numero (slider) | Framerate dello stream per ogni canale. FPS più alti = video più fluido. |
| Sensori posizione PTZ | Sensore | Posizione corrente di pan e tilt (sola lettura). |
| Pulsanti PTZ | Pulsante | Movimento direzionale (sinistra, destra, su, giù) e stop. HomeBe·at utilizza la pressione prolungata per il movimento continuo. |
| Zoom PTZ | Numero (slider) | Livello di zoom ottico. HomeBe·at suddivide l'intervallo in passi utilizzabili per il controllo zoom +/-. |
| Preset PTZ | Selezione/Pulsante | Posizioni 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
- Verifica che go2rtc sia in esecuzione — In Home Assistant, vai su Impostazioni > Componenti aggiuntivi e verifica che go2rtc sia attivo.
- 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.
- 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.