Published in


How to Build a Very Slow Movie Player for £120 in 2020

Ambient home cinema was the perfect lockdown project

My Very Slow Movie Player in an IKEA frame playing Alfred Hitchcock’s Psycho. Photos courtesy of the author
Bryan Boyer’s original VSMP (link)

Get started with Raspberry Pi

The Raspberry Pi and the e-paper Hat hot-glued to the back of an Ikea picture frame. The power comes in through the USB-C connector on the bottom left of the Pi.

Connecting the display

sudo raspi-config <-- Don’t forget to turn on SPIgit clone ‘SlowMovie/e-paper/RaspberryPi&JetsonNano/python’sudo python install
Waveshare’s version of Hello World
IOError: [Errno 2] No such file or directory
My version of hello world shows random frames from a two-second snippet of Psycho

Hello world

cd ~/SlowMovie
sudo pip install ffmpeg-python
# Use ffmpeg to extract a single frame from the .mp4 file, resize it, letterbox it and save it locallydef generate_frame(in_filename, out_filename, time, width, height):    
.input(in_filename, ss=time)
.filter('scale', width, height, force_original_aspect_ratio=1)
.filter('pad', width, height, -1, -1)
.output(out_filename, vframes=1)
.run(capture_stdout=True, capture_stderr=True)
# Import, initialise and clear the displayfrom waveshare_epd import epd7in5_V2
epd = epd7in5_V2.EPD()
# Check how many frames are in the movieframeCount = int(ffmpeg.probe(inputVid)[‘streams’][0][‘nb_frames’])# Pick a random frameframe = random.randint(0,frameCount)# Convert that frame count to Timecode used by ffmpegmsTimecode = “%dms”%(frame*41.666666)# Open the saved frame in PILpil_im =“grab.jpg”)# Convert the image to a 1 bit bitmap (Just zeros and ones)# using Floyd Steinberg ditheringpil_im = pil_im.convert(mode=’1',dither=Image.FLOYDSTEINBERG)# display the imageepd.display(epd.getbuffer(pil_im))

The very slow movie player

python -h
python -f 2001.mp4 -d 150 -i 1
sudo nano /etc/profile
cd SlowMoviesudo python

Finishing off

Algorithmic art inspired by Georg Nees

Next steps



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Tom Whitwell

Consultant at Magnetic (formerly Fluxx), reformed journalist, hardware designer.