How to extract frames from video with high quality? Let's figure out how a video or animated GIF is created before that.
A video file is made up of a series of still images. Every individual of these still images is called a frame. When these frames are played one by one continuously at a certain rate, say 24 frames per second, they will be perceived as motion by the human visual system. The faster the images are played, the smoother the motion in the video will be.
So back to the question. Taking a screenshot will do the job when you just want to capture an image or two. But when you want to extract a series of frames, or even all frames in just one second, that will be incredibly inefficient, and the image quality will be downgraded. For that purpose, here we list 4 ways to extract frames from video with high quality, as well as the easy-to-follow guide. Dive in and find them out!
1. Best Free Way to Extract Frames from Video - VideoProc
Compared with tools of all kinds, using VideoProc could be one of the best and easiest ways to extract frames from video without compromising high quality. This tutorial will show you the way.
Assuming you want to extract frames from mp4 and you've got your VideoProc ready. If not, just download VideoProc for free to extract frames from your video.
Extract Frames from Video with VideoProc
Step 1. Go to the Video from VideoProc main interface, and click + Video to import MP4 video
Step 2. Click the Toolbox tab at the bottom, and double-click on the Snapshot icon.
You can also hover to the Snapshot icon, and click its gear icon to open up the window.
Step 3. Set the parameters in the pop-up Video Snapshot window, and click Done when you finish.
Here you can choose a picture format, specify the image size and picture count, set the start time, end time, or duration of the video that you want to extract frames from.
Step 4. Hit Run to extract frames from the video.
In the above steps, the picture count is set to 10, which means VideoProc will extract 10 frames from the video at even intervals. If you want to extract all frames from a video, the picture count should be set to the result of frame rate multiplied by duration. In this way, you can convert the video to image sequence without missing any frame.
Extract A Still Picture from Video with VideoProc
People want to get a still picture rather than extract frames from video when they want to use it as a video thumbnail for TikTok, YouTube, or other video sharing sites. Of course, you can just pause the video and press the Print Screen key to extract a single frame from a video, but VideoProc can get the job done with better quality.
Step 1. Launch VideoProc and load your video file.
Step 2. Click the Play button to preview your video.
Step 3. Hit the camera icon when you see the frame you want.
Step 4. Open the Output Folder to check the captured video snapshot.
VideoProc leaves you only the key parameters to customize. That's the reason why it's such an easy way to extract frames from video yet still with high quality.
- As a video processing software, you can extract high-quality frames by setting the output resolution as HD, 4K, and more.
- VideoProc supports wide input options, MP4, MOV, MKV, 3GP, AVI... No matter what format your video is, VideoProc got you covered.
- VideoProc is cross-platform. Extract frames from video on windows 10 can be done with VideoProc. When you extract frames from video on your mac, you can also do your job using VideoProc.
- With the advanced full GPU acceleration, you can get your job done faster and stabler.
2. Extract Frames from Video via VLC
VLC Media Player is an open-source media player, and it's widely used to play all types of video files. Furthermore, you can use VLC to extract frames from a video. The following steps will show you how.
Step 1. Launch VLC Media Player and go to Tools, then click on the Preferences from the drop-down menu.
Step 2. Select the option All under Show Settings in the lower-left corner of the interface.
Step 3. Select and expand Video > Filters in the Advanced Preferences window.
Step 4. Find and click on Scene Filter.
Step 5. Set the image format, specify the path to save the files, and give the recording ratio.
Step 6. Navigate to the Filters in the Advanced Preferences tree, click but don't expand it, tick the box before the option of Scene video filter. Press Save.
Step 7. Play the video file from which you want to extract frames. The frames will automatically start saving.
- VLC will extract frames from the video until you press stop, pause, or skip through the video. In another word, you'll have to let your video play when you extract frames from the video.
- If you follow the preceding steps but no frames are being extracted, re-open the program, then play your video again. That should solve your problem.
- The preceding settings will apply to all the videos later. If you don't want VLC to do the same with every video you play, go back, untick the box before the option of Scene video filter, and press Save.
VLC lets you set the image format, which means you can get higher quality than online tools when you extract frames from a video. And there are other media players that can do the same job as VLC, for example, you can also extract frames from video using GOM Player. The biggest drawback with these players is that you'll have to leave the video playing in the meantime if you want to extract frames from it.
3. Extract Frames from Video Using FFmpeg
For experienced users, FFmpeg is also a good way to extract frames from video with high quality. FFmpeg is a very popular command line-based tool to process, convert and manipulate video, audio, and other multimedia files. Actually, it's the backbone of many video players and converters.
Let's say you are going to extract frames from video on windows 10, you have a video file in mp4 format, and you want to extract 1 frame every 1 second from your video. Follow these steps to extract frames from mp4 using FFmpeg.
Step 1. Add FFmpeg to your Windows path, and open the Command prompt.
Step 2. Type the following command.
ffmpeg -ss 04:00 -t 03:00 -i yourvideofilename.mp4 -r 1 image-%03d.png
Step 3. Press Enter on your keyboard to run.
Here's the explanation:
- -ss adds a starting point. If you want to extract from the beginning, delete this command.
- -t is used to add a duration of extracting frames. This can be deleted if there are no special needs.
- -i is the input video file with the path.
- -r indicates frames to capture and reverse how you want it to work.
- 1 means this command will save 1 frame every second. If you want to save 1 frame every 2 seconds, replace 1 by 0.5. Just use 1/seconds and you'll get the ratio you need.
- -%03d will produce image names with 3 digits like 001, 002, etc. If you want to get image names with 4 digits, use -%04d.
- .png shows the format of frames that you extract from the video. You can also use jpeg, bmp, etc.
FFmpeg allows you to indicate commands when you want to extract frames from video with high quality. If you are an experienced user who is familiar with these commands, FFmpeg is really easy to use. Besides, you can also head to ffmpeg.org for more documentation. However, FFmpeg is certainly not a solution for beginners, since it's based on and can only run from the command line.
4. Extract Frames from Video Online
If you don't want to install any software on your computer, then Ezgif can be a good choice.
Step 1. Upload your video file, or paste the video URL after heading to https://ezgif.com/video-to-jpg.
Step 2. Click the "Upload video" button, then wait till the uploading progress is done (The progress bar is located in the lower-left corner of the screen.)
Step 3. Do some fine adjustments to the parameter settings, like size, frame rate, or choose the part of the video you want to extract frames from, etc.
Step 4. Click the "Convert to JPG" button.
Step 5. Download the sequence of JPG images as a ZIP archive.
Ezgif is quite an easy way to extract frames from video online. Upload, set, convert, download, and your job will be done. But be sure to notice, there are some shortcomings when you extract frames from video online.
- This kind of online tool relies highly on your network conditions. The process will take a while when uploading and extracting. If your network crashes during the process, you'll have to do it all over again.
- The max file size you can upload is 100MB in Ezgif. If your file size is more than 100MB, unfortunately, you cannot extract frames from your video using Ezgif.
- You can only extract frames in JPG format using this link, which is not a lossless solution.
- Your video and images extracted will be uploaded to their servers, although they will only be kept for some time.
That's all our 4 easy ways to extract frames from video with high quality. If the quality of the frames being extracted from the video doesn't bother you very much and you've got a good network condition, it's a good option to extract frames from video online. If you are gonna watch the video anyway, you can extract frames from this video using VLC media player. If you are an experienced user and familiar with the command line, FFmpeg would help you extract frames from video perfectly.
If you are not in any of these above situations, try VideoProc. With the GPU acceleration, you'll get the buttery smooth video editing and transcoding experience without sacrificing quality.
Download VideoProc for free to extract frames from your video!
1. How can I get a still picture from a video?
You can use VideoProc as mentioned before. Load your video file in VideoProc > Click the Play button to preview > Hit the camera-like Snapshot icon. In this way, you can get a still picture from a video with high quality.
2. How to extract one frame of a video every N seconds?
Use FFmpeg to extract one frame of a video every N seconds. Replace the number in the "-r 1 image" command. Use 1/the number of seconds and you'll get the result with which you should replace 1. For example, 0.5 for one frame every 2 seconds, 0.2 for every 5 seconds, 0.0167 for every 60 seconds.
3. How to extract frames from video on windows 10?
Extract frames from video on windows 10 can be done with VideoProc. It's cross-platform and compatible with Microsoft Windows 7, Windows 8/8.1, Windows 10, or later (32-bit and 64-bit versions supported).