Motion Interpolation for Glitch Aesthetics using FFmpeg part 3

Below are a few examples of how you can use FFmpeg’s minterpolate to create artworks with a glitch aesthetic.

You can read about how I used it for an artwork in this blog post. You can also grab the source file for these videos here. Give it a try yourself!

mc_mode=obmc:me_mode=bidir:me=umh

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=obmc:me_mode=bidir:me=umh'" 009_mc_mode=obmc_me_mode=bidir_me=umh.mp4

mc_mode=aobmc:me_mode=bidir:me=esa

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=aobmc:me_mode=bidir:me=esa'" 010_mc_mode=aobmc_me_mode=bidir_me=esa.mp4

mc_mode=aobmc:me_mode=bidir:me=tss

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=aobmc:me_mode=bidir:me=tss'" 011_mc_mode=aobmc_me_mode=bidir_me=tss.mp4

mc_mode=aobmc:me_mode=bidir:me=tdls

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=aobmc:me_mode=bidir:me=tdls'" 012_mc_mode=aobmc_me_mode=bidir_me=tdls.mp4

This blog post is part of a series. Click the links below to see more examples of FFmpeg’s motion interpolation:

Motion Interpolation for Glitch Aesthetics using FFmpeg part 2

Below are a few examples of how you can use FFmpeg’s minterpolate to create artworks with a glitch aesthetic.

You can read about how I used it for an artwork in this blog post. You can also grab the source file for these videos here. Give it a try yourself!

mc_mode=obmc:me_mode=bidir:me=fss

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=obmc:me_mode=bidir:me=fss'" 005_mc_mode=obmc_me_mode=bidir_me=fss.mp4

mc_mode=obmc:me_mode=bidir:me=ds

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=obmc:me_mode=bidir:me=ds'" 006_mc_mode=obmc_me_mode=bidir_me=ds.mp4

mc_mode=obmc:me_mode=bidir:me=hexbs

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=obmc:me_mode=bidir:me=hexbs'" 007_mc_mode=obmc_me_mode=bidir_me=hexbs.mp4

mc_mode=obmc:me_mode=bidir:me=epzs

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=obmc:me_mode=bidir:me=epzs'" 008_mc_mode=obmc_me_mode=bidir_me=epzs.mp4

This blog post is part of a series. Click the links below to see more examples of FFmpeg’s motion interpolation:

Motion Interpolation for Glitch Aesthetics using FFmpeg part 1

Below are a few examples of how you can use FFmpeg’s minterpolate to create artworks with a glitch aesthetic.

You can read about how I used it for an artwork in this blog post. You can also grab the source file for these videos here. Give it a try yourself!

mc_mode=obmc:me_mode=bidir:me=esa

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=obmc:me_mode=bidir:me=esa'" 001_mc_mode=obmc_me_mode=bidir_me=esa.mp4

mc_mode=obmc:me_mode=bidir:me=tss

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=obmc:me_mode=bidir:me=tss'" 002_mc_mode=obmc_me_mode=bidir_me=tss.mp4

mc_mode=obmc:me_mode=bidir:me=tdls

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=obmc:me_mode=bidir:me=tdls'"003_mc_mode=obmc_me_mode=bidir_me=tdls.mp4

mc_mode=obmc:me_mode=bidir:me=ntss

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:mc_mode=obmc:me_mode=bidir:me=ntss'"004_mc_mode=obmc_me_mode=bidir_me=ntss.mp4

This blog post is part of a series. Click the links below to see more examples of FFmpeg’s motion interpolation:

Motion Interpolation for Glitch Aesthetics using FFmpeg part 0

As you may have seen in this blog post I made use of FFmpeg’s minterpolate motion interpolation options to make all of the faces morph. There’s quite a few options for minterpolate and many different combinations of options that can be used. i had to consult Wikipedia to figure out exactly what the different motion estimation algorithms were but even with that information I couldn’t visualise how it would change the output. To add to this how I’m using minterpolate isn’t a typical use case.

To make things easier for those wishing to use FFmpeg’s minterpolate to create glitch aesthetics I have compiled 36 videos each showing a different combination of processing options. The source video can be seen below and features two of my favourite things: cats (obtained from here) and rainbows.

I’ve slowed it down so that you can see exactly what’s in the video, but the original can be downloaded here.

The base script used for each video is:

ffmpeg -i cat_rainbow_original.mp4 -filter:v "setpts=62.5*PTS,minterpolate='fps=25:mb_size=16:search_param=400:vsbmc=0:scd=none:

In part two of March’s Development Update I explained why I set scd to none and search_param to 400. I could have of course documented what happens when all of the processing options are changed but that would result in me having to make hundreds of videos! The options that were changed were the mc_mode (motion compensation mode), me_mode (motion estimation mode), and me (motion estimation algorithm).

Test conditions

These videos were created using FFmpeg 7:4.1.4-1build2, installed from the Ubuntu repositories, on a Dell XPS 15 (2017 edition) with 16GB memory, a i7 processor and an Nvidia GeForce GTK 1050 graphics card, all running on Ubuntu 19.10 using proprietary drivers.

I don’t have a Windows or Mac machine, and haven’t used other Linux distributions so can’t test these scripts in those conditions. If there’s any problems with getting FFmpeg on your machine it’s best that you contact the developers for assistance.

Observations

My first observation is that the esa me_mode takes frikkin ages to complete! Each video using this me_mode took about four hours to process. I did consider killing the script but for completeness I let it run.

Using bilat me_mode produces the most chaotic results by far. Just compare 026_mc_mode=obmc_me_mode=bilat_me=epzs.mp4 to 008_mc_mode=obmc_me_mode=bidir_me=epzs.mp4 and you’ll see what I mean.

For a video of this length nearly all of the scripts (except for those using esa) took between 30 seconds and 1 minute to complete, and that’s on machines with and without a GPU. This is good news if you don’t want to have to carry around a powerhouse laptop all the time.

All of this reminds me a bit of datamoshing. It’s more predictable and controllable, but the noise and melty movement it creates, especially some of the ones using bilat me_mode, remind me of the bloom effect in datamoshing. This could be down to the source material, and I’d be interested to see experiments involving datamoshed videos.

Let’s a go!

With that all said let’s jump into sharing the results. As there’s 36 videos I’ll be splitting it over nine blog posts over nine days, with the last being posted on 28th March 2020. Each will contain the script I used as well as the output video. Links to each part can be found below:

Gamerz Festival

DIGITAL | ALTER OUVERTURE & VERNISSAGE

Vernissage, MERCREDI 13 NOVEMBRE à partir de 14H
Fondation Vasarely en présence des artistes
15e Édition du Festival des arts multimedia GAMERZ
http://www.festival-gamerz.com/gamerz15/

EXPOSITIONS | du 13 au 24 novembre 2019

FONDATION VASARELY :
Avec les ensembles monographiques :
« DEMAIN LES ROBOTS » FRANCE CADET
« L’INTRIGUE » FABRICE MÉTAIS
« MEME » OLIVIER MORVAN
« 3615 LOVE » PAMAL_Group
avec : JACQUES-ELIE CHABERT, EDUARDO KAC,
MARIE MOLINS, CAMILLE PHILIBERT
et les œuvres de :
JULIUS VON BISMARCK
JON RAFMAN
ANTONIO ROBERTS

OFFICE DU TOURISME :
Avec les œuvres de :
MANUEL BRAUN & ANTONIN FOURNEAU
ROBIN MORETTI & LESLIE ASTIER
ROBIN MORETTI & THÉO GOEDERT

Le Festival international des Arts Multimédia GAMERZ revient pour sa 15e édition cet automne du 13 au 24 novembre 2019 dans la ville d’Aix-en-Provence, après une pré-ouverture inédite et vibrante à Marseille. Le Festival GAMERZ déploie une programmation originale, internationale et résolument expérimentale en invitant de nombreux artistes à investir différents lieux de création contemporaine. Cette année, le festival interroge notre condition contemporaine en proposant la notion de « Digital Alter » comme axe de recherche et chantier artistique.

https://www.facebook.com/events/415769632671647/
https://www.fondationvasarely.org/expositions-et-actualites/les-expositions/

Radiophonic

Edited arts presents: Radiophonic
A tribute to the BBC Radiophonic Workshop on its 60th anniversary

A day and night event – a mini-festival – at Down Lane Studios, a brand new multi-functional 400 capacity ex-industrial space in Tottenham.

Live musicians, DJs, talks, workshops, film screenings and multi-disciplinary artworks.

Late at Tate Britain: Echoes

A night exploring myths and morality, inspired by Margerite Humeau’s Echoes

Late at Tate Britain April explores the Ancient Egyptians’s relationship with mortality and its parallels with contemporary society, inspired by Margeritue Humeau. Ancient Egyptians looked at preserving life trough spirituality. In current times, do we try to achieve this through digital formats.

The series will kick off on 6 April with an evening exploring the current Art Now installation by Marguerite Humeau. The work entitled Echoes is conceived as a confrontation between life and death, with the gallery transformed into part temple, part laboratory for the industrial production of an elixir for eternal life.

Glitch Art Workshops

Glitch art is a form of art that is created by introducing digital or analog errors to media.

Join MakoEducation and Near Now Fellow Antonio Roberts in this glitch art workshop which teaches participants what glitch art is and how to create their own artwork.

Attendees will learn how to create glitch art images, videos and GIFs. We’ll be encouraging artists of the future to experiment with new tools and techniques.

Attendees learn a range of digital skills in the areas of photography, image editing and video production.

No previous experience is necessary to take part in this workshop.

PLEASE NOTE THIS EVENT IS AIMED AT CHILDREN AGED 8-13. ADULTS PERMITTED ONLY TO ACCOMPANY CHILDREN. ALL CHILDREN MUST BE ACCOMPANIED BY AN ADULT.

SuperByte Festival – Glitch Art Workshop

In this part theory, part practice workshop, hellocatfood will take you through a brief history of glitches, noise, and their impact on art, music and popular culture. The practical side of the workshop will delve into the common techniques utilised by glitch artists, such as hacking codecs, modifying hardware and repurposing commonly used software.

For the practical part of the workshop you’ll need a laptop/computer (Mac/Windows/Linux) with the following software installed: GIMP, Audacity & a good text editor such as Notepad++, Text Edit or Gedit.

Depending on time and interest from participants, we may be able extend software covered. If possible, please have installed: Processing, Pure Data, ffmpeg/libav, Imagemagick, Inkscape & Blender.

All of the software required for this workshop is freely available, and there’ll also be some toys on hand for you to experiment with.