Vertigo (1958)
Created in January 2004, by Brendan Dawes
Cinema Redux explores the idea of distilling a whole film down to one single image. This script lays out a film as a series of stills captured at 1 frame per second. The result is a matrix of images resembling a DNA print of the film.
Doing some internet sleuthing I was able to find a working script that allowed me to do the same thing. The original script created by Brendan Dawes was copyrighted and no longer works on new editions of Processing.
-------------------------------------------------------------------------------------
import processing.video.*;
Movie myMovie;
int xpos = 0;
int ypos = 0;
int VWIDTH = 11; // width of capture
int VHEIGHT = 6; // height of capture
int MOVIEWIDTH = VWIDTH * 60; // width is equivalent to 1 minute of film time
int MOVIEHEIGHT;
int MAXWIDTH = MOVIEWIDTH - VWIDTH;
float MOVIEDURATION;
void setup() {
myMovie = new Movie(this, "Tetsuo2.mov"); //change movie.mov to the filename of your Quicktime movie
MOVIEDURATION = (myMovie.duration()); // gets the duration of the movie in seconds
MOVIEHEIGHT = VHEIGHT * int(MOVIEDURATION / 60) + VHEIGHT; // height of the stage is based on the length of your film
// note that the last frame of the film will repeat until it reaches the end of the current line
size(MOVIEWIDTH, MOVIEHEIGHT);
background(0); // sets the background of the stage to black
frameRate(1); // forces the video to play at one frame per second
myMovie.play();
}
void draw() {
if(myMovie.available()) { // checks to see if the next frame is ready for processing
myMovie.read();
image(myMovie, xpos, ypos, VWIDTH, VHEIGHT);
xpos += VWIDTH;
if (xpos > MAXWIDTH) {
xpos = 0;
ypos += VHEIGHT;
}
if(ypos > MOVIEHEIGHT) {
saveFrame("my_movie_dna.tif"); // saves a tiff image to the folder of the current sketch when the end of the movie is reached
delay(2000); // pauses two seconds to save the file
noLoop(); // exits the draw loop so that the process ends
}
delay(100); // waits one tenth of a second before repeating the draw function
}
}
-------------------------------------------------------------------------------------
some notes:
- To get this script to work you will need the video to have the file extension .MOV which is Apples QuickTime player format. If you have that you can just add the file in Processing by just dragging it into the script window. There a number of programs out there that can do this such as Oxelon Media Converter.
- VWIDTH and VHEIGHT are measured in pixels this should probably be changed based on the ratio of the screen size of the movie.
- It is also best to shrink down the size of the film in an exterior program (ex if the films screen resolution is 800x600 make it 80x60) this makes the computer do a lot less work and work faster to create the image.
Here are two I did.
Tetsuo: The Iron Man (1989)
2001: A Space Odyssey (1968)