I create a square format video in the free video editing software Shotcut, load some captured footage into that project and cut it down to a clip that hopefully works as an endless loop. In this case the cut is at the moment the camera stands still on her trembling feet.
I apply the filter “Size, Position & Rotate” to the clip to zoom in and use the keyframe option of that filter to create the virtual camera motion.
Then I export the video as a looping webp animation file, which is basically the same as a gif, only with smaller file sizes and better quality.