video par mail
video par mail
Bonjour,
J'ai un RPi avec Domoticz opérationnel, et une cam IP installée et configurée aussi.
Via blocky jusqu'ici je me contentais de mettre l'interrupteur virtuel de la cam sur "on" lorsque le capteur d'ouverture de porte indiquait une ouverture, ce qui avait pour effet de m'envoyer le snapshot par email.
Je me demandais si il était possible de faire quelque chose de similaire avec un vidéo plutôt que du snapshot.
J'ai lu ici et là des choses sur motion, mais ça ne semble pas me concerner car mon objectif n'est pas de détecter un mouvement, mais simplement d'enregistrer une séquence vidéo de quelques secondes et me l'envoyer par email sur ordre du contact de porte.
Est-ce possible et si oui comment m'y prendre ?
J'ai un RPi avec Domoticz opérationnel, et une cam IP installée et configurée aussi.
Via blocky jusqu'ici je me contentais de mettre l'interrupteur virtuel de la cam sur "on" lorsque le capteur d'ouverture de porte indiquait une ouverture, ce qui avait pour effet de m'envoyer le snapshot par email.
Je me demandais si il était possible de faire quelque chose de similaire avec un vidéo plutôt que du snapshot.
J'ai lu ici et là des choses sur motion, mais ça ne semble pas me concerner car mon objectif n'est pas de détecter un mouvement, mais simplement d'enregistrer une séquence vidéo de quelques secondes et me l'envoyer par email sur ordre du contact de porte.
Est-ce possible et si oui comment m'y prendre ?
Re: video par mail
serais-ce impossible ?
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: video par mail
salut,
il faudrait déjà savoir si tu peux ordonner à ta caméra de faire une brève capture vidéo..
puis faire un script pour joindre ce fichier au mail..
il faudrait déjà savoir si tu peux ordonner à ta caméra de faire une brève capture vidéo..
puis faire un script pour joindre ce fichier au mail..
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: video par mail
J'ai une caméra Heden VisionCam Cloud V2.4.
Actuellement, dans Domoticz j'ai créé une caméra basée sur cette url :
http://[adresse.IP.cam]:port/snapshot.cgi
Quand je clique sur "Stream Video" j'ai bien le live.
Elle n'a pas de fonction d'enregistrement autonome. C'est la raison pour laquelle je pensais utiliser le live stream et que domoticz enregistre la séquence puis l'envoie par email.
J'ai essayé ces autres url à priori adaptées mais elles n'affichent rien quand je crée le device dans domoticz :
http://[adresse.IP.cam]:port/video.cgi
http://[adresse.IP.cam]:port/live.htm
Donc en restant sur la base de l'url "snapshot.cgi", Domoticz peut-il directement ou via un plugin être sollicité via un switch qui démarrerait un enregistrement du stream vidéo d'une minute par exemple, puis l'envoyer par email ?
Actuellement, dans Domoticz j'ai créé une caméra basée sur cette url :
http://[adresse.IP.cam]:port/snapshot.cgi
Quand je clique sur "Stream Video" j'ai bien le live.
Elle n'a pas de fonction d'enregistrement autonome. C'est la raison pour laquelle je pensais utiliser le live stream et que domoticz enregistre la séquence puis l'envoie par email.
J'ai essayé ces autres url à priori adaptées mais elles n'affichent rien quand je crée le device dans domoticz :
http://[adresse.IP.cam]:port/video.cgi
http://[adresse.IP.cam]:port/live.htm
Donc en restant sur la base de l'url "snapshot.cgi", Domoticz peut-il directement ou via un plugin être sollicité via un switch qui démarrerait un enregistrement du stream vidéo d'une minute par exemple, puis l'envoyer par email ?
Re: video par mail
Bonsoir
Chez Heden on a aussi des flux comme cela
a tester peut être
Chez Heden on a aussi des flux comme cela
tiré de https://www.justegeek.fr/gerer-camera-heden-zoneminder/Pour ma cam Heden, le chemin du stream se présente de la manière suivante :
/videostream.cgi?user=zm&pwd=lJuyh5DwZ41&resolution=32&rate=0
Dans ce chemin, on a user et pwd qui correspondent aux informations d'authentification de la caméra (à ne aps confondre avec les informations d'authentification de ZoneMinder que je viens de citer plus haut). Le paramètre résolution=32 correspond à une résolution de 640x480 (soit la résolution maximale supportée par ma caméra Heden). Enfin, le paramètre rate correspond au frame rate, c'est à dire à la fréquence d'images. La valeur 0 correspond au frame rate maximum, 1 correspond à 20 images par secondes (fps), 3 à 15fps, 6 à 10fps...
D'autres réglages sont accessibles sous cet onglet, comme par exemple, le réglage de la couleur, la rotation de l'image etc. L'onglet suivant permet enfin de modifier le format d'horodatage...
a tester peut être
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Objectif : WAF > 1
Re: video par mail
Via domoticz, je ne sais pas après j'ai bien une idée mais ça t'entraîne assez loin, je ne sais pas si tu maîtrises le scripting.
La première chose est de pouvoir "enregistrer" ton flux vidéo. Le flux qu'indique patrice tu peux le transformer en fichier via un utilitaire comme avconv (package libav-tools sous linux) ou ffmpeg. Il faut chercher des tutos mais cet outil va te permettre d'écrire ton flux vidéo dans un fichier. Quelque chose comme ça avconv -i <source http video> -t 60 videoOut.mp4 (a voir pour les options, ça peut être chaud en vidéo). Si tu te lances, fais des essais, c'est pas toujours immédiat de trouver les bonnes options encore que tu peux apparemment avec ta caméra en régler "a la source" (framerate, résolution ... en paramètre de l'url du stream).
Autre difficulté, pouvoir envoyer un email a partir du pi (ou linux) via un simple shell d'une machine qui n'est pas un serveur mais un pi "maison". La technique est décrite dans ce post par exemple: http://blog.hotfirenet.com/envoyer-mail ... pberry-pi/ avec ssmtp. Tu vas pouvoir envoyer des mails en utilisant un compte "externe" en utilisant l'accès smtp de ton mail google, orange, free ...
Enfin, je sors ma carte secrète, tu peux installer cet outil: http://caspian.dotconf.net/menu/Software/SendEmail/ que j'ai utilisé professionnellement, un script perl qui te permettra d'envoyer des mails confortablement avec pièces attachées.
Partant de là, tu peux écrire un script qui extraie quelques secondes de vidéo et envoie un mail avec l'extrait attaché. Tu n'as plus qu'a lier ce script via domoticz a l'événement qui t'intéresse.
J'ai hésité a poster car ça demande du temps en développement pour assembler tout ça mais je me suis dit que dans tous les cas les idées et les liens pouvaient intéresser d'autres personnes du forum.
La première chose est de pouvoir "enregistrer" ton flux vidéo. Le flux qu'indique patrice tu peux le transformer en fichier via un utilitaire comme avconv (package libav-tools sous linux) ou ffmpeg. Il faut chercher des tutos mais cet outil va te permettre d'écrire ton flux vidéo dans un fichier. Quelque chose comme ça avconv -i <source http video> -t 60 videoOut.mp4 (a voir pour les options, ça peut être chaud en vidéo). Si tu te lances, fais des essais, c'est pas toujours immédiat de trouver les bonnes options encore que tu peux apparemment avec ta caméra en régler "a la source" (framerate, résolution ... en paramètre de l'url du stream).
Autre difficulté, pouvoir envoyer un email a partir du pi (ou linux) via un simple shell d'une machine qui n'est pas un serveur mais un pi "maison". La technique est décrite dans ce post par exemple: http://blog.hotfirenet.com/envoyer-mail ... pberry-pi/ avec ssmtp. Tu vas pouvoir envoyer des mails en utilisant un compte "externe" en utilisant l'accès smtp de ton mail google, orange, free ...
Enfin, je sors ma carte secrète, tu peux installer cet outil: http://caspian.dotconf.net/menu/Software/SendEmail/ que j'ai utilisé professionnellement, un script perl qui te permettra d'envoyer des mails confortablement avec pièces attachées.
Partant de là, tu peux écrire un script qui extraie quelques secondes de vidéo et envoie un mail avec l'extrait attaché. Tu n'as plus qu'a lier ce script via domoticz a l'événement qui t'intéresse.
J'ai hésité a poster car ça demande du temps en développement pour assembler tout ça mais je me suis dit que dans tous les cas les idées et les liens pouvaient intéresser d'autres personnes du forum.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Re: video par mail
Bingo ! Tu as bien fait de partager cette piste, tu viens de me donner un superbe os à ronger ! lol
Je suis à l'aise côté linux et shell script. Y'a que sur la partie lua ou je suis total noob.
Je m'y colle dès que j'ai un peu de temps sur les prochains jours et en cas de succès je ne manquerai pas de détailler ici en retour, ou solliciter de l'aide en cas de blocage...
Je suis à l'aise côté linux et shell script. Y'a que sur la partie lua ou je suis total noob.
Je m'y colle dès que j'ai un peu de temps sur les prochains jours et en cas de succès je ne manquerai pas de détailler ici en retour, ou solliciter de l'aide en cas de blocage...
Re: video par mail
Ok, bon courage. Quelques éléments supplémentaires alorskassor a écrit :Bingo ! Tu as bien fait de partager cette piste, tu viens de me donner un superbe os à ronger ! lol ...
Pour ssmtp, on configure un accès smtp qui est habituellement celui d'un de tes comptes email. Si tu as déjà configuré un client "lourd" mail type thunderbird, tu connais les paramètres: host, port, user/pass + sécurité ssl/tls oui/non. En regardant le tuto, le gars montre un compte gmail. Fais des essais avec des mails simples -> echo "Corps du mail" | mail -s "Titre" <email> déjà (avec deux comptes mails différents).
Pour la vidéo, tu peux avoir a chercher un compromis taille du fichier/qualité - performance (du pi qui doit encoder). Le mp4 sera le plus compact mais le plus difficile a encoder, le + rapide sera la simple copie (sans reencodage) du format qui sort de ta caméra mais c'est probablement du TS/mpeg, ça prend beaucoup de place. Tu dois avoir intérêt a simplifier le flux d'entrée (calculs coté caméra, pas du pi).
Au delà de ton besoin sache que avconv ou ffmpeg (selon distrib) sont de vrais couteaux suisses de l'audio/vidéo même si un peu barbares coté options (codecs, bit rate ... -> chercher des tutos
Tiens nous au courant.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Re: video par mail
Hello !
J'ai mis le temps, mais j'ai finalement trouvé un peu de temps libre pour me repencher sur cette histoire de video par email.
J'ai obtenu un résultat pas trop mal, en tout cas ça répond à mon besoin initial et comme promis je viens partager l'expérience.
Dans les grandes lignes :
J'ai eu aussi quelques soucis que je ne pourrai apparemment pas résoudre sans changer de camera IP : étant en MJPEG, l'enregistrement se fait pendant environ une minute et est concentrée sur les 10s que je demande sur le paramètre -t de ffmpeg, ce qui donne à la lecture une vidéo façon bennyhill (accéléré) car en fait ffmpeg ne se base pas sur la durée de la vidéo demandée mais sur le nombre de frames reçues et comme le mjpeg ne communique pas de time stamp, ça fout le bordel quoi. donc malgré tous mes essais de paramétrage, je n'ai pas réussi à obtenir une vidéo à vitesse normale sur la durée désirée.
A noter également que ffmpeg est plutôt gourmand en ressources (entre 50 et 60% de cpu) quand un enregistrement est lancé, donc si votre box domoticz est déjà sur les genoux, ça va pas lui faire du bien.
Voilà tout. En espérant que ça puisse servir à certains
J'ai mis le temps, mais j'ai finalement trouvé un peu de temps libre pour me repencher sur cette histoire de video par email.
J'ai obtenu un résultat pas trop mal, en tout cas ça répond à mon besoin initial et comme promis je viens partager l'expérience.
Dans les grandes lignes :
- j'ai installé ffmpeg (pour la capture du stream video)
- puis mailutils et mutt (pour l'envoi du fichier video par email) et effectué quelques paramétrages et tests sur cet aspect
- j'ai créé un script shell avec les lignes suivantes :
Code : Tout sélectionner
#!/bin/sh # script de capture de video # enregistrement du flux video dans un fichier /usr/bin/ffmpeg -f mjpeg -probesize 32 -analyzeduration 0 -i "http://192.168.0.XXX:XXXX/videostream.cgi?user=XXXXXXXX&pwd=XXXXXXXX&resolution=32&rate=0" -t 10 -r 25 -s vga -an -y /tmp/cam_record.avi # envoi du fichier video par email sudo /usr/bin/mutt -s "capture video intrusion" -a /tmp/cam_record.avi -- XXXXXXXX@gmail.com </dev/null - j'ai créé un switch virtuel qui exécute sur "action on" mon scrip shell : script:///root/scripts/video_record.sh (j'ai également mis un délai d'extinction de 1s sur ce switch)
- et enfin j'ai créé un événement blocky qui : lors de la détection de l'ouverture de la porte via le capteur concerné, active le switch de déclenchement du script qui va enregistrer et m'envoyer la video par email.
J'ai eu aussi quelques soucis que je ne pourrai apparemment pas résoudre sans changer de camera IP : étant en MJPEG, l'enregistrement se fait pendant environ une minute et est concentrée sur les 10s que je demande sur le paramètre -t de ffmpeg, ce qui donne à la lecture une vidéo façon bennyhill (accéléré) car en fait ffmpeg ne se base pas sur la durée de la vidéo demandée mais sur le nombre de frames reçues et comme le mjpeg ne communique pas de time stamp, ça fout le bordel quoi. donc malgré tous mes essais de paramétrage, je n'ai pas réussi à obtenir une vidéo à vitesse normale sur la durée désirée.
A noter également que ffmpeg est plutôt gourmand en ressources (entre 50 et 60% de cpu) quand un enregistrement est lancé, donc si votre box domoticz est déjà sur les genoux, ça va pas lui faire du bien.
Voilà tout. En espérant que ça puisse servir à certains
-
Hamtaro06
Re: video par mail
Salut, merci d'avoir partagé ton expérience, ca va m etre utile pour mon portailkassor a écrit : A noter également que ffmpeg est plutôt gourmand en ressources (entre 50 et 60% de cpu) quand un enregistrement est lancé, donc si votre box domoticz est déjà sur les genoux, ça va pas lui faire du bien.
Juste une chose, tu dis que ca bouffe 50-60% de CPU mais avec quelle machine ? Un Raspberry Pi 3 ?
Penses tu qu'il vaut mieux sur un mini PC de type clé USB ?