Bonjour,
A partir de hacs, j’ai téléchargé et installé Webrtc. Sur mon tableau de bord, j’ai le flux vidéo d’une camera Ezviz C6n, en streaming avec une latence réduite à 2 secondes. Je voudrais maintenant envoyer le flux sur mon lecteur Freebox, mais je ne vois aucun symbole de casting sur la carte de mon tableau de bord, comment dois-je m’y prendre?
Je viens de comprendre que c’est « WebRTC camera » que j’ai téléchargé sur HACS, alors que c’était « WebRTC Video Streaming », qu’il fallait installer…
Mais sur HACS, je ne trouve pas « WebRTC Video Streaming », mais j’ai trouvé un truc qui s’appelle « RTSPtoWebRTC » dans les intégrations, je suppose que c’est le bon. Je dois entrer l’URL du serveur « RTSPtoWebRTC » pour finaliser l’intégration, j’ai trouvé cette adresse:
https://rtsptoweb.com/stream/my_stream
Par quoi, je remplace my_stream ?
Bonjour la communauté,
J’essaye d’envoyer le flux video en RTSP d’une camera Ezviz, sur le lecteur de ma Freebox mini 4k, en utilisant « Webrtc camera »: je peux voir mon flux RTSP venant de ma caméra Ezviz sur VLC avec l’ url du flux RTSP. Etant donné que ma camera déclenche l’activation de mon Lecteur Freebox, sans pour autant lire le flux video, c’est donc au niveau de la configuration de « Webrtc camera » que le problème se pose.
« Webrtc camera » intègre « Go2rtc » et il semblerait que ce soit ce dernier qui transporte le flux réseau, mais je ne sais pas comment le configurer. Dans le fichier /config/custom_components/webrtc/services.yaml de Webrtc, j’ai modifié les paramètres donnés en exemple par mes propres paramètres, ainsi que dans la partie « DashCast » du même fichier.
Dans le fichier /config/go2rtc.yaml, j’ai une section API et une section RTSP, qui demandent chacune un username et un password, et je ne sais pas quoi mettre dans ces 2 sections.
Dans mon fichier automations.yaml, j’ai le code suivant: ```automation:
- alias: Flux Camera Ezviz sur Freebox Player
trigger:
platform: state
entity_id: switch.c6n_f34174681_light # L’entité qui déclenche le flux de la caméra
from: « off »
to: « on »
action:- service: webrtc.dash_cast
data:
entity_id: media_player.freebox_player_mini_v2_3 # L’entité de votre lecteur Freebox
entity: camera.c6n_f34174681 # L’entité de votre caméra
url: rtsp://admin:XXXXXX@192.168.1.xx:554/ch1/main ```
- service: webrtc.dash_cast
Voici les erreurs dans mes logs: 2023-11-02 17:49:16.378 ERROR (MainThread) [homeassistant.components.automation] Unnamed automation could not be validated and has been disabled: extra keys not allowed @ data[‹ automation ›]. Got [{‹ alias ›: ‹ Flux Camera Ezviz sur Freebox Player ›, ‹ trigger ›: {‹ platform ›: ‹ state ›, ‹ entity_id ›: ‹ switch.c6n_f34174681_light ›, ‹ from ›: ‹ off ›, ‹ to ›: ‹ on ›}, ‹ action ›: [{‹ service ›: ‹ webrtc.dash_cast ›, ‹ data ›: {‹ entity_id ›: ‹ media_player.freebox_player_mini_v2_3 ›, ‹ entity ›: ‹ camera.c6n_f34174681 ›, ‹ url ›: ‹ rtsp://admin:XXXXXX@192.168.1.xx:554/ch1/main ›}}]}]
required key not provided @ data[‹ action ›]. Got None
required key not provided @ data[‹ trigger ›]. Got None
ça fait une semaine que je bricole, mais sans aucun résultat.
Salut.
C’est pas la suite de ce sujet ?
Attention à la mise en forme de ton code et des logs… Là c’est pas vraiment lisible
Si, c’est bien la suite du sujet, mais depuis j’ai (un peu) avancé en localisant le problème sur la config de Webrtc, étant certain que l’url de mon flux video est correct (VLC faisant foi), que ma camera envoie bien le flux et qu’elle est capable d’activer mon player Freebox, mais que le transport du flux ne se fait pas sur celui-ci. Je remets les logs d’erreurs en forme: ```
required key not provided @ data['action']. Got None
required key not provided @ data['trigger']. Got None
2023-11-02 17:49:16.378 ERROR (MainThread) [homeassistant.components.automation] Unnamed automation could not be validated and has been disabled: extra keys not allowed @ data['automation']. Got [{'alias': 'Flux Camera Ezviz sur Freebox Player', 'trigger': {'platform': 'state', 'entity_id': 'switch.c6n_f34174681_light', 'from': 'off', 'to': 'on'}, 'action': [{'service': 'webrtc.dash_cast', 'data': {'entity_id': 'media_player.freebox_player_mini_v2_3', 'entity': 'camera.c6n_f34174681', 'url': 'rtsp://admin:XXXXXX@192.168.1.xx:554/ch1/main'}}]}] ```
Je ne sais pas où trouver ces clés, ni où les mettre.
Bonsoir la communauté,
Je reviens vers vous avec toujours le même problème: je n’arrive pas à envoyer le flux RTSP de ma camera Ezviz c6n sur mon lecteur freebox.
J’ai l’url du flux RTSP:
rtsp://admin:XXXXXX@192.168.1.xx:554/ch1/main (qui fonctionne sur VLC)
J’ai cette « automation.yaml qui fonctionne » (avec 20 secondes de latence):
description: "Flux RTSP camera Ezviz --> lecteur freebox"
mode: single
trigger:
- platform: device
type: changed_states
device_id: 4b1f25ef32536a3781bf09fa14568562 # camera Ezviz c6n
entity_id: 6ef5fe9b26abeb724239ed593e50f4a4 # entite (chgt etat eclairage): c6n_f34174681_light
domain: switch
condition: []
action:
service: camera.play_stream
target:
entity_id: camera.c6n_f34174681
data:
media_player: media_player.freebox_player_mini_v2_3
J’ai « go2rtc » installé et configuré à partir de « webrtc camera » avec son fichier de configuration go2rtc.yaml:
webrtc:
listen: ":8555" #adresse du serveur local et port (TCP/UDP)
stream:
camera1:
-rtsp://admin:XXXXXX@192.168.1.xx:554/ch1/main
J’ai essayé diverses combinaisons pour intégrer l’url de mon flux RTSP à mon code « automation.yaml »,
par exemple comme ceci:
action:
service: camera.play_stream
target:
entity_id: camera.c6n_f34174681
data:
media_player: media_player.freebox_player_mini_v2_3
media_content_id: "rtsp://admin:XXXXXX@192.168.1.xx:554/ch1/main"
media_content_type: "camera"
mais rien ne se passe et j’ai les erreurs suivantes dans les logs:
2023-11-13 19:17:34.413 ERROR (MainThread) [homeassistant.components.automation.automation_0] automation 0: Error executing script. Invalid data for call_service at pos 1: extra keys not allowed @ data['media_content_id']
2023-11-13 19:17:34.418 ERROR (MainThread) [homeassistant.components.automation.automation_0] Error while executing automation automation.automation_0: extra keys not allowed @ data['media_content_id']
Où sont les erreurs?
Salut…
Bon 3 nouveaux sujets pour le même souci, c’est de la gourmandise.
De toute façon, un nouveau sujet ça n’apporte pas une meilleure visibilité, ni plus de réponse, tout en perdant en plus l’historique des questions déjà posées.
Je fusionne le tout, mais pas certain d’être aussi compréhensible au prochain coup.
Regarde de plus près ton message d’erreur, il est pourtant parlant !
call_service at pos 1: extra keys not allowed @ data['media_content_id']
Il n’existe pas media_content_id
dans ce service ?
Voir sur mode développement service: camera.play_stream pour tester …
Bonsoir Pulpy-Luke,
Excuse-moi si j’ai créé un nouveau sujet, mais j’ai cru comprendre en lisant la charte du forum, qu’une seule question devait être posée sur le même fil de discussion, or, depuis 10 jours j’ai (un peu) avancé et la question posée était différente des précédentes, c’est pour cette raison que j’ai choisi d’ouvrir un nouveau fil.
Je ne le referai plus.
Claude
Re,
Pas de soucis et parfait si tu as avancé un peu. Malgré tout ça reste quand même dans l’idée générale de streamer le flux de la caméra sur ta freebox (certes avec des tentatives différentes)
Il faut juste se dire que plus on éparpille les informations plus c’est compliqué de suivre (pour nous maintenant et encore pire pour les futurs utilisateurs à la suite d’une recherche)
Merci pour ta réponse: j’ai déjà fait le test que tu décris dans ton exemple. Effectivement, ça marche, mais au format HLS, donc avec une latence de 20 secondes.
Concernant l’oubli de ‹ media_content_id ›: j’ai déjà ‹ un media_content_id › avec l’url de rtsp, et je crois, (il me semble avoir déjà essayé), qu’on ne pouvait pas en mettre un 2ème dans la même section, mais je vais rééssayer en mettant en plus de l’url du flux, l’entité de la caméra.
Merci!
C’est bien ce que j’avais déjà essayé: quand j’ajoute : ‹ media_content_id: c6n_f34174681 › j’ai l’erreur : « duplicated maping key ». Quand je supprime: 'media_content_id: rtsp://, et que je laisse ‹ media_content_id: c6n_f34174681 ›, dans les logs j’ai de nouveau les erreurs précédentes:
2023-11-14 11:53:35.962 ERROR (MainThread) [homeassistant.components.automation.automation_0] automation 0: Error executing script. Invalid data for call_service at pos 1: extra keys not allowed @ data['media_content_type']
2023-11-14 11:53:35.967 ERROR (MainThread) [homeassistant.components.automation.automation_0] Error while executing automation automation.automation_0: extra keys not allowed @ data['media_content_type']
J’ai soumis le problème à ChatGPT, et l’IA également commence à tourner en rond en me donnant une fois le code yaml avec l’url de rtsp et une fois avec l’entité de la camera, puis recommence inlassablement.
Il ne me manque que cette ligne de code pour finaliser mon streaming, mais là je bloque.
Vire ces lignes, pas besoin, comme pas reconnu dans le service
camera.play_stream
service: camera.play_stream
data:
format: hls # si besoin !
media_player: le Media Player concerné pour la visu
target:
entity_id: la caméra que l'on veut voir sur le Player
action:
service: camera.play_stream
target:
entity_id: camera.c6n_f34174681
data:
media_player: media_player.freebox_player_mini_v2_3
Super, ça marche, merci!
J’ai d’abord copié ton code yaml, en remplaçant par mes paramètres, mais rien ne s’est passé et j’avais des erreurs dans les logs. J’ai supprimé la partie « hls » du code et là, bingo, le flux est envoyé au lecteur freebox avec une latence réduite à 2 secondes, voici le code complet qui fonctionne:
description: "Flux RTSP camera Ezviz --> lecteur freebox"
mode: single
trigger:
- platform: device
type: changed_states
device_id: 4b1f25ef32536a3781bf09fa14568562 # camera Ezviz c6n
entity_id: 6ef5fe9b26abeb724239ed593e50f4a4 # entite (chgt etat eclairage): c6n_f34174681_light
domain: switch
condition: []
action:
service: camera.play_stream
target:
entity_id: camera.c6n_f34174681
data:
media_player: media_player.freebox_player_mini_v2_3
Par contre, ce que je ne comprends pas, c’est que ça puisse fonctionner en RTSP, alors que je n’ai pas mentionné l’url du flux RTSP dans le code yaml.
En tout cas, merci encore, ça faisait 10 jours que je m’arrachai les cheveux et j’étais prêt à abandonner.
OK…
Si tu mets pas la partie
format: hls
Elle est automatiquement mise par défaut sur « hls » !
Pour la partie Stream voir les infos