Intégration d'un flux video WebcamIP ESP32-cam ESPhome sou forme de flux http

tiens…ca va faire marrer sur le forum… : preuve :

Bon…je vais peut etre devenir raisonnable et essayer d’enregistrer uniquement sur mouvement…

Frigate j’ai essayé en 1er, ca marchait pas…

Si c’est pour montrer que ça ne marche pas… C’est réussi :joy:

1 « J'aime »

lol il fait nuit ici…3h de + qu’en métropôle :wink: d’ou 7 cam en noir…mais ca fonctionne…si j’arrete d’enregistrer les 15 flux en même temps lol

Bon j’arrete de te prendre du temps, merci pour ton aide, je vais peut etre investir dans un système de vidéo surveillance à l’ancienne…avec des cables coaxiaux et cameras analogiques… :joy: :joy: :joy:

Sérieusement y a des enregistreux plus sérieux qu’un Rpi4 peut etre?

Il faut un coral pour en tirer vraiment profit.
Ca bouge vitesse grand V de ce côté là.
Qu’est ce qui ne marchait pas?

Certes, mais enregistrer 12h de nuit et donc de flux tout noit, à part pour écrire des trucs sur ton SSD, c’est pas forcément indispensable…

Je n’ai pas réussi à intégrer les Esp32Cam…mais c’était mon 1er choix…

Il manque les Leds infrarouges sur mes Esp32Cam lol, j’en ai que sur les Rpi0W avec motion eye…pour l’instant

J’ai un Qnap TS-453-D sinon…avec 8Go de Ram…mais je crois que les licences sont payantes pour l’équivalent de Surveillance Station sur Syno.
C’est plus puissant qu’un Rpi4 :joy:

Google Coral Accelerator à 165€? sérieux?

Tu as des caméras à me conseiller sinon? parce que je connais que les TAPO de Tp-Link, enfin j’ai testé les Xiaomi HD 360° mais ca passe par le cloud, pas moyen de hacker, et le cloud ca me gave légèrement de leur donner des images et des conversations à l’intérieur de ma case…alors le cloud chinois…no comment

Bon pour finir,

1-j’ai réactivé les intégrations des 15 caméras dans Hassos ( esp32cam via EspHome, Tapo Tplink caméras via Tapo et mes Rpi0w via motion Eyes).
2-J’ai désactivé les entités « caméra » dans chaque intégration.
3-Mis à jour mes lovelace cards avec les entités caméras fournies par AgentDVR (intégration Agent sous HassOs) qui finissent toutes par « _2 » quand le nom est identique

et ca fonctionne bien! seule différence, mon NUC est passé à 7% CPU au lieu de 4 à 5%…donc 2 à 3% de plus, ca change pas des masses.

Reste à tester la détection de mouvements et l’enregistrement sur détection, si
1-ca fonctionne bien : c-a-d ca détecte bien.
2-ca enregistre bien et ca met pas la foire dans mon Wifi…

Je ferais un petit retour quand j’aurais bien testé quelques jours.

Merci @golfvert pour tes éléments de réflexions et ton analyse, et surtout le temps consacré!

Je suis sur le forum HA (anglais) depuis 3 ans, ca fait plaisir de voir que chez nous il y a une communauté Francophone de HomeAssistantistes :wink:

Longue vie a HACF!

Petit retour…ca marchait pas…même soucis de déconnexion wifi, même sans lancer d’enregistrement.

Je restais sur mon idée que le composant api: Esphome + Streaming faisait pas bon menage, donc j’ai viré le composant API: sur chaque config de cam sous EspHome et mis à la place mqtt: et la miracle! ca fonctionne, même en lancant l’enregistrement sur toutes les cam! soit 14. J’ai laissé 1 seule Cam en api: sous Esphome car j’utilise plusieurs services de HA dans la config de la cam, donc pas le choix, celle la ne passera pas par AgentDVR.

Ca fait 1h que j’enregistre la et aucune déconnexion…

Je précise que j’ai mis un canal différent sur mes 3 APs Ubiqi mais elles ne peuvent pas faire du multibande individuellement…dommage. Elles ont toujours eu le même SSID et mp. Ca a peut etre amélioré la bande passante.

Autre réglage fait, avec le composant esp32_camera_web_server: sous EspHome, j’avais le streaming en 8080 et le snapshot en 8081, j’ai supprimé le snapshot, ca a peut etre aidé un peu aussi.

Ces réglages la ont été fait avant de modifier l’ api: en mqtt: donc ca n’a pas résolu le soucis. C’est vraiment le fait d’enlever l’api: sous espHome, en faveur du mqtt: qui a solutioné le soucis.

Voila si ca peut en aider d’autres…ca évitera les galères gratuites et chronophages… :wink:

Et cerise sur le gâteau, les Esp32-Cam sont maintenant entre 3 et 5 FPS alors que sous HA elles étaient entre 0.5 et 1 FPS max…sacré différence. On gagne en fluidité et confort d’utilisation donc! pas négligeable. Idem pour la latence, on est tombé en dessous de 2s voir 1s, alors qu’avant il y avait 3 à 4s de latence. Ça ça ne me dérange pas cela dit.

Enfin, bref, l’essentiel c’est que ca tourne…

Sinon je suis tombé sur un post pour configurer correctement une ESP32-cam sur Frigate… : https://github.com/blakeblackshear/frigate/issues/2277

Si jamais ma config déconne, je vais essayer Frigate du coup…pour l’instant ca fonctionne…il faut juste que je mette en place la détection pour arreter d’enregistrer 24/7.

@+

Bonsoir Olivier974

tu pourrais STP donner le fichier YAML utilisé pour la programmation de tes cameras
ainsi qu’un extrait du fichier frigate.yml
je cherche a faire plus ou moins la même chose que toi avec des ESPCAM et FRIGATE
mais sincèrement je sèche

Merci d’avance pour ton retour

Bonsoir
Pour récupérer le flux de l esp 32 diy cam
J ai essayé tous ca issue du site

rtsp://192.168.1.xx:554/video.h264
rtsp://192.168.1.xx:554/videostream.asf
http://admin:admin@192.168.1.xx:80/
http://admin:admin@192.168.1.xx:81/cam.mjpeg
http://admin:admin@192.168.1.xx:81/flux
http://admin:admin@192.168.1.xx/?action=flux
http://admin:admin@192.168.1.xx:80/boeuf mort
http://192.1681.xx:xx/cam.mjpeg

Y a rien qui marche

Bonjour
Je n’ai pas réussi à récupérer le flux de mon esp 32
Pourriez vous me conseiller ?
Merci

Bonsoir

On m’a conseillé

Mais je ne vois pas trop comment faire ?

Bonsoir

Voici par exemple le « code » utilisé pour mes cameras

esphome:
  name: espcam
  platform: ESP32
  board: esp32cam

wifi:
  networks:

  - ssid: topsecret
    password: ultratopsecret

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Espcam  Fallback Hotspot"
    password: fallbackpassword

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
switch:
  - platform: restart
    name: "Espcam reboot"
time:
  - platform: sntp
    id: sntp_time
    timezone: Europe/Paris

web_server:
  port: 80

binary_sensor:
  - platform: status
    name: "Espcam Status"

sensor:
  - platform: uptime
    id: uptime_seconds
    name: "Uptime Sensor"
    update_interval: 60s
    unit_of_measurement: s
    accuracy_decimals: 0
    force_update: false
    icon: mdi:timer
    internal: True  # Hide to HA
  - platform: wifi_signal
    name: "EspCam  WiFi Signal Sensor"
    update_interval: 60s

text_sensor:
  - platform: template
    name: espcam Uptime
    update_interval: 60s
    icon: mdi:clock-start
    lambda: |-
      int seconds = (id(uptime_seconds).state);
      int days = seconds / (24 * 3600);
      seconds = seconds % (24 * 3600);
      int hours = seconds / 3600;
      seconds = seconds % 3600;
      int minutes = seconds /  60;
      seconds = seconds % 60;
      if ( days ) {
        return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
      } else if ( hours ) {
        return { (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
      } else if ( minutes ) {
        return { (String(minutes) +"m "+ String(seconds) +"s").c_str() };
      } else {
        return { (String(seconds) +"s").c_str() };
      }


esp32_camera:
  name: ESPCam
  external_clock:
    pin: GPIO0
    frequency: 20MHz
  i2c_pins:
    sda: GPIO26
    scl: GPIO27
  data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
  vsync_pin: GPIO25
  href_pin: GPIO23
  pixel_clock_pin: GPIO22
  power_down_pin: GPIO32
  test_pattern: false
  vertical_flip: false
  horizontal_mirror: true
  resolution: 640x480
  max_framerate: 10 fps
  idle_framerate: 0.1 fps
  
output:
  # Register the  LED as a dimmable output ....
  - platform: ledc
    id: cam_led
    pin: GPIO4
    channel: 2
    inverted: false

light: 
  # ... and then make a light out of it.
  - platform: monochromatic
    name: "Espcam  LED"
    output: cam_led

esp32_camera_web_server:
  - port: 8080
    mode: stream

tout est dans les trois dernières lignes
Attention une partie du code n’est valable que pour les cameras ai thinker, a adapter en fonction de ton module ESP camera
voir ESPHOME
normalement tout est décrit en fonction de chaque type de camera

bonne soirée

Merci beaucoup jrvrcd

Je m’excuse pour mon ignorance, ou faut il écrire ce code -le configuration.yaml ?
Mickaël

Salut,

En fait ce qu’il a partagé ce n’est pas du Yaml pour le config de HA.
C’est pour faire un firmware pour ton esp32cam avec l’add-on EspHome.

Ok
Mais y a pas moyen de récupérer le flux sans reprogrammer ?

Ca dépend du firmware que tu as dessus…
Je suppose que tu as dessus le firmware de démo de base CameraWebServer, dont l’interface web ressemble à l’exemple ci-dessous.

Je ne crois pas que celui-ci fournisse une URL qui permette de streamer ou de récupérer l’image seulement, j’avais déjà cherché mais rien trouvé.
D’ailleurs dans le sketch sur arduino ça doit se voir que le serveur web ne répond que à un GET sur / et rien d’autre.

Il faut soit un firmware qui implémente un mini serveur RTSP ou MJpeg, soit un EspHome.
Ensuite faut savoir que ces caméras sont sensibles à la qualité de l’alimentation pour que l’image soit jolie. Et lui en demander de trop en résolution ou en images/sec les font vite galérer.

image