moviepy
from moviepy import VideoFileClip from moviepy.video.tools.cuts import FramesMatches clip = VideoFileClip("input.avi").resized(0.3) scenes = FramesMatches.from_clip(clip, 10, 3) selectedscenes = scenes.selectscenes(2, 1, 4, 0.5) selectedscenes.writegifs(clip.resized(width=450), "./outputs_directory")