Streaming WebRTC
WebRTC offre le streaming de caméras à la plus faible latence dans HomeBe·at. Voici comment le configurer avec votre instance Home Assistant.
Pourquoi WebRTC ?
HomeBe·at prend en charge plusieurs protocoles de streaming. WebRTC offre le meilleur équilibre entre faible latence et qualité — généralement moins d'une seconde de délai, contre 5 à 15 secondes pour HLS.
| Protocole | Latence | Qualité | Configuration |
|---|---|---|---|
| WebRTC | < 1s | Élevée | Intégré depuis HA 2024.11 |
| RTSP | < 1s | Élevée | Connexion directe à la caméra |
| HLS | 5–15s | Moyenne | Intégré aux caméras HA |
| MJPEG | 1–2s | Faible | Fallback intégré |
go2rtc dans Home Assistant
go2rtc est intégré dans Home Assistant depuis la version 2024.11 et fournit le streaming WebRTC nativement.
Prérequis
- Home Assistant 2024.11+ avec l'intégration go2rtc
- Installation basée sur Docker (HA OS, Container ou Supervised) — go2rtc n'est PAS disponible dans les installations Python/Core
- Connectivité réseau UDP entre le serveur HA et votre appareil
Configuration par défaut
Les versions récentes de Home Assistant incluent la prise en charge de go2rtc nativement. Si vos caméras exposent un flux RTSP, HA peut automatiquement utiliser go2rtc pour la diffusion WebRTC. Vérifiez que vos entités caméra affichent une option de flux « WebRTC » dans le tableau de bord HA.
Configuration manuelle de go2rtc
Pour les caméras qui ne se configurent pas automatiquement, vous pouvez les ajouter à votre configuration go2rtc.yaml :
streams:
front_door:
- rtsp://admin:[email protected]:554/stream1
backyard:
- rtsp://admin:[email protected]:554/h264Streaming dans HomeBe·at
HomeBe·at prend en charge le streaming WebRTC, HLS et MJPEG pour les caméras Home Assistant, ainsi que RTSP pour les caméras personnalisées. L'application détecte automatiquement les protocoles disponibles pour chaque caméra et utilise le meilleur. Vous pouvez modifier le protocole de diffusion par caméra dans les réglages de l'application.
Codecs pris en charge
HomeBe·at prend en charge H.264, H.265 (HEVC), VP8, VP9 et AV1. Le codec est négocié automatiquement entre go2rtc et l'application lors de la poignée de main WebRTC. Aucune configuration manuelle n'est nécessaire — si votre caméra diffuse en H.265, il sera décodé nativement.
Caméras Reolink
Les caméras Reolink qui exposent des entités de flux fluent (basse résolution) et clear (haute résolution) fonctionnent nativement avec HomeBe·at. L'application détecte ces canaux de résolution et les utilise pour le changement de qualité — la qualité Moyenne se connecte au flux fluent, la qualité Haute au flux clear. Cela évite la limitation de débit et offre la meilleure image à chaque niveau de qualité. Les caméras multi-objectifs (par ex. Reolink Duo 3 PoE) apparaissent comme des caméras séparées, une par objectif.
Activer les entités du canal Clear
Par défaut, Home Assistant n'active que l'entité caméra fluent (basse résolution) pour les caméras Reolink. Pour obtenir un streaming haute qualité dans HomeBe·at, vous devez activer le canal clear :
- Dans Home Assistant, allez dans Paramètres → Appareils et services → Reolink
- Cliquez sur votre appareil caméra
- Sous Entités, trouvez les entités désactivées (affichées en gris ou derrière un bouton « Afficher les désactivées »)
- Activez l'entité caméra Clear (par ex. camera.allee_clear ou camera.allee_clear_lens_0)
- Attendez quelques secondes que HA enregistre l'entité, puis redémarrez HomeBe·at ou reconnectez-vous
Une fois activé, HomeBe·at détecte automatiquement le canal clear et l'utilise pour le streaming haute qualité.
Entités Reolink supplémentaires
Les caméras Reolink exposent plusieurs autres entités que HomeBe·at peut utiliser si elles sont activées dans Home Assistant :
| Entité | Type | Description |
|---|---|---|
| Débit fluent/clear | Nombre (curseur) | Débit du flux pour chaque canal. Ajustez pour contrôler l'utilisation de la bande passante. |
| Fréquence d'images fluent/clear | Nombre (curseur) | Fréquence d'images pour chaque canal. Plus de FPS = vidéo plus fluide. |
| Capteurs de position PTZ | Capteur | Position actuelle de panoramique et d'inclinaison (lecture seule). |
| Boutons PTZ | Bouton | Mouvement directionnel (gauche, droite, haut, bas) et arrêt. HomeBe·at utilise le maintien appuyé pour le mouvement continu. |
| Zoom PTZ | Nombre (curseur) | Niveau de zoom optique. HomeBe·at divise la plage en paliers utilisables pour le contrôle de zoom +/-. |
| Préréglages PTZ | Sélection/Bouton | Positions de caméra enregistrées (par ex. « Porte d'entrée », « Allée »). |
Pour activer ces entités, suivez les mêmes étapes que pour le canal clear — trouvez-les sous les entités désactivées de l'appareil dans Home Assistant et activez-les.
Dépannage
WebRTC ne se connecte pas
- Vérifiez que go2rtc est en cours d'exécution — Dans Home Assistant, allez dans Paramètres > Modules complémentaires et vérifiez que go2rtc est actif.
- Vérifiez la connectivité UDP — WebRTC nécessite le trafic UDP entre le serveur HA et votre appareil. Certains réseaux d'entreprise ou restrictifs bloquent l'UDP.
- Vérifiez les codes d'erreur — Si HA renvoie « unknown_command », le point d'accès WebRTC n'existe pas (mettez à jour vers HA 2024.11+). S'il renvoie « not_found », l'intégration go2rtc n'est pas chargée.
Basculement automatique
Si WebRTC échoue, HomeBe·at bascule immédiatement vers MJPEG tout en tentant simultanément d'établir un flux HLS. Une fois le HLS prêt, il prend le relais du MJPEG. Vous verrez le badge de protocole actif se mettre à jour sur la caméra au fur et à mesure du basculement.
Utilisateurs ne pouvant pas utiliser WebRTC
- Installations Home Assistant Python/Core (pas de go2rtc)
- Utilisateurs ayant désactivé go2rtc manuellement
- Réseaux bloquant tout le trafic UDP
Dans ces cas, HomeBe·at bascule automatiquement vers MJPEG ou HLS.