Convert video to images with FFmpeg in Linux
This guide will show you how to efficiently extract the images from the video using the ffmpeg utility.
Some time ago, you could read how to extract images with VLC player. It is a great tool but it is not always comfortable. At the same time, there is a method that requires much fewer efforts: ffmpeg utility. You will need to type one simple command in the Linux terminal. Let’s look closer how to convert video to images with ffmpeg on your Linux system.
You can watch the video tutorial or continue reading further.
How to convert get images from a video with ffmpeg
ffmpeg -ss 01:44 -i Linus-Torvalds-Nvidia.mp4 -t 00:04 Linus-Torvalds-Nvidia_%03d.png
What does the command mean?
Linus-Torvalds-Nvidia.mp4
is the source file name.
Linus-Torvalds-Nvidia_%03d.png
is the converted images names.
%03d
indicates how many digits the output file name will contain. In my case, it will have 3 digits. The file name will look like these: Linus-Torvalds-Nvidia_001d.png, Linus-Torvalds-Nvidia_002d.png, Linus-Torvalds-Nvidia_003d.png.
-ss
defines the time when the utility starts to extract images.
-t
specifies the duration of the fragment to be converted.
-i
is the input video name you are going to convert.
Having entered the command, wait some time until the utility extracts all the images from your video file in a set time limit. The required time will depend on how powerful is your computer and how long the time period you specified to extract.
Check the results
To check the results, go to the file manager. You will see many generated images.
After that, you can do everything with these images. For example, create GIF animation.
Conclusion
It is very easy to convert video to images with ffmpeg. This is a powerful tool to extract frames from a video in efficient way: you need to run only one command.
Please, feel free to share any other ways to convert video to images in Linux down below.
Comments
gianluca brizi
Hello. Good guide. If I want to create a .jpg sheet of thumbnails? If I need to represent the video content in a file using screenshots of the entire video? I need to have a screenshot every minute of the video. And then insert every image in a file .jpeg that contains all images exported by VLC. Howto? Thanks.
Troels
Works for me. Use -r to set the frame rate. E.g. “-r 10” saves 10 images per second of video.
tt
doesn't work