

There is also other cute bonus stuff we can do this way, we'll get to those parts later. Might as well cut it down, and have ffmpeg do everything for us.

The reason is that VMAF only works with YUV format, and if you're planning to test a bunch of different videos, then its pretty likely that you will need to use ffmpeg to convert stuff regardless. Now, you might be wondering, why would we bother with this when we could just use the tool that Netflix released (vmafossexec.exe or vmaf.exe)? Cant we just use this instead? (now replaced by vmaf) I prefer placing the models in a short path, for instance in a subfolder of where ffmpeg is located, as this might make it a bit easier to to reference (which we will need to do). The models are located in the "models" folder, make sure you grab all of them, to be sure. I will using and referring to the default model vmaf_v0.6.1.json.
FFMPEG CONVERT FRAME RATE WINDOWS WINDOWS
If you're on windows like me, and dont feel like compiling, you can grab this link (needs 7zip), courtesy of "Gyan":ĭepending on the scenario you want to test you can choose different models. The despair mostly comes later though, once you have it up and running.įor this we will need a couple of different things. Unfortunately, it's not entirely straightforward, especially on windows. VMAF is an incredibly useful tool to do video analysis and comparisons. By playing the output in a player that allows seeking frame-by-frame, you can inspect which frames have been dropped or duplicated.NOTE: With the release of VMAF 2.0, the pkl models have now been swapped for the json models.

This 10 second, 60 fps video called test.mp4 will show the frame count at the bottom, and a second counter in the middle of the frame. In order to verify which frames are duplicated or dropped by a frame rate change, you can first generate a sample video:įfmpeg -f lavfi -i testsrc=duration=10:size=854x480:rate=60 \ If the input video was 60 fps, ffmpeg would drop every other frame to get 30 fps output.

To change the output frame rate to 30 fps, use the following command: In the following we will focus on using the fps filter, as it is more configurable. See the documentation of the fps filter for details. It offers five rounding modes that affect which source frames are dropped or duplicated in order to achieve the target framerate.
FFMPEG CONVERT FRAME RATE WINDOWS HOW TO
If you are interested in keeping the number of frames, but squeezing / stretching the video, see: How to speed up / slow down a video How to change the frame rate Please look at the respective encoding guides for the codec you've chosen. Without setting appropriate output quality or bit rate, the video quality may be degraded. Note: Changing frame rates requires the video to be re-encoded.
