I was recently asked to provide a video projection for the Proteus Gowanus ball, and assembled my most compact, self-contained projector rig to date. It involves Velcroing a Raspberry Pi computer to my homemade projector mount, which can be clamped anywhere with standard film grip gear. When plugged in, 1080p video plays in a loop. The projector is small but bright, a 3,000 lumen Optoma TW-1692.
Getting the video to start and loop automatically was fairly simple, but required several stops on the internet:
I used this script to loop video files in a folder. I put mine in one called /media.
I added -r four lines from the end, as suggested in one of the comments. The video was getting squished toward the bottom of my projector, and this fixed that.
omxplayer -r $entry > /dev/null
Then I made the script (named videoplayer.sh) executable with the command:
sudo chmod +x /home/pi/videoplayer.sh
To run the video loop, if you’re in the same directory, type
That worked, but I had to reboot the Raspberry Pi to get it to stop. !IMPORTANT! Before making it start automatically, make sure that you can edit rc.local from another computer via SSH while the script is running. Adafruit has a good overview of this here. That way, you can remove the following autostart line from rc.local when you want your Pi back.
To run the script on boot:
sudo nano /etc/rc.local
Before the final “exit 0” line, insert this line:
Change the path accordingly. I left the script in the home directory, although I may move it at some point.
I loaded the video onto the device, strapped everything together — projector, mount, Raspberry Pi (in a Pibow Timber case), multiplug, USB power adapter, HDMI cable, safety cable, extension cord — plugged it in, and it ran. Just like that.