Create a video thumbnail grid
gif & images
// what it does
Creates a single contact-sheet image from the video. select='not(mod(n\,100))' keeps every 100th frame by frame index n, scale=320:180 resizes each pick, and tile=4x4 lays 16 of them into one 4-by-4 grid; -frames:v 1 outputs that composed grid as a single JPEG. Handy for a quick visual overview of a long video.
// shell
$ ffmpeg -i input.mp4 -vf "select='not(mod(n\,100))',scale=320:180,tile=4x4" -frames:v 1 thumbnail.jpg// gotcha
The comma inside mod(n\,100) must be backslash-escaped because commas otherwise separate filters in the filtergraph — unescaped, the expression parses wrong. select works on frame index, not time: the 16 picks are frames 0, 100, ..., 1500, so a clip shorter than ~1500 frames won't fill all 16 tiles and the trailing cells stay blank.