Windows – Extract Image Frames from Videos
Have you ever wanted to convert a video to images (extract multiple screenshots) or generate a thumbnail collage from video screenshots (eg 1 image = 16 thumbnails)?
1. Convert video to images (extract screenshots)
Yes, I know most players have a “take screenshot” kind of option / shortcut key and you can save screenshots with the press of a button. But I want, for example, to convert a two minute video into 120 images (1 image every second).
For this you need just the ffmpeg executable downloadable from here: https://ffmpeg.org/ or https://github.com/BtbN/FFmpeg-Builds/releases/tag/latest
Put just the ffmpeg.exe file into your movie folder, then open Command Prompt and add the following command: ffmpeg -i VIDEO.mp4 -vf fps=1/1 img%04d.jpg
- ffmpeg = use ffmpeg executable you just downloaded
- -i VIDEO.mp4 = input video file
- -vf fps=1/1 = create one image every 1 second of the video
- img%04d.jpg = output image name template (will look like “img0001.jpg, img0002.jpg…”)
If you are using Powershell you might need to add .\ in front of the above command: .\ffmpeg -i VIDEO.mp4 -vf fps=1/1 img%04d.jpg
The result is something like the following (note: the code might show errors in cmd/powershell depending how your video was created, but the images should still be generated):
2. Generate thumbnails from screenshots
For this you need Media Player Classic that you can get from here: https://www.filecatchers.com/media-player-classic-portable/
Just open the video in Media Player Classic, then go to File – Save Thumbnails…
Then browse for the location where you want your thumbnail image be saved, choose options like number of thumbnails (rows x columns), image type and quality, then click Save.
Then Media Player Classic will go through your video, extract the screenshots and generate your thumbnail collage.
In order to have a better view of the quality of the video, you can either choose less rows and columns (3 x 3) or a greater image width. I used the default 4 x 4, 1024 px and here’s the result: