Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] lancer mjp-streamer par un script shell
#1
bonjour,
sur Pi2 avec wheezy
j'ai installé mjpg-streamer
avec la source "mjpg-streamer.tar.gz
ce qui a créé le répertoire /home/pi/mjpg-streamer/mjpg-streamer
(nota : je n'ai pas réussi à installer mjpg-streamer avec la source mjpg-streamer-code-182.zip
ni non plus avec la source mjpg-streamer-r63.tar.gz)
-----
je peux lancer le streaming en me plaçant dans le répertoire ci-dessus /home/pi/mjpg-streamer/mjpg-streamer
et en tapant la ligne suivante :
Code :
./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y f 15 -r 640x480" -o "./output_http.so -n -w /usr/local/www"
------
mon objet est d'écrire un shell pour lancer mjpg-streamer sans taper à chaque fois cette ligne
------
et comme j'ai aussi un Pi3 avec jessie
sur lequel mjpg-streamer est installlé avec la source mjpg-streamer-code-182.zip
et qui fonctionne bien
avec le script  suivant :
script_1_sur_le_Pi3
Code :
raspistill --nopreview -w 1280 -h 720 -q 75 -o /tmp/stream/pic.jpg -tl 1000 -t 300000 -th 0:0:0 -n > /dev/null 2>$
 echo "raspistill démarré"

LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_file.so -f /tmp/stream -n pic.jpg" -o "output_http.so -p 8$
    echo "mjpg_streamer started"
-----
j'ai essaye de transposer ce script dans le pi2
mais ça ne marche pas
j'ai écrit sur le Pi2 et  placé dans le répertoire "/home/pi"
script_2_sur_le_Pi2
Code :
raspistill --nopreview -w 1280 -h 720 -q 75 -o /tmp/stream/pic.jpg -tl 1000 -t 300$
echo "raspistill démarré"

cd /home/pi2/mjpg-streamer/mjpg-streamer
./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y f 15 -r 640x480" -o "./output_$
 echo "mjpg_streamer started"
--------------------------------------------------------------------------------------------------------------------------------------
mais ça ne marche pas
j'obtiens l'erreur suivante :
Code :
demarrage de raspistill
MJPG Streamer Version: svn rev: Répertoire non versionné
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 5
 i: Format............: YUV
 i: JPEG Quality......: 80
 o: www-folder-path...: /usr/local/www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: disabled
Unable to start capture: Invalid argument
 i: Error grabbing frames
mjpg_streamer started
-----
je voudrais trouver ce qu'il faut faire
et comprendre où est l'erreur

merci de votre attention
Répondre
#2
Je ne comprends pas la source que tu donnes à mjpg-streamer, du moins pourquoi tu attaques directement la caméra et pas le fichier créé par raspistill...

Je remplacerai:
Code :
-i "./input_uvc.so -d /dev/video0 -n -y f 15 -r 640x480
par:
Code :
-i "input_file.so -f /tmp/stream -n pic.jpg"

Et d'ailleurs, quelle est l'erreur lorsque tu lances ton script qui fonctionne bien en RPi3 sur le 2 ?
Répondre
#3
Les copier/coller de nano gênent un peu vu qu'on a pas la fin des lignes.
Donne un chemin à ta commande mjpg_streamer:
Code :
LD_LIBRARY_PATH=/usr/local/lib
/home/pi/mjpg-streamer/mjpg_streamer/mjpg_streamer -i "input_file.so -f /tmp/stream -n pic.jpg" -o "output_http.so -p 8.......
echo "mjpg_streamer started"

D'une manière générale, il faut autant que possible indiquer les chemins complets dans les scripts, ça aide bien quand on les corrige et/ou quand on les utilise en cron.
Répondre
#4
bonjour,
excuses car je n'avais pas remarqué que les lignes étaient tronquées
j'enlève le [code]
-----
après modification = attaque du streaming sur l'image et non sur la caméra
ça marche
merci
Répondre
#5
bonjour,
j'ai ajouté au script_2
une ligne supplémentaire
Bash
export  LD_LIBRARY_PATH=


ce qui donne :
----------
Bash
cd /home/pi2/mjpg-streamer/mjpg-streamer
export  LD_LIBRARY_PATH=
./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y f 15 -r 640x480" -o "./output_http.so -n -w /usr/local/www/"


--------
réponse :
-----------
Code :
MJPG Streamer Version: svn rev: Répertoire non versionné
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 5
i: Format............: YUV
i: JPEG Quality......: 80
o: www-folder-path...: /usr/local/www/
o: HTTP TCP port.....: 8080
o: username:password.: disabled
o: commands..........: disabled
--------

et le streaming marche !
Répondre
#6
Je pense que tu n'as pas compris toutes les subtilités du bash et de ses raccourcis, ou de l'envoi en background.
Il faudrait que tu copies ton code complet tiré d'un bon éditeur ou d'un cat (et avec les balises code, ce ne sont pas elles qui posent souci), afin que je te montre ce qui va ou ne va pas.
Ton code fonctionne car tu le lances en étant connecté, si un crontab le lance, tu risques des surprises.
Répondre
#7
bonjour,
j'ai écrit le script_2 différemment afin de ne pas attaquer directement la caméra
--------
Bash
cd /home/pi2/mjpg-streamer/mjpg-streamer 
export LD_LIBRARY_PATH=/home/pi2/mjpg-streamer/mjpg-streamer
./mjpg_streamer -i "input_file.so -f /tmp/stream -n pic.jpg" -o "output_http.so -p $


--------
et ça marche aussi
voici le script en entier :
-----------
Bash
#!/bin/bash
raspistill --nopreview -w 640 -h 480 -q 50 -o /tmp/stream/pic.jpg -tl 1000 -t 300000 -th 0:0:0 -n > /dev/null 2>&1&
echo "demarrage de raspistill"
cd /home/pi2/mjpg-streamer/mjpg-streamer
export LD_LIBRARY_PATH=/home/pi2/mjpg-streamer/mjpg-streamer
./mjpg_streamer -i "input_file.so -f /tmp/stream -n pic.jpg" -o "output_http.so -p 8080 -w /usr/local/www" &
echo "mjpg_streamer started"
fi


Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)

A propos de Communauté francophone RPi

Communauté francophone RPi est un forum d'aide et de partage autour du Raspberry Pi et des micro-ordinateurs.