Composant personnalisé Home Assistant pour la visualisation en temps réel de presque tous les flux de caméra à l'aide de WebRTC et d'autres technologies.
À partir de la version 3, le serveur de streaming est passé de RTSPtoWebRTC à go2rtc.
aller2rtc
Installation
Configuration
Carte personnalisée
Modèles
Audio bidirectionnel
Instantanés sur Telegram
Caster ou partager un flux
Diffusion vers la caméra
FAQ
Déboguer
Caméras de travail connues
Ce composant utilise l'application go2rtc comme serveur de streaming :
latence de streaming la plus faible possible pour de nombreux protocoles pris en charge
streaming depuis RTSP, RTMP, HTTP (FLV/MJPEG/JPEG), caméras HomeKit, caméras USB et autres sources
streaming vers RTSP, WebRTC, MSE/MP4 ou MJPEG
prend en charge les codecs populaires H264/H265, AAC, PCMU/PCMA, OPUS
transcodage à la volée pour les codecs non pris en charge via FFmpeg
Technologie de streaming à sélection automatique basée sur les codecs de flux, les capacités du navigateur et la configuration du réseau
En savoir plus dans la documentation go2rtc !
Vous pouvez installer go2rtc de plusieurs manières :
Utilisateurs de base - ce composant téléchargera et exécutera automatiquement la dernière version de go2rtc, vous n'avez rien à faire vous-même.
Utilisateurs avancés - installez le module complémentaire go2rtc ou Frigate 12+.
Hakers - installez go2rtc en tant que binaire ou Docker sur n'importe quel serveur du LAN.
Vous pouvez modifier les paramètres go2rtc en ajoutant le fichier go2rtc.yaml
à votre dossier de configuration Hass.
Important. go2rtc exécute sa propre interface Web sur le port 1984
sans mot de passe. Là, vous pouvez voir une liste des flux de caméras actifs. N'importe qui sur votre réseau local peut y accéder sans mot de passe . Vous pouvez désactiver cela dans la configuration go2rtc.
PS. Il existe également une autre belle carte avec le support go2rtc - Frigate Lovelace Card.
Méthode 1. HACS > Intégrations > Plus > WebRTC > Installer
Méthode 2. Copiez manuellement le dossier webrtc
de la dernière version vers le dossier /config/custom_components
.
La custom_card
sera automatiquement enregistrée auprès de l'interface utilisateur de Home Assistant, sauf lorsque vous gérez l'interface utilisateur en mode YAML. Si vous gérez l'interface utilisateur en mode YAML, ajoutez ceci à vos ressources d'interface utilisateur pour que la carte custom:webrtc-camera
fonctionne :
URL : /webrtc/webrtc-camera.jstype : module
Actualisez votre navigateur
Paramètres > Appareils et services > Ajouter une intégration > WebRTC
Si l'intégration ne figure pas dans la liste, vous devez vider le cache du navigateur.
Le composant ne crée pas de périphériques ni d'entités . Il ne crée que deux services et une carte personnalisée Lovelace.
Comme url
vous pouvez utiliser :
tout protocole pris en charge par go2rtc ( rtsp
, rtmp
, http
, onvif
, dvrip
, homekit
, roborock
, etc.)
name
du flux de la configuration go2rtc
Modèle Jinja2
(doit afficher le protocole ou name
du flux pris en charge)
En tant entity
vous pouvez utiliser presque n'importe quelle caméra Hass.
Comme poster
vous pouvez utiliser :
http
-link (doit être un lien accessible au public)
entity
de caméra de Hass
name
du flux de la configuration go2rtc
Modèle Jinja2
(doit restituer entity
de la caméra ou name
du flux)
Minimal
tapez : 'custom:webrtc-camera'url : 'rtsp://rtsp:[email protected]:554/av_stream/ch0'
ou
tapez : 'custom:webrtc-camera'url: 'camera1' # nom du flux depuis go2rtc.yaml
ou
tapez : 'custom:webrtc-camera'entity: camera.generic_stream # modifiez l'entity_id de votre caméra
ou
tapez : 'custom:webrtc-camera'streams : - url : go2rtc_stream_hdname : HD # le nom est facultatifmode : webrtc # le mode est facultatifmédia : vidéo # le média est facultatif - url : go2rtc_stream_sdname : SDmode : msemedia : audio
PS. Vous pouvez modifier le flux actif en cliquant sur l'étiquette mode
. Ou en cliquant sur le name
du flux avec ui: true
.
Complet
Tous les paramètres sont facultatifs ! Seul paramètre requis : url
, entity
ou streams
.
tapez : 'custom:webrtc-camera'url : 'rtsp://rtsp:[email protected]:554/av_stream/ch0'entity : camera.generic_streammode : webrtc,webrtc/tcp,mse,hls,mjpeg # technologie de flux , tous les médias par défaut : vidéo, audio # sélectionnez uniquement la piste vidéo ou audio, les deux serveurs par défaut : http://192.168.1.123:1984/ # adresse du serveur go2rtc personnalisée, emptyui par défaut : true # commandes vidéo personnalisées, falsedigital_ptz par défaut : # zoom et panoramique numériques via la souris/le toucher, valeurs par défaut : mouse_drag_pan : vrai mouse_wheel_zoom : vrai mouse_double_click_zoom : vrai touch_drag_pan : vrai touch_pinch_zoom : vrai touch_tap_drag_zoom : vrai persist: true # le facteur de zoom et la position de la fenêtre survivent au rechargement de la page # digital_ptz: false # pour désactiver tous les zooms numériques et pantitle de la souris/tactile : ma super caméra # affiche de titre de carte en option : https://home-assistant.io/images/cast/ splash.png # image fixe lors du chargement du flux muet : vrai # état initial de basculement du mode muet, la valeur par défaut est faux (non muet) intersection : 0,75 # arrêt automatique du flux lorsque moins de 75 % de l'élément vidéo est à l'écran, 50 % par défaut arrière-plan : vrai # exécuter le flux lorsqu'il n'est pas affiché (ex. pour un chargement vidéo rapide), faux raccourcis par défaut : # raccourcis personnalisés, aucun par défaut - nom : Enregistrer icône : mdi: enregistrement-cercle-contour service : switch.toggle service_data :entity_id : switch.camera_record
Commandes de panoramique, d'inclinaison et de zoom : exemples de configuration PTZ.
En pause par défaut
tapez : custom:webrtc-cameraposter : dahua1-snap # nom du flux à partir de go2rtc.yaml (http-snapshot)streams : - url : '' # url vide, donc seule l'affiche sera affichée - url : dahua1 # nom du flux de go2rtc.yaml (rtsp-stream)
Problème de format vidéo
style : "vidéo {aspect-rapport : 16/9 ; objet-fit : remplir ;}"
Rotation vidéo
Sur le client (CPU libre) :
style : 'vidéo {transformation : rotation (90 deg ); rapport hauteur/largeur : 1}'
Sur serveur - transcodage FFmpeg (coût CPU élevé)
Masquer l'étiquette du mode
style : '.mode {affichage : aucun}'
Masquer le bouton plein écran
style : '.fullscreen {affichage : aucun}'
Masquer le bouton de capture d'écran
style : '.screenshot {affichage : aucun}'
Masquer le bouton PIP
style : '.pictureinpicture {affichage : aucun}'
Position des raccourcis
style : ".shortcuts {gauche : non défini ; haut : 25 px ; droite : 5 px ; affichage : flex ; flex-direction : colonne}"
Position PTZ
style : ".ptz {droite : non défini ; gauche : 10px}"
Position de l'étiquette de mode
style : '.header {bas : 6px} .mode {position : absolue ; en bas : 0px}'
Position de la ligne d'en-tête
style : '.header {haut : non défini ; bas : 6px}'
Nouveau dans la v3.6.0.
shortcuts
, style
et ptz
des options de carte prennent en charge les modèles JavaScript
Dans shortcuts
et style
vous pouvez utiliser des modèles liés states
Dans ptz
vous pouvez utiliser des modèles liés à streamName
/ streamID
(utile pour les cartes avec plusieurs modèles)
raccourcis : - nom : Barn Lighticon : ${ states['light.yeelight_lamp'].state === 'on' ? 'mdi:outdoor-lamp':'mdi:lamp' }service : light.toggleservice_data :entity_id : light.yeelight_lamp
ptz : service : notify.persistent_notification data_left:message : gauche pour ${ this.streamName } cliqué data_right:message : Droit pour ${ this.streamID } cliqué
Nouveau dans la v3.4.0.
Uniquement pour les sources prises en charge dans go2rtc
Uniquement pour Hass avec accès HTTPS, cette limitation vient des navigateurs
Uniquement pour le mode WebRTC
HTTPS est également important pour l'application mobile Hass !
Vous devez ajouter microphone
au paramètre media
. Vous pouvez utiliser deux flux : un avec micro, le second sans :
tapez : 'custom:webrtc-camera'streams : -url : go2rtc_stream - url : go2rtc_streammode : webrtcmedia : vidéo, audio, microphone
PS. Pour l'application mobile Hass, assurez-vous que vous pouvez utiliser le microphone avec l'assistance intégrée.
En savoir plus
Le composant prend en charge le streaming sur les appareils Google Cast Chromecast (y compris Android TV et Google Smart Screen). En savoir plus sur wiki.
Les composants prennent également en charge la création d'un lien temporaire ou permanent vers un flux sans partager l'accès à votre Home Assistant. En savoir plus sur wiki.
Nouveau dans la v3.1.0.
go2rtc prend en charge la lecture de fichiers audio (ex. musique ou TTS) et les flux en direct (ex. radio) sur les caméras avec prise en charge audio bidirectionnelle. Vous devez:
Vérifiez si votre caméra prend en charge la source audio bidirectionnelle
Configurer le flux de caméra dans la configuration go2rtc.yaml
Vérifiez le codec audio pris en charge par votre caméra
Créez des lecteurs multimédias virtuels pour vos caméras dans configuration.yaml
:
lecteur_média : - plateforme : nom webrtc : Dahua Camerastream : dahuaaudio : pcmu/48000 - plateforme : nom webrtc : Tapo Camerastream : tapoaudio : pcma
Q. L'accès externe avec WebRTC ne fonctionne pas
A. Lisez-en davantage et ne créez pas de nouveaux problèmes.
Q. L'audio ne fonctionne pas
A. Vérifiez quel codec audio votre caméra émet. Et quelle technologie utilisez-vous pour regarder des vidéos. Différentes technologies prennent en charge différents codecs.
Ajoutez à votre configuration.yaml
:
enregistreur : par défaut : avertissement journaux : custom_components.webrtc : débogage
Marque | Modèles | Commentaire |
---|---|---|
Caméra active | AC-D2121IR3 | |
Caméra active | AC-D7121IR1W | soutenir le son |
Androïde | Webcam IP Pro | prise en charge du son, rtsp://192.168.1.123:8080/h264_ulaw.sdp |
C-tronique | CTIPC-690C | prise en charge du son, principal : rtsp://username:[email protected]:554/11 ou onvif://username:[email protected]:8080?subtype=MainStreamProfileToken |
Dahua | DH-IPC-HDPW1431FP-AS-0280B, VTO2211G-P | soutenir le son |
Dahua | VTO2202F-P-S2 | En savoir plus |
EZVIZ | C3S | rtsp://admin:[email protected]:554/h264/ch01/main/av_stream et /h264/ch01/sub/av_stream |
EZVIZ | C3W, C3WN, C6CN, C6T | rtsp://admin:[email protected]:554/h264_stream |
EZVIZ | C8C | rtsp://admin:[email protected]:554/channel80 |
Foarnaque | C1 | rtsp://user:[email protected]:554/videoMain |
Foarnaque | C2M, R2M | rtsp://user:[email protected]:88/videoMain |
Sécurité GW | GW5088IP | rtsp://192.168.1.123:554/mpeg4cif?username=admin&password=123456 |
Sécurité GW | GW5078IP | rtsp://192.168.1.123:554/stream0?username=admin&password=123456 |
Sécurité GW | GW5071IP | Ne fonctionne pas encore, quelque chose de similaire à rtsp://admin:[email protected]:554/live/main ou rtsp://192.168.0.207:554/live/main?username=admin&password=123456 |
Hikvision | DS-2CD2T47G1-L, DS-2CD1321-I, DS-2CD2143G0-IS | rtsp://user:[email protected]:554/ISAPI/Streaming/Channels/102 |
Hikvision | IPC-HDW3849H-AS-PV, IPC-EW5531-AS | câblé au nvr DHI-NVR2108HS-8P-I à l'aide d'un composant personnalisé |
Imou | IPC-F42-B2E3 (Balle 2C 4MP) | rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0 |
QNAP | QUSBCam2 | rtsp://username:[email protected]:554/channel1 docs |
Framboise Pi | PiCam | En savoir plus |
Réolink | RLC-410, RLC-410W, RLC-510WA, E1 Pro, zoom E1, 4505MP | Le RLC-510WA prend en charge le son, le son E1 Zoom, le PTZ et le zoom |
Réolink | E1 | rtsp://admin:[email protected]:554/h264Preview_01_main |
Sonoff | GK-200MP2-B | prend en charge le son et le PTZ, rtsp://rtsp:[email protected]:554/av_stream/ch0 et /av_stream/ch1 |
SriHome | SH035 | rtsp://192.168.xxx.xxx:8554/profile0 et /profile1 et /profile2 |
Topvico | rtsp://192.168.1.123:8554/stream0 ou rtsp://192.168.1.123:554/ch0_0.264 | |
TP-Link | Tapo C100/C200/C210/C220/C310 | rtsp://user:[email protected]:554/stream1 et /stream2 |
TVT/Secutech | NVR-0808B2-8P | rtsp://user:[email protected]:554/chID=1&streamType=main et chID=2&streamType=main |
TVT/Secutech | IPC5-DF28SN | rtsp://user:[email protected]:554/profile1 et /profile2 |
Unifi | G4 Dome, G4 sonnette, G3 Bullet, G3 Flex | Copiez le lien rtsps à partir des paramètres de la caméra dans Unifi Protect, mais modifiez le lien en rstp:// (par défaut, rstps://), modifiez le port en 7447 et supprimez tous les paramètres de requête. |
Wyze | Came v2/v3, Came Pan v1/v2 | soutenir le son |
Xiaomi | Dafang | avec hack, rtsp://192.168.1.123:8554/unicast Vidéo : H264, taille : 1920x1080, débit binaire : 1000, format : VBR, fréquence d'images : 10 Audio : PCMU, débit d'entrée : 8 000, débit de sortie : 44 100 |
Yale | SV-4CFDVR-2 | rtsp://admin:[email protected]/cam/realmonitor?channel=1&subtype=0 |
Yi | Jeu de puces Hi3518e | avec hack |
Yi | Jeu de puces MStar Infinity | avec hack |