Pat David Avatar
4 min read

Mean Averaged Music Videos [G’MIC/Blender]

So I can’t leave well enough alone, as seen in my last post about mean averaging stuff. In that last post I had averaged entire music videos to see what the resulting images would look like.

My previous averaging work:

This time around I took a different path. I wanted to demonstrate what exactly was visually happening when creating these averaged images. For that I turned to the experts (by experts, I mean David Tschumperlé), and this time did all of the image averaging in G’MIC. (So a great big Thank You! to David for putting up with me while I tried to describe what I wanted).

The reason is that I wanted to show the videos turning into the final mean averaged images in realtime, as the video played. For this, David was kind enough to write me a quick G’MIC script that would do the mean average for every frame in the video, and dump the total average for each frame one by one.

Basically, each frame of my new video would be a mean average of that frame and all the frames that came before it.

Once I had all my new frames, I just needed to re-assemble them into a video. For that I turned to my ever-trusty Blender install. There was just enough control in the VSE in Blender for me to quickly do exactly what I wanted.

I created two version of my videos, one where I manually made cuts in places, and then began mean blending over each of the cuts. The other version is a straight run of the video as it’s blending, with the normal video overlayed at a very reduced transparency. By the end of the video, you should see something just like the full mean blend of the entire video.

Enough words, let’s see some images and videos!

Not surprisingly, I had some issues with these being hosted on YouTube. The music is copyrighted, so it may not play in some countries (Germany seems to be having a problem). So I apologize to my German readers. Also, due to the Content ID program, YouTube automatically places ads on these videos on behalf of the rightsholders, so they aren’t my ads - sorry about them…


First up is Beyoncé with “Single Ladies (Put a Ring on It)”. Here was the resulting mean average of the entire video:

Beyonce All the Single Ladies blend average mean

Beyoncé - “Single Ladies (Put a Ring on It)” (5955 frames)

I did two versions of this video, and the only difference is the music. Here is the original music, with the original video overlayed at small opacity:

Here is the same video, with a mashup by Party Ben:


I also redid a couple of the videos by P!nk as well.

True Love

Pink True Love mean average blend

Pink - “True Love” (5803 frames)

This first video for “True Love” has my cuts in it, and re-starts the mean blending at the beginning of each cut. It’s an interesting way to view it:

Here is the same video, with the mean average building up over the entire video:


Pink Try average mean blend

Pink - “Try” (5972 frames)

As before, this first video includes my cuts, and starts the mean blending at the beginning of each cut, which is really interesting considering the acrobatics performed in the video:

And the same video, with only the build-up of the averaged frames:


Remind Me

For those of you in the U.S., you may recognize the slower version of this song as the one that played with the Caveman in the GEICO commercials…

Röyksopp - “Remind Me” (6399 frames)

Röyksopp - “Remind Me” (6399 frames)


This time around, I used G’MIC to do the heavy lifting of blending these. David was kind enough to write me a quick script that would do the cumulative mean blending across all of the frames.

First I dumped all of the frames of the video to a directory. Then David supplied me with a custom G’MIC function:

foo :
  -e[] "" -v - ({'"$1"'}) -autocrop 32  -replace 32,{','}
  -m "_foo : $""=_file _nb_files=$""#" -_foo @{-1,t} -rm
  -repeat $_nb_files
    -v + -e[] "\r - Frame "$> -v -
    -i ${_file{$>+1}} -+ --/ {1+$>} -o[-1] mean_${_file{$>+1}} -rm[-1]
  -done -rm -v + 

I just dropped that into a file in my directory (and named the file “video.gmic”), then ran the rather simple command:

gmic video.gmic -foo \" *.png \" 

After a little while, I had all of the cumulative mean averaged frames ready for bringing into Blender to re-mux with the original video and audio tracks!

Filed under: music videos, Blender, average, GMIC

Share this on: Twitter | Facebook