Problèmes d'exécution du script python à partir d'un mouvement

J'essaye de mettre en place le raspberry pi avec ma webcam comme une motion detection cctv qui télécharge les videos sur Google Drive en utilisant le script de Jeremy Blythe

J'ai le mouvement fonctionnant correctement et le script python s'exécute quand je le teste du terminal.

Cependant, le script ne s'exécute pas lorsque je l'ajoute à l'option on_movie_end dans motion.conf.

Le script que j'utilise dans le file est

On_Movie_End /etc/motion/uploader.py /etc/motion/uploader.cfg %f 

J'ai également essayé d'get le on_movie_end pour exécuter un script bash qui exécute le script python et cela ne fonctionne pas non plus. Je suis nouveau sur linux bien que pas tout à fait sûr que je l'ai correct.

Le script est:

 #!/bin/bash VIDEO=$1 /etc/motion/uploader.py /etc/motion/uploader.cfg VIDEO 

Dans motion.conf /etc/motion/uploaderscript.sh% f

Vérifiez les points suivants:

  1. Tous les exemples que j'ai vus utilisent on_movie_end au lieu de On_Movie_End . Essayez donc d'utiliser la version minuscule en premier.

  2. Vérifiez si les deux scripts ont l'autorisation d'exécution. Sinon, ajoutez-le:

     sudo chmod +x /etc/motion/uploader.py sudo chmod +x /etc/motion/uploaderscript.sh 
  3. Redirigez le stderr du script python vers un file. Cela peut aider à attraper une erreur. Editez le file .sh pour le faire correspondre (notez le $VIDEO : c'est la bonne façon de referencer une variable dans bash):

     #!/bin/bash VIDEO=$1 /etc/motion/uploader.py /etc/motion/uploader.cfg $VIDEO &> /tmp/on_movie_end.log 

Je n'ai toujours pas réussi à comprendre comment jouer un script python à partir d'un mouvement. Au lieu de cela, je viens d'exécuter un script bash qui crée un file text. Au démarrage, le script python actuel exécute une boucle while, vérifie si le file text existe et exécute le rest du script une fois qu'il le fait.

Cette configuration fonctionne pour moi:

 on_movie_end /usr/bin/python /home/myuser/Scripts/MyScript.py 

Bien sûr, le script doit avoir les permissions correctes pour être exécuté par le process de mouvement. Plus de détails sur la configuration peuvent être trouvés dans les documents Motion:

https://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions