10/23/2025
Extract a single frame, thumbnail, or image sequence from video with FFmpeg. Includes JPG and PNG output, timestamp seeking, and batch frame extraction.
How to Extract a Frame from a Video with FFmpeg
FFmpeg can save a precise video frame as a JPG or PNG image. This is useful for thumbnails, cover images, previews, screenshots, and visual QA.
For the short command page, see Extract a Frame from Video with FFmpeg.
Extract One Frame at a Timestamp
ffmpeg -ss 00:00:15 -i input.mp4 -frames:v 1 thumbnail.jpg
This saves one frame from the 15-second mark as thumbnail.jpg.
High-Quality JPG Thumbnail
ffmpeg -ss 00:00:15 -i input.mp4 -frames:v 1 -q:v 2 thumbnail.jpg
For JPG output, lower -q:v values mean higher quality. 2 is a common high-quality choice.
Extract a PNG Frame
Use PNG when you want lossless image output:
ffmpeg -ss 00:00:15 -i input.mp4 -frames:v 1 frame.png
PNG files are often larger than JPG, but they avoid JPG compression artifacts.
Extract One Frame Every 10 Seconds
ffmpeg -i input.mp4 -vf "fps=1/10" frame_%03d.jpg
This creates files such as frame_001.jpg, frame_002.jpg, and frame_003.jpg.
What the Options Mean
| Option | Meaning |
|---|---|
-ss 00:00:15 |
Seeks to the timestamp before extracting the frame. |
-frames:v 1 |
Outputs exactly one video frame. |
-q:v 2 |
Sets high JPG quality. |
fps=1/10 |
Extracts one frame every 10 seconds. |
%03d |
Generates numbered output filenames with three digits. |
Common Problems
The frame is slightly different from expected.
Put -ss after -i for more accurate seeking, at the cost of speed:
ffmpeg -i input.mp4 -ss 00:00:15 -frames:v 1 thumbnail.jpg
The JPG looks too compressed.
Use -q:v 2 or switch to PNG.
Many frames overwrite each other.
Use a numbered filename pattern such as frame_%03d.jpg.
Related FFmpeg Pages
- See the recipe: Extract a Frame from Video.
- Build conversion commands with the Convert Video tool.
- Learn how to cut a video before extracting a frame.