Script: Horloge vidéo

Matériel nécessaire

Installation

  1. Flasher une image de Rpi OS lite sur une carte SD et lancer la rpi.
  2. Après connexion, activer le ssh et le login automatique avec la commande rpi-config.

1.System options > Boot / Auto login > console automatic login
3.Interface Options > SSH > enable SSH

  1. Créer le script dans le dossier utilisateur de pi par défaut :
    wget https://wiki.arthus.net/assets/videoclock.sh && chmod +x videoclock.sh
  2. Copier les vidéos dans le dossier utilisateur. Le script cherche par défaut des fichiers dont le nom suit le schéma HHMM.mp4, HH étant l'heure (0-24) et MM les minutes (0-60).
  3. Éditer le fichier /etc/rc.local et y ajouter la ligne suivante ; /home/pi/videoclock.sh :
    echo "/home/pi/videoclock.sh" | sudo tee -a /etc/rc.local && sudo chmod +x /etc/rc.local
  4. Redémarrer la rpi.

Le script

#!/bin/bash
# By default, videos should be in the /home/pi/ folder with this script.
# Be sure to set the execution bit with : chmod +x videoclock.sh
# Put that line in /etc/rc.local
# /home/pi/videoclock.sh
# Optionnaly, you can use :
# setsid /home/pi/videoclock.sh >/dev/null 2>&1 < /dev/null &
# to run the script as a daemon.
# Video file extension
EXT=".mp4"
# Video files path
VIDEOFILESFOLDER="/home/pi/"
# Video player command 
# RPI's omxplayer is used as default
PLAYER="omxplayer"
# PLAYER="mpv"
# Keep track of old time
OLTIME="0000"
while true; do
    # Get date in format HHMM
    TIME=`date +"%H%M"`
    # Get seconds for offset
    OFFSET=`date +"%S"`
    if [ -f $VIDEOFILESFOLDER$TIME$EXT ] && [ $TIME != $OLTIME ] ;then
        OLTIME=$TIME
        if [ $PLAYER == "omxplayer" ];then
            $PLAYER -l 00:00:$OFFSET $VIDEOFILESFOLDER$OLTIME$EXT &
        elif [ $PLAYER == "mpv" ];then
            $PLAYER --start=00:$OFFSET $VIDEOFILESFOLDER$OLTIME$EXT &
        fi
    else
        echo "No video to load, waiting a bit..."
    fi
    sleep 10
done

Sources

https://stackoverflow.com/questions/19233529/ddg#19235243