Ask Sawal

Discussion Forum
Notification Icon1
Write Answer Icon
Add Question Icon

How to extract frame from mp4?

2 Answer(s) Available
Answer # 1 #

Every video or animation you see on your television, computer, phone, tablet or even at the movie theater is made up from a succession of still images. These images are then played one after the other several times a second which fools your eye into thinking the object is moving. The quicker the images are played, the smoother and more fluid the movement looks.

Most movies and TV programs are filmed at around 24-30 images per second, each individual image is called a frame which is where you see the term frames per second (FPS). A video file on a computer simply stores all the frames together and plays them in order, and the total frames stored for a typical movie reaches into the hundreds of thousands. If you want to capture an image of one or two frames it’s quite easy and you simply pause the video and press the Print Screen key.

If you want to extract a succession or range of frames or even all frames from a short video clip, capturing the images one at a time is incredibly inefficient and time consuming. For that purpose, you need a program that can extract however many video frames you want and save them to image files automatically, like jpg or png. Here are 5 ways to do it.

The program itself will save frames from a video file to a sequence of JPG images. There are four extraction methods to choose from, extract an image every number of frames, extract an image every number of seconds, take a total number of frames from the video or extract every single frame.

Add any number of video files by using the Add files button or drag and drop, most video formats are supported like MP4, MKV, AVI, VOB, WMV, MOV, FLV and etc. Set your extract criteria and optionally a different save location to the default, then start the process. Extraction times are reasonable and will differ depending on video length and how many frames are being extracted.

There are a few issues with one or two of the preset values or if you enter a custom value in the frame boxes. For instance, the total frames from a video setting of 10 doesn’t produce an expected equal split of 10 frames across the whole video. It’s still a useful tool though and worth checking out because Free Video to JPG Converter is still faster than extracting images in real time.

If you have Windows 10 but not .NET Framework 2/3.5 then it will be offered on install.

Download Free Video to JPG Converter

Note: Like all DvdVideoSoft products, Free Video to JPG Converter always comes bundled with something you don’t really want. At the moment it’s just a DVDVideoSoft product hub which you can delete the shortcut for on your desktop and a stats option on install which is opt in. That could change to anything else at any time though so you just need to pay attention during setup.

VLC is a popular open source media player that can save sequences of images from any video you choose to play. This can be achieved through the main user interface while more advanced users can use Command Prompt. First we’ll deal with the user interface method.

1. If you haven’t already, Download VLC media player and install or Download Portable VLC media player and extract to a folder of your choice.

2. Open VLC, go to Preferences (Ctrl+P) and click on Show All Settings at the bottom left.

3. Expand Video > Filters in the tree and click on Scene Filter. Set the image format (png/bmp/jpg etc), the path to save the files (leave blank to save to your Pictures folder) and the recording ratio. The ratio will save an image every xx number of frames, so if your video is 30 frames per second, a value of 150 will save an image every 5 seconds.

Tip: If you’re not 100% sure of the video’s frame rate, play it in VLC, press Ctrl+J and look for the frame rate number. Using multiples of that value will give you a recording ratio in seconds.

4. Click on Filters in the Advanced Preferences tree (don’t expand it) and tick the Scene video filter box near the top right, press Save.

5. Play the video file and the images will automatically start saving. They will continue to save until you press stop, even if you pause or skip through the video.

Note: If after following these steps images are not being created, close VLC after step 4 and re-open it, then play the video. For some reason more recent versions of VLC do not recognize the scene filter is enabled until you close and re-open the program.

Once you are done saving frames the option needs to be turned off again or it will do the same with every video you play. Follow steps 1 and 3 above then untick the Scene video filter box. The biggest drawback with VLC is that you have to leave the video running while taking the images, for this reason we recommend VLC for shorter clips only unless you plan to watch the video anyway.

Using the Command line to extract image frames with VLC is similar to the GUI method which will save the specified number of frames. Open a Command Prompt and change the directory to where vlc.exe is located, then type in the command below:

Pathtovideo is the name and path of the video file, –scene-path is the target folder for the images while –scene-ratio is the frame save interval. An advantage over the GUI method is the ability to use –start-time and –stop-time to start and stop saving frames at specific times (in seconds). Leave those switches out if you want to play the whole video. Refer to the complete list of commands at the Videolan website.

VLC will run and start the playback but without the screen. Once finished, it will automatically exit.

VirtualDub is a video processing tool that seems to have been around for ever, but it’s still a popular and useful program. The main issue with VirtualDub is lack of support out of the box for opening video files like MKV, MP4 and MOV, but this problem can be rectified by installing the FFMpeg plugin pack. Here’s how to extract video frames to images with VirtualDub.

1. Download VirtualDub 32-bit version and also the VirtualDub FFMpeg Input Plugin from Sourceforge. Extract both zip archives.

2. Go to the VirtualdubFFMpegPlugin\Plugins32 folder, copy FFInputDriver.vdplugin and the ffdlls folder, then paste both into the VirtualDub\Plugins32 folder.

3. Run Virtualdub.exe and open the video file by using File > Open or drag and drop. If you wish to save every frame of a small video file to images, skip to step 5.

4. Go to Video > Frame rate (Ctrl+R) and select Decimate by, then enter a number to save an image every xx number of frames. The No change option at the top will tell you how many frames per second the current video uses. Click OK.

5. Click on the File menu > Export > Image sequence. Enter the filename to save as, the folder to save into and the output format of BMP, TGA, JPEG or PNG. Then click OK and VirtualDub will begin to process the video.

If the method of extracting every set number of frames is what you are looking for, VirtualDub is by far the best tool to use because it’s incredibly fast to extract the images and much faster than VLC and Free Video to JPG Converter.

An additional option in VirtualDub is setting a specific range inside the video itself so only images between the two points are saved.

Before saving at step 5, use the slider and frame controls to set the start range and press the Home key or selection start button (in the red box above), move the slider to the end of the range and press the selection end button or the End key. Now when you save the images, only the selected frames will be saved between the start and end selection points.

FFMpeg is a framework for encoding, muxing, transcoding, streaming and playing video files, and is the backbone of a vast array of video converters and players. It runs only from the command line so is better suited to experienced users. FFMpeg should handle just about any video file you throw at it. Here’s a simple command line argument.

The -i is the input video file with path and the jpeg filename simply saves jpegs (you can also use png, bmp, tiff etc) with the name and 4 place holding numbers, e.g. image-0001. The -r command is the frames to capture and the reverse of how you would expect it to work. 1 will save a frame every second while 0.5 will save every 2 seconds, 0.2 every 5 seconds, 0.1 every 10 seconds, 0.0167 for 60 seconds and etc. Use 1/seconds in Windows Calculator to get the ratio you need.

More advanced usage can add a starting point in the video file with the -ss command before -i, while -t can also be used to add a duration. Both use an [hours:]minutes:seconds argument.

The above command will start at 4 minutes in, then save a .jpg at 30 second intervals for 3 minutes.

The are hundreds of commands and you really need to read the FFMpeg documentation to understand how it can be fully utilized from the command line and in scripts.

Download FFMpeg

Final Note: There are obviously other tools around that can do a similar task, Batch Video to image Extractor would have been included but it’s quite unstable and has been discontinued by the developer. Daum PotPlayer and GOM Player are media players that work in a similar way to VLC, meaning you have to play the video in real time to get the selected frames.

Winky Lupton
Urban Planner
Answer # 2 #

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 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!

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.

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 extract all frames from the video.

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.

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 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.

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:

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 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.

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

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.

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.

Martin eeve

More Questions