The script below will process a folder and generate 1 video sample with multiple cuts from the original. It uses moviepy^[https://zulko.github.io/moviepy/getting_started/index.html] for that. Variables: - CUTS = number of cuts to generate (besides intro and outro) - CUT_DURATION = duration of each cut (besides intro and outro) - SKIP_INTRO/ENDING = ignore X seconds from the beginning/end, as those might be title cards, etc - INTRO_CLIPS/ENDING_CLIPS = special cuts from the beginning/ending of the video, if you want longer cuts for example - ```python import os from moviepy import VideoFileClip, TextClip, CompositeVideoClip, concatenate_videoclips INPUT_FOLDER = 'input' RESULT_SUFFIX = "-sample1" CUTS = 16 CUT_DURATION = 12 SKIP_INTRO = 10 SKIP_ENDING = 2 ##15 # start, duration INTRO_CLIPS = [ (SKIP_INTRO, 15), (SKIP_INTRO+60, 15) ] # time from ending, duration ENDING_CLIPS = [ (SKIP_ENDING+75, 15), (SKIP_ENDING+30, 30) ] files = os.listdir(INPUT_FOLDER) for file in files: full_filename = INPUT_FOLDER +"/"+file result_filename = "output/" + file + RESULT_SUFFIX + ".mp4" video = VideoFileClip(full_filename) #, target_resolution=(720, None)) duration = int(video.duration) cut_times = [] clips = [] for cut in INTRO_CLIPS: cut_times.append((cut[0], cut[0]+cut[1])) calc_cuts_start = INTRO_CLIPS[-1][0] + INTRO_CLIPS[-1][1] calc_cuts_end = duration - ENDING_CLIPS[0][0] - CUT_DURATION interval = int((calc_cuts_end - calc_cuts_start) / CUTS) cuts_start = calc_cuts_start + int(interval/2) cuts_end = calc_cuts_end - int(interval/2) for idx in range(CUTS): start_at = (idx*interval) + cuts_start cut_times.append((start_at, start_at + CUT_DURATION)) for cut in ENDING_CLIPS: cut_times.append((duration-cut[0], duration-cut[0]+cut[1])) for cut in cut_times: clips.append(video.subclipped(cut[0], cut[1])) final_video = concatenate_videoclips(clips) # final_video.write_videofile(result_filename, preset="ultrafast", threads=4, fps=10, audio=False) #, ffmpeg_params=["-scale","1280:-2"]) # final_video.write_videofile(result_filename, codec="libx265") final_video.write_videofile(result_filename, codec="libx264", preset="slower") ```