The Very Slow Movie Player Does It With E-Ink

Most displays are looking to play things faster. We’ve got movies at 60 frames per second, and gaming displays that run at 144 fps. But what about moving in the other direction? [Bryan Boyer] wanted to try this out, so he built the VSMP, or Very Slow Movie Player. It’s a neat device that plays back a movie at about 24 fph (frames per hour) on an e-ink display to demonstrate something that [Bryan] calls Slow Seeing, which, he says “helps you see yourself against the smear of time.” A traditional epic-length movie is now going to run you greater than 8,000 hours of viewing.

Artistic considerations aside, it’s an interesting device from a technical point of view. [Bryan] built it from a 7.4-inch e-ink display from Pervasive Displays. The controller is connected to a Raspberry Pi Zero, which is running a Python script to convert a frame of the movie file into a dithered file, then send it to the display. Because the Pi Zero isn’t a very fast computer, this takes some time, and thus the slow speed of the VSMP. Originally, [Bryan] had set it up to run as fast as the system could manage, which was about 25 seconds per frame, or about 2 frames per minute. He decided to slow it down a bit further to the more attractive multiple of 24 frames per hour to contrast with the 24 frames per second of the original movie. He did this by using a CRON job that kicks of the conversion script once every 2.5 minutes and increments the frame counter. All of this is topped off with a nice 3D-printed case that has a lovely interference pattern to make a rather neat and intriguing project.

Perhaps the best part of this is see a time-lapse of the VSMP — life moves quickly around it while 2001: A Space Odyssey plays at normal speed.

17 thoughts on “The Very Slow Movie Player Does It With E-Ink

  1. There is a neural network based AI system that extracts scenes from movies and renders them in cartoon style, a variation on that would also work well on an e-ink display, but perhaps with a faster update as the motion is already converted to stills.

  2. The Pi zero may not be fast by modern standards, but it would have to be pretty poor code (some kind of interpreted language?) to slow it down enough to take 25 seconds per frame. That’s only about 15000 pixels/second from a 1GHz CPU.

    1. Answering my own question, it seems that he’s using Node.js, about the least efficient way I can think of doing things. It’s a good job he didn’t want/need high frame rates.

    2. Uh obviously there’s some wait commands going on, it’s not like he achieved that playback rate accidentally by writing the most wasteful code imaginable and the cpu is fully loaded with this simple task

      1. He has a script that he has scheduled to run every 2.5 minutes. That script renders one frame, and takes 25 seconds to do so. Since the panel is only 800 x 480 pixels then even a Pi Zero doesn’t have to try very hard, ergo it’s damned inefficient programming.

        1. Held up to the code that you developed, published, for the project on your website, this guy’s code is infinitely better.

          It’s really easy to criticize others when you don’t do anything yourself…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.