Ex Machina: Pixel Array



The image is a concatenation of pixels, where each pixel represents a frame from the film, Ex-Machina (2015). Every frame in the film was extracted, and down-scaled to 1x1 resolution, effectively getting an average colour for the scene in that frame. They are bounded inside a 640x242 PNG file, and are in the sequential order that they appear in the film.

The procedure involved taking a Blu-ray source, encoding it to a more manageable h264 stream, and then processing the frames. This processing was completed using FFmpeg, and the code is given below:

UPDATE 2015-08-11: Ver.2
# A trimmed down version, using only one instance of FFmpeg.
# The disadvantage with this is the lack of progress display.
ffmpeg -i input.vid -frames 1 -vf "scale=1:1,tile=640x220" output.png

Ver. 1 (piping)
# First instance of FFmpeg traverses the frames, the second concatenates them.
ffmpeg -y -i video.mkv -vf "scale=1:1" -c:v png -f image2pipe pipe:1 |\ 
ffmpeg -y -i pipe:0 -vf "tile=640x242" output.png 2> /dev/null

imdb: http://www.imdb.com/title/tt0470752/
ffmpeg: https://www.ffmpeg.org/