← All tools & apps

Frames

Samples random frames from a folder of videos to build an image training set.

Frames app interface

Overview

Builds an image corpus from video. Point it at a folder of videos, choose how many frames you want, and it samples that many random moments across all of them — weighted by each video's length — and saves them as JPEG or PNG stills, optionally resized. Made for assembling training image sets for generative image models.

How it works

Frames treats a whole folder as one pool of footage, so “give me 2,000 frames” is a property of the folder rather than of any one file.

  1. Allocation. It reads every video's duration and divides the requested number of frames between them in proportion to length, so a long video contributes more frames than a short one. Rounding leftovers go to the videos with the largest remainders, so the total comes out exact.
  2. Sampling. Within each video it picks that many moments uniformly at random, avoiding the first and last 2% of the running time, where fades, titles and black frames are common.
  3. Extraction. Each moment is decoded frame-accurately, with no snapping to the nearest keyframe, and saved as JPEG (adjustable quality) or PNG, optionally resized on its long edge. Unreadable frames are skipped and the run carries on.