This weekend I was at the Poetic Computation Group Belgium and Greg Berger mentioned doing glitch art with FFmpeg.
Being a former FFmpeg developer myself, I remembered having made quite a bunch of experimentation with it, but it was mostly ephemeral and just for fun. Then I thought to myself: what about turning those bits and pieces of experimentation into blog posts and projects on GitHub?
And so the first project is born into my very new ffglitch repository. The name of the repository suggests more FFmpeg glitch art projects will come, and I hope my laziness doesn’t stop me from doing this (which it likely will).
pix_fmt
https://github.com/ramiropolla/ffglitch/tree/master/pix_fmt
The pix_fmt project consists of doing a whole bunch of incorrect pixel format conversions. If you don’t know what pixel formats are, read up on my previous blog post pixel formats 101.
The project is a script that generates a bunch of combinations for pixel format conversion. For example, one such conversion takes raw RGB data as input, pretends that data is YUV420p, and reconverts it to RGB. The project does this for all possible input to output pixel format combinations. This amounts to nearly 10000 images, with about 4000 being unique.
To try it out, just do:
$ git clone https://github.com/ramiropolla/ffglitch.git $ cd pix_fmt $ python pix_fmts.py <input.png> > makefile $ make -r -k -jN $ cd output_dir $ fdupes --delete --noprompt .
What are the results like? Well, here are some samples (originals first):
libcaca logo:
Tarrafa hackerspace logo with yellow background:
Tarrafa hackerspace logo with white background:
Check it out, make your own ffglitch.pix_fmt and post the link in the comments!
Have fun…