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...
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...
Beyoncé
First up is Beyoncé with “Single Ladies (Put a Ring on It)”. Here was the resulting mean average of the entire video: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:
P!nk
I also redid a couple of the videos by P!nk as well.True Love
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:
Try
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:
Röyksopp
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...
G’MIC
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!
I really like this concept, and thanks for the tutorial! The Try by Pink video that has your cuts is so trippy... I feel like I can understand what people on hallucinogens feel like. Haha.
ReplyDeleteThat was exactly what was going through my mind when watching this render. :)
Delete