Here is a nice week-end project, useful for automatic presentations, restaurant menus and waiting room video entertainment/marketing/information (my case).
I used a 32″ TV with a Raspberry Pi B (512 Mb RAM), a Wifi Adapter and a 64 Gb SD card (40 $CND at Costco) to create a simple video looping device.
My goal is simple, I want to use SFTP to upload videos in a folder, and have a simple Debian service loop and play each video file one by one.
Since I am not always here to restart the service, a simple reboot of the Pi (by unplugging) should restart the whole thing. No technical knowledge required !
Here is how I done it:
mkdir /home/pi/declicTV cd /home/pi/declicTV vi videoplayer.sh
The code is greatly inspired from here.
I have made a few improvements:
#!/bin/sh #first version from http://www.cenolan.com/2013/03/looping-video-playlist-omxplayer-raspberry-pi/ # set here the path to the directory containing your videos VIDEOPATH="/home/pi/movies" # you can normally leave this alone SERVICE="omxplayer" SERVICE_OPTS="-o hdmi -n 3 -b" # now for our infinite loop! while true; do if ps ax | grep -v grep | grep $SERVICE > /dev/null then sleep 1; else for file in $VIDEOPATH/* do #debug echo $SERVICE $SERVICE_OPTS "$file" #Display Files $SERVICE $SERVICE_OPTS "$file" done fi done
#! /bin/sh # /etc/init.d/declicTV # taken from http://www.debian-administration.org/article/28/Making_scripts_run_at_boot_time_with_Debian # Some things that run always touch /var/lock/declicTV # Carry out specific functions when asked to by the system case "$1" in start) echo "Starting script declicTV " nohup /home/pi/declicTV/videoplayer.sh > /home/pi/declicTV/videoplayer.log & ;; stop) echo "Stopping script declicTV" killall -9 -r videoplayer.sh ;; *) echo "Usage: /etc/init.d/declicTV {start|stop}" exit 1 ;; esac exit 0
I hope this will be helpful to you !