Lecture automatique de vidéos en boucle au démarrage – Suite

Bonjour,

Petit article de fin d’année suite à des essais et recherches en lien avec l’article précédent “Lecture automatique de vidéos en boucle au démarrage“.

L’idée est globalement la même :

  • Que le Raspberry Pi (ou le PC) lance automatiquement des vidéos dès le démarrage
  • En plein écran et en boucle.
  • En récupérant les vidéos dans un dossier distant.

Mais j’ai ajouté des paramètres :

  1. Utilisation de Raspbian Lite (ou un Système d’exploitation sans interface graphique)
  2. Pas d’erreur de montage du disque distant (source des vidéos) possible (sinon, on avait un écran noir)

Il faudra débuter par l’installation du système d’exploitation.

Dans le cas présent, j’ai utilisé Raspbian Stretch Lite du 13-11-2018, mais vous pouvez le faire avec une Debian sur un PC.
Je ne vais pas détailler l’installation, mais n’oubliez pas de lancer sudo raspi-config pour changer diverses choses comme passer en clavier Fr, modifier le mot de passe, activer le ssh, …

Création d’un dossier spécifique nommé “Partage” avec sudo mkdir /home/pi/Partage

Puis modification du programme de démarrage avec sudo nano /etc/rc.local pour ajouter la ligne sudo bash /home/pi/script-lecture-automatique.sh de cette façon :

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

sudo bash /home/pi/script-lecture-automatique.sh

exit 0

Il faut alors créer ce script avec sudo nano /home/pi/script-lecture-automatique.sh

Et on y insère

#!/bin/bash

sudo mount -t cifs -o username=XXXX,password=XXXX //192.168.0.14/partage/videos /home/pi/Partage; then

# 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/Partage"

# 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 -b $entry > /dev/null
        done
fi
done

(Évidemment, vous adapterez username=XXXX,password=XXXX ainsi que //192.168.0.14/partage/videos à vos besoins personnels ; par exemple, pour une FreeBox Revolution, ça sera sudo mount -t cifs -o guest //mafreebox.freebox.fr/'Disque dur' /home/pi/Partage -o vers=1.0 si vous avez laissé votre connexion smb à la FreeBox possible en mode invité)

sudo chmod +x /home/pi/script-lecture-automatique.sh

Après avoir installé une version Lite, nous sommes avec une version minimaliste donc pensez bien à installer OmxPlayer :
sudo apt-get install omxplayer
Sinon, ça ne va pas fonctionner 🙂

Par sécurité, vérifiez aussi que le réseau sera fonctionnel avec un sudo raspi-config pour dire au Rpi d’attendre le réseau pour finir le démarrage.
3 Boot Options
B2 Wait for Network at Boot
Would you like boot to wait until a network connection is established? <Oui>
Waiting for network on boot is enabled <Ok>
<Finish>

Et on redémarre avec sudo reboot

Nous sommes donc dorénavant en présence d’un appareil à démarrage rapide (là, je suis sur Rpi3B+) avec les vidéos en plein écran dès le démarrage.
En outre, il n’apparait qu’un écran noir complet entre les vidéos (durant à peine une seconde).

Bref, ça fonctionne et ça pourrait vous aider pour des séquence automatiques dans des magasins pour ne rien avoir à faire.

Bien évidemment, les vidéos pourraient être stockée dans le Raspberry Pi (ou ordi), mais dans le cas présent, l’idée de base était pour aider une personne qui a 7 couples écrans/Raspberry Pi donc autant gagner de l’espace en mettant les vidéos sur le réseau.

A vous !

Édit de 12h30 :
Je viens de faire l’installation faite sur un RpiZero V1.3 (pas besoin de wifi chez moi, j’ai donc la version sans wifi).
J’ai juste le RpiZero, une carte SD, un adaptateur USB vers RJ45 et c’est bon.
Au début, connexion d’un calvier pour la config puis retrait du clavier pour mettre le réseau via l’adaptateur et prise en main par SSH.
J’ai donc un lecteur vidéo autonome fonctionnel avec un Rpi à 5,22 euros.

Si vous cherchez une solution à bas coût, c’est c’est doute le meilleur résultat possible.
De plus, là, ça ne prend vraiment aucune place.
A noter que le Rpi Zéro avec Wifi est à 10,44 euros chez Kubii ; c’est encore très accessible.

A propos de Alban

Papa de 4 enfants étant lui même resté un enfant. Diététicien-Nutritionniste tombé par obligation dans l'informatique à 22 ans pour le boulot et s'étant "un peu" pris au jeu ... Pas un génie de l'informatique (loin de là), mais intéressé et carrément orienté Linux et entraide.

9 commentaires à propos de “Lecture automatique de vidéos en boucle au démarrage – Suite”

  1. Rétroliens : Installation de Raspbian Buster Lite – TREVILLY.COM

  2. Bonjour à vous.

    Alors tout d’abord merci infiniment pour toutes ces astuces ! J’essaye de mettre en place de l’affichage dynamique dans mon entreprise et votre tuto est parfait par rapport à mes connaissances de Linux 🙂

    Je me sers de FileZilla pour transmettre et enlever des vidéos du Raspberry, et ça communique très bien, j’ai dû supprimer la ligne du début de votre script-lecture-automatique.sh

    Cependant j’ai un souci: Au début, tout fonctionnait très bien, j’arrivais à faire tourner des vidéos issues de powerpoint au format MP4. J’ai ensuite ajouté une autre vidéo MP4 en rapport avec nos productions, et la lecture vidéo bouclait plus que sur cette dernière vidéo. J’ai tenté de reconfigurer ma Raspi en refaisant ce que j’avais fait, sans mettre la dernière vidéo sur laquelle il bouclait à l’infini, et en mettant des vidéos test en format MP4 trouvées sur le net, mais il ne les lit pas toutes, et il ne lit même plus les vidéos en MP4 issues du Powerpoint.

    Savez-vous d’où cela peut-il venir ? Faudrait-il que je change de lecteur vidéo ? Je tourne en rond depuis un moment et je n’arrive plus à avancer 🙁

    Je vous remercie d’avance

      • Re,
        J’ai pris le temps de ressortir un RpiZero, de retrouver une carte SD et d’y installer Raspbian Lite tout neuf.
        Ensuite, j’ai mis un clavier pour faire une config minimaliste puis j’ai activé le SSH et j’ai connecté un adaptateur USB vers RJ45 afin de piloter le tout en SSH.
        Mise à jour complète.
        Installation de OMXPLAYER
        Création d’un dossier mp4 sur ma Freebox.
        Création du script et modification du rc.local évidemment.
        J’ai mis 3 vidéos dans le dossier de la Freebox :
        https://pixabay.com/fr/videos/r%C3%A9flexion-lentille-lumi%C3%A8re-parasite-27594/
        https://pixabay.com/fr/videos/plexus-r%C3%A9seau-rougeoyant-27669/
        https://pixabay.com/fr/videos/automne-arbres-jaune-grand-mesa-28746/
        (prise en version basse résolution)
        Là, le Rpi Zéro fonctionne sans clavier ni souris et les vidéos tournent en boucle (depuis 5 minutes).
        Bref, ça fonctionne !
        Dans ton cas,
        Vérifier que :
        VIDEOPATH=”/home/pi/Partage” soit sans erreur
        la commande était bien mkdir /home/pi/Partage (erreur de majuscukle ?)
        Les vidéos sont lisibles

        Je fais partie de celles et ceux qui travaillent en cette période de confinement donc je vais arrêter pour ce soir.
        Redis-moi,

        • Bon,
          Comme je suis dingue, j’ai testé 😀
          (à presque 45 ans, je sais que je suis dingue, mais ne lui dites pas “à l’autre”, car lui ne sais pas que je sais et je préfère qu’il ne sache pas que je sais. Sinon, nous serons 2 à savoir : lui, et moi ; il ne resterait donc plus que nous à pouvoir sauver la mise)
          (oui, cela fait référence à “Lui, Moi, Nous” ; Private Jok à moi tout seul)
          Je viens d’injecter une nouvelle vidéo en MP4 :
          https://pixabay.com/fr/videos/nuages-drone-air-paysage-photo-27197/
          Cette injection dans le dossier de la Freebox a été réalisé sans coupure du Rpi.
          Et tu sais quoi ?
          La séquence des 3 vidéos a continué puis l’image a sauté même pas 1 seconde (au moment de l’écran noir entre les vidéo) avec des lignes de code je pense … puis … la lecture a repris toute seule et enchaîne maintenant les 4 vidéos MP4 sans problème.
          @+

  3. Bonjour,

    Merci beaucoup pour votre tuto, très utile pour moi. J’ai juste remplacé le dossier dans le script pour demander à OMXPlayer de lire directement dans un dossier du Raspi. Les nouvelles vidéos étant ajoutées ou supprimées via FileZilla.

    Il y a bien la coupure d’une seconde entre chaque vidéo, mais pour ma part, c’est un affichage du bureau et non du noir. Donc j’aimerais pouvoir exploiter ce retour bureau pour afficher des infos via une page web qui se charge en arrière plan. Cette page web affichera une horloge et des infos en direct comme la météo ou l’horoscope. Comment faire pour avoir une coupure entre 2 vidéos qui dure plus qu’une seconde ? Le top serait une coupure d’environ 30 secondes.

    Merci d’avance.

    • Salut,
      Merci pour ton retour.
      Je ne suis pas du tout « aware » car je fais tout autre chose, mais une idée à tester :
      Tu pourrais tenter un « sleep » de 30 secondes avec “sleep 30”

      Je pense que l’insertion, se fera dans
      for entry in $VIDEOPATH/*
      do
      clear
      omxplayer -b $entry > /dev/null
      done

      avec
      for entry in $VIDEOPATH/*
      do
      clear
      omxplayer -b $entry > /dev/null
      sleep 30;
      done

      ou
      for entry in $VIDEOPATH/*
      do
      clear
      omxplayer -b $entry > /dev/null
      done
      sleep 30;

      A tester !
      On en recause 😉

  4. Rétroliens : Lecture automatique de vidéos en boucle au démarrage – TREVILLY.COM

Répondre à Alban Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*