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.
I find this cool beyond words! Well done. The e ink resolution makes it appealing as well. I can imagine entering a room and checking to see which scene it is on and maybe being inspired to make a quick drawing.
absolutely stunning project when combined with the time lapse shots
i really would not mind owning one!
Reminds me of the Doctor Who episode “World Enough and Time”.
First of all, this is amazingly cool…it would be a great thing to have quietly ticking away in the background.
But just think…if you ran “Logistics” it would probably wrap up about the same time as the Heat Death of The Universe
https://en.wikipedia.org/wiki/Logistics_(film)
If that’s shot at 24FPS then it has 74,044,800 frames. 24FPH = 3,085,200 hours. 128,550 days. A bit over 352 years.
Okay, change that to “personal heat death”.
Coolest project and the best movie to demo it!
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.
Where is that?
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.
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.
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
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.
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…
Even an 8bit CPU could push that pixel rate.
Yeah, I realise that video playback is generally hardware accelerated, but 25 seconds to dither a frame seems really rough!
Wow, I’ve been to movies that seemed 8,000 hours long before but now I can actually see one!
Checkout my esp32 based take on the subject: https://github.com/giladaya/very-slow-movie-player