beh, come mettere dei video in loop con Raspberry è un argomento che trova molti tutorial in rete, perchè si può effettivamente fare in molti modi fdifferenti.
SI può fare anche con OSMC, e relativi add-om, ma è un po' macchinoso.
Le opzioni più popolari sono
-creare uno script che lanci i video e controlli l'evento gpio
- una distribuzione dedicata ai video in loop o al digital signage
- usare OSMC
Io userei la prima soluzione, con una distribuzione priva di desktop (com Raspberry pi OS Lit (Buster) o Raspberry Pi OS Lite (Legacy) o DietPI
abiliterei l'SSH, perchè una volta che i viedeo sono in loop, posso collegarmi da remoto e fare manutenzione.
c'è un comodo toll fatto appositamente, si chiama pi video looper, che usa OMXplayer per mettere in loop dei video (anche se il suggerimento è quello di unire tra loro i video e farne uno solo, per non avere pause tra essi).
Si installa entrando nel terminale e digitando:
Codice:
sudo apt-get update
sudo apt-get install git
git clone https://github.com/adafruit/pi_video_looper.git
poi
Codice:
cd pi_video_looper
sudo ./install.sh
Ora Raspberry è pronto, quando lo riavvieri, partirà il programma pi video looper in automatico e mostrerà i video che trova su una chiavetta USB collegata, in loop.
Ma non farlo ora, prepariamo la questione del video comandato da GPIO.
io farei uno script Python, da lanciare anch'esso all'avvio, che monitora se un tasto GPIO viene premuto (o il sensore di movimento viene attivato) e quando questo avviene:
-ferma pi video looper (lanciano il comando sudo supervisorctl stop video_looper)
-lancia il play di un altro filmato con omxplayer , lo stess oplayer usato da pi video looper,
-quando termina, fa ripartire pi video looper (lanciando il comando udo supervisorctl start video_looper)
SI potrebbero mettere queste tre azioni in uno script bash (un banale file di testo)
che si può creare con
Codice:
sudo nano videoOnDemand.sh
e copiarci all'interno questo
Codice:
sudo supervisorctl stop video_looper &&
omxplayer -p -o hdmi percorsodetuovideo.mp4 &&
sudo supervisorctl start video_looper
Una volta usciti da Nano e salvato il file (CTRL+X ecc), dobbiamo renderlo eseguibile con il comando
Codice:
sudo chmod +x videoOnDemand.sh
occorre fare un po' di prove, ma per comodità farei lo script in Python
Codice:
from gpiozero import Button
from subprocess import check_call
from signal import pause
def play_video(): # definisco una funzione che richiama lo script bash di prima
check_call(['.\videoOnDemand.sh'])
pulsante = Button(2) # pulsante collegato tra il pin GPIO2 e massa
button.when_pressed = play_video # quando premuto richiama l'esecuzione della funzione
pause()
che dovrebbe lanciare lo script quando viene premuto un pulsante collegato al pin gpio 2.
in alternativa, con il sensore di movimento diventa qualcosa tipo
Codice:
from gpiozero import MotionSensor
from subprocess import check_call
from signal import pause
def play_video(): # definisco una funzione che richiama lo script bash di prima
check_call(['.\videoOnDemand.sh'])
pir = MotionSensor(2) # Sensore di movimento collegato al GPIO2
pir.when_motion = play_video # quando rileva un movimento richiama l'esecuzione della funzione
pause()