
I selected a GIF animation that had 30 frames
using IrfanView
https://www.irfanview.com/

under Options you can Export the frames to a folder.

now you have all the frames as Separate images.
To Make it simple, I started with the GIF file, and Named it fw.GIF

When the frames are exported Each frame is then Named
fw_frame_0001.png
...
fw_frame_0030.png

You can use .jog, .gif, .png  choose the file type you prefer.

I use a sub folder and called it Frames-01
to hold all of the Frames of the Animation

The Scene Staks the Frames Starting with the Last Frame on the Bottom of the Stack
and the 1st Frame on the Top of the Stack.

All the Frames are visible at the start, 
but only the Top Frame can be seen as it Hides all the other frames that are below it.
We then hide each frame one by one starting with frame one at the top.
this is done with Opacity Timers.

The Top frame starts with it's opacity at 1
( each frame will start with an Opacity the Same as its Frame number ) 
Then an Opacity Animation is started and it counts down -30 based on the time duration.
When the Opacity reaches 0, that frame is no longer visible, and the Frame below it can then be seen.

all of the frames will use the same Opacity Timer 
The same unit of time for and a range of -30 

Frame 1 lasts for 1 full unit of time
Frame 2 lasts for 2 full units of time
Frame 3 lasts for 3 full units of time
...
Frame 28 lasts for 28 full units of time
Frame 29 lasts for 29 full units of time
Frame 30 lasts for 30 full units of time ( or it can remain static ) 

Since there are 30 frames,  that becomes the range of the timer -30
If we use a Time base of 30 seconds, then we have 30 Frames / 30 Seconds = 1 frame per second.
If we use a Time base of 3 seconds,  then we have 30 Frames / 3 seconds = 10 frames per second.

I have a 2nd folder of frames
Frames-02
I numbered each frame for testing

you can Rename Folder Frames-01 to something else
then rename Folder Frames-02 to Frames-01
you can then see the Numbered Frames as they are played...



