Ambiance feu de cheminée [Résolu]

Bonjour a toutes et a tous.
Voila, j’ai un petit projet perso qui me donne beaucoup de complication car je ne m’y connais pas beaucoup en programmation.
En quelques mots, j’aimerais pouvoir, au démarrage du raspberry pi, lancer une vidéo de feu de cheminée en pleine ecran et pouvoir arreter la diffusion de la vidéo, en appuyant sur une touche du clavier, quand bon me semble sans même passer par du SSH.
J’ai donc, via quelques « tuto », pu mettre la vidéo au lancement automatique au démarrage, mais le principal probleme que je rencontre est le suivant : impossible de reprendre le contrôle du raspberry. J’ai beau appuyé sur toutes les touches du clavier branché en bluetooth, rien y fait. La seule solution pour moi et de passer via le SSH et de demander un sudo shotdown now car même un kill (numéro du process) n’y fait rien. la vidéo ce coupe, pour ce relancer juste après.

Voici les différent scripts que j’ai réalisé via les tuto trouvé sur internet :
Script de lancement video:

trap exit SIGINT
#!/bin/sh


# On efface le curseur de la souris de l'écran
setterm -cursor off

# On définit le chemin de stockage des vidéos
VIDEOPATH="/home/pi/Videos"

# On définit le service à utiliser, ici OMXPLAYER
SERVICE="omxplayer"

# On scanne en boucle le dossier
while true; do
        if ps ax | grep -v grep | grep $SERVICE > /dev/null
        then
        # le script plante parfois si la pause n'est pas assez longue
        sleep 100; 
else
        for entry in $VIDEOPATH/*
        do
                clear
                omxplayer $entry > /dev/null
        done
fi
done

J’ai ensuite crée le dossier « autostart » a cet endtoit : /home/pi/.config/ pour y ajouté ce fichier « video.desktop »

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=/home/pi/start.sh
Terminal=false
Name= Videos Autostart
Comment=Démarrage automatique de la playlist de videos
Categorie=Application;Development;

J’utilise un raspberry pi B+ avec raspbian et j’ai une trés faible connaissances en programmation.
Donc si vous avez une solution a mon problème, ce serais vraiment cool. Merci d’avance.

Salut ,javais déjà corriger ici un code du même type(sa doit être la même basses que tu a pris ) , mais je crois qu’on avait finit la correction en privé ,je te referai une correction plus tard car pas trop le temps se soir ,en plus si je dis pas de connerie OMXPLAYER peux gérer lui meme la lecturer en boucle (plein de player le fond )

enfin bref vu tu utilise un Signal (trap exit SIGINT)

il te suffit normalement de tuer le processus avec Ctrl+C c’est tous l’intérêt du signal piégé .

mais c’est pas très optimiser tous sa mdr mais sa dépanne

Même avec Ctrl+C ça ne fait rien avec le script actuel. Si avec ton correctif, ça règle le problème, je suis preneur. que ce soit conventionnelle ou non. :wink:
En tout cas merci pour ta réponse.

Salut ,dans un premier temps désolé du retard
ensuite [quote=« Robinson, post:3, topic:1579 »]
que ce soit conventionnelle ou non
[/quote]

justement c’est un peu plus best pratrice ,donc plus conventionnel
j’ai tester moi meme le script et il fonctionne avec possibiliter de sortir :wink:

on va garder le autostart et le start.sh mais on va les modifier

donc déja dans un premier temps avant de bien commencer donne mois le chemin + le nom et l’extension de ton fichier en gros exemple.mp4

ton chemin si j’ai bien suivi c’est /home/pi/Videos par contre j’ai pas le nom du fichier sinon je te poste direct mes script et tu modifie toit meme le nom de ton fichier vidéo .

mon fichier s’appelle exemple.mp4

voici le start.sh il tient sur 2 ligne (efface le contenu du tient par celui la )

trap exit SIGINT
omxplayer --no-osd --loop /home/pi/Videos/exemple.mp4

Explication:
la premier ligne c’est le piège la 2 éme c’est le lancement de Omx player sans le timer avec l’option --no-osd ,ensuite on fait tourner la vidéo en boucle avec l’option --loop

donc a se stade la, on a déja une lecture infini qui fera pas chier comme ta boucle infini ton while true; parsque tout est gérer par omx player niveau optimisation on fait pas mieux

ensuite passons a ton video.desktop suprime le contenu est remplace le par sa

[Desktop Entry]
Type=Application
Name=Video autostart
Exec=lxterminal -e /home/pi/start.sh

explication on l’oblige à ouvrir un terminal pour lancer le script se qui fait que le signit sera actif

Voila dis mois si sa marche ou si tu a d’autre question :wink:

Bonsoir jojo.

Après avoir fait les quelques modifs, j’ai testé et ho miracle, ça fonctionne sans problème. Du coup, un grand merci a toi pour ton aide.

Maintenant que cela fonctionne, je vais me penser sur un lancement « automatique a distance » pour que, quand je rentre chez moi, il y est un petit feu de cheminée qui soit allumé. ^^

Une bien bonne soirée a toi et encore merci pour tout.
Cordialement.

Oui car le script que tu avais chopé était pour plusieur vidéo ,mais trés mal pensée et incohérent ,c’est mon avis et je vais m’expliquer avant de critiquer

déja on va commencer par celui qui démare en 1er le [quote=« Robinson, post:1, topic:1579 »]
video.desktop"
[/quote]

celui si désactive le terminal

ce qui est complètement con car si tu à pas de lancement au terminal du script ,comment tu veux que le trap SIGINT (le piége de signal) puisse fonctionner car la au lancement du start.sh celui est lancer comme un processus isoler ,donc le piége ne peux pas s’activer , et a savoir que l’avantage d’utiliser autostart au lieux de rc.local (qui est le script de basse pour lancer des script au démarrage ) est que avec un autostart on peux configurer la facon dont se lance le script ,

Oui c’est possible aussi avec rc.local a condition d’avoir un script qui défini la façon de lancer le script suivant se qui fait une étapes en plus

pour faire un schéma voila se que sa donnerai avec ton start.sh
rc.local>script avec les parémetre >start.sh
et avec autostart
autostart+les paramétre>script

en faite ton video.desktop était mal écrit et justement pas conventionnel

ensuite parlons du start.sh
le premier défault c’est quil souffre déja de la connerie du video.desktop

mais il y aussi la boucle infini

bon ok, celle si permet de scanner le dossier a l’infini se qui fait que si on rajoute un fichier il prendra en compte ,alors qui tourne se qui fait qu’on a pas besoin de stopper le processus,
mais la boucle infini c’est un peu le piéges a cons ,d’ailleurs c’est assez controverser dans le développement on laisse toujours une porte de sortie ,je parle des boucle infini qui sont bloqué comme celle si hein ,car sinon oui c’est utile et meme obligatoire dans certain cas .

voila en gros se que je pensait de la façon de faire, mais je critique pas le script c’est quand meme bien que certain fournisse des solution pour ceux qui ne save pas développer mais il faut toujours adapter à sa situation ,

en tous cas n’hésite pas si tu a des question ou que tu veux qu’elle que amélioration :wink:

du coup C quoi la commande

Mec, lis le post et je suis sur que tu trouvera par toi même. je crois en toi. Si vraiment tu ne trouve pas. je ne peux rien d’autre pour toi.

Bonjour
Je relance un peu ce sujet car j’ai la meme problématique .
J’arrive bien, grace au script de JOJO , à lire une video en boucle et ce dès le démarrage.
Mais comment faire pour lire plusieurs video a la suite …et en boucle ?
là je sèche.
je triche en créant un seul fichier de toutes mes videos mais ce n’est qu’une solution temporaire et pas très fun du tout :wink:
Si quelqu’un à été confronter à ce soucis et a une solution je suis preneur.
Merci d’avance