Using: Photoshop CS6 (but works with previous versions as well)
Prerequisite: Knowing how to make a simple gif
First of all, we choose the two gifs we want to use. I advise to use gifs with a dark background, because the final result will be better, but it can work with lighter images as well. We open both bits of videos we’re going to use in Photoshop and crop them the way we want. If you just want to overlay to gifs, you can crop it simply. If you want the gifs to overlay AND to distinguish the characters on both gifs, you crop them with the character on the left for one gif and on the right for the other.
We open a new canvas in the size we want the gif to be (here 245*245 px). Then, we choose the layers from the first gif we want to use. For this size, I usually use 40 layers but you can go up to 60 if you want.
I select the layers I want and I copy the layers in the timeline menu.
Then, in the new canvas, I paste the images via the timeline menu. In the window that opens, I select “Replace Frames” and click on “Okay”.
I create a new group and put all the layers in the group (I renamed it for the tutorial but it’s optional as long as you know which group corresponds to which gif)
Then, with the same technique, I do the same with the second gif. You’ve got to be careful to use the exact same number of frames or the final gif won’t work properly. When you paste the layers into the canvas, makes sure to paste them with the “Paste Over Selection” option. Put all the layers in group too.
Select the group on the top (here, Roman!Rory) and choose the blend mode you think give the better effect. I usually use Lighten but, depending on the gifs you chose and the effect you want to have, you can select another mode.
From here, you can check the result by going to Save > Save for web and Preview. The gif opens in your browser and you can check if you like the result. Here, we get that:
I’m not totally satisfy with the effect on Silence!Rory so I play with brightness and contrast to have a better effect and clip the adjustment layer to the group. (As Silence!Rory is the group at the back, the adjustment layer doesn’t have an effect on Roman!Rory but if you wanted to add an adjustment layer to the group on the top, clipping it to the group would come handy as it wouldn’t affect the group below it). I only played with the brightness but you can of course add other layers too until you get what you want.
Here with more brightness on Silence!Rory:
I’m satisfy with the result so I won’t make other changes. From there, you can add a coloring, text, textures, your watermark, you can sharpen it, add other effects… Whatever you want!
Save for the web, make sure the gif is below 1000K and, tada!, we’re done.
Sometimes when you overlay two gifs, there’s some details from the background of one gif that will mess with the second one. For example, when I made this one:
The space background from Amy and Eleven’s hug was messing with Eleven’s sad face. When something like than happens, you can simply create a layer mask on the group and, with a brush, just erase the part of the gif you don’t want to appear. It’ll affect all the layers of the gif in the same time, which is really helpful and quick, but be careful not to erase important parts of the gif which can appears in the following layers (if the characters are moving, for example, which isn’t the case here).