Sampling every few seconds against grabbing one exact frame
The What to extract menu picks between two genuinely different commands, not two flavours of the same one.
A frame every few seconds hands the clip to ffmpeg’s fps filter as fps=1/N, where N is whatever you put in Seconds between frames (interval mode). The filter walks the whole video and emits one image at each step, written out as frame-0001.jpg, frame-0002.jpg and so on. The four-digit padding is there so the stills sort in the same order numerically and alphabetically, which matters the moment you open the archive in a file manager.
One frame at a chosen time builds a much shorter command: seek to your timestamp, take one frame, stop. The seek is placed after the input, which makes it frame accurate rather than a jump to the nearest keyframe. That is the opposite of the choice Trim Video makes, where the seek sits before the input so the cut can be a near instant keyframe jump with no decoding at all. Here accuracy is the whole point: if you type 90, you want the frame at ninety seconds, not whichever keyframe happens to sit before it.
The 300 frame ceiling, and the interval that keeps you under it
Every interval run carries a hard cap of 300 output frames. It exists because nothing else in the command bounds the output: a two hour recording sampled once per second would try to write over seven thousand JPGs into a browser tab’s memory before anything could be downloaded.
The arithmetic for staying under the cap is simple division. A twenty minute clip is 1200 seconds, so four seconds between frames covers it exactly. An hour needs twelve. A five minute clip lands right on the ceiling at one second apart. If you go past the cap the run does not fail, it just stops early, which is easy to miss if you were not counting. If you do not know the duration, Video Info Viewer reports it, and it opens the same MKV and AVI containers this tool accepts.
The interval field is also clamped before it ever reaches ffmpeg. Anything above zero but under half a second becomes half a second, and anything over 600 becomes 600. A zero or negative box quietly becomes one second rather than dividing by nothing, and a box you clear falls back to that same one second, because one second is what the field starts at.
Running an extraction, option by option
- Drop your video on the panel or press Choose a file. MP4, MOV, M4V, WEBM, MKV and AVI are all accepted.
- Set What to extract to A frame every few seconds for coverage, or One frame at a chosen time for one specific moment.
- Fill in the field that belongs to your mode: Seconds between frames (interval mode), or Timestamp in seconds (single-frame mode), where 90 means one minute thirty. The other field is simply ignored.
- Leave JPG quality on Balanced (good quality, smaller) unless you plan to crop or edit the stills afterwards.
- Press Extract Frames from Video and let the progress bar run.
- Download the result, then press Process another if you want a second pass at a different interval.
High, Balanced and Small on the JPG quality scale
The three quality choices are not percentages. They map onto ffmpeg’s -q:v scale for JPG, which runs from 2 at the top to 31 at the bottom, and the tool uses 2 for High, 5 for Balanced and 10 for Small. Balanced is the default because a frame destined for a thumbnail or a contact sheet gains very little from the top setting and costs noticeably more disk.
What no setting can do is add detail that the video never stored. A still is a decoded frame of an already compressed stream, so blocking, banding and baked in motion blur come along for the ride. Why Video Re-encoding Loses Quality covers where that damage comes from; the short version is that High only stops the JPG stage from adding more of it.
The names you get back, and when the archive is skipped
An interval run on holiday.mp4 that produces several frames gives you holiday-frames.zip. The archive is written with the stored method rather than deflate, because JPGs are already compressed and squeezing them again would burn time for nothing. If the run produced exactly one frame, you get holiday-frame-0001.jpg on its own instead.
Single frame mode names the file after the moment it came from, so a grab at ninety seconds arrives as holiday-frame-90s.jpg and one at the very start as holiday-frame-0s.jpg.
If a sampling run finds no frames at all, the module raises a specific complaint about it, but the panel replaces every failure with the same neutral sentence. The real message goes to the browser console, so that is where to look when a run stops without an obvious reason.
Turning the extracted stills back into something
Frames are rarely the finished product. Unzip the archive and the JPGs inside are exactly what Make a GIF from Photos accepts; just add them in numeric order, because that tool animates photos in the order they were added rather than by file name. For a thumbnail, one good still plus Crop Images at 16:9 gets you most of the way there in two passes.
Working the other way round also helps. If you only need frames from one section of a long recording, and the source is one of the four containers the trimmer takes (MP4, MOV, M4V or WEBM), cutting first is free, since that tool copies the streams instead of re-encoding them, and it leaves the sampling run far less footage to decode. An MKV or AVI recording has to be sampled whole, so reach for a longer interval there instead.