May 6, 2022

How to change the frame rate of a video

Before diving into a video project, it is best practice to ensure that all the video clips are set to the same framerate (expressed as FPS, or "frames per second") as that of the project itself. This will avoid unexpected issues such as skips, jumps, jitters and other visual artifacts related to dynamic frame synchronization across multiple clips.

Most professional non-linear video editing platforms will either warn, or simply block the user trying to include clips using variable framerates. If confronted with varying framerates, the editor will simply skip the extra frames, or conversely duplicate a frame to make up for the missing ones. Those actions directly affect the fluidity of the resulting video and will have undesirable (and often unpredictable) effects on the final composition.

The way to avoid these problems is to convert all the source clips to an identical framerate before incorporating introducing them to a project.

As usual, there are multiple ways to convert videos to a base framerate. In this article, we'll look at two of them.


1

If you already use Handbrake to transcode and optimize the output of your projects, you can use the same tool to preprocess your source clips and normalize the frame rates to that of the container project. In Handbrake, you can set the framerate of the target clip under the Video tab, as seen  below. This method works fine for sporadic needs, but it can be challenging at scale. Handbrake is a rather crowded interface that offers too many, sometimes confusing, options. Users will need to be careful in ensuring that they are not inadvertently converting other properties of the original clip or clips.

Handbrake setting framerate


2

The simplest and fastest way to convert a clip to a different framerate is to use ffmpeg from the command line. Simply open a terminal in the folder containing the source clip(s) and issue the following command for each video file that needs fps adjustments. Replace Source.mp4 and Target.mp4 with the filename of the source clip and target clip, respectively. Replace the numeric value (60) with that of the uniform framerate.

ffmpeg -i Source.mp4 -filter:v fps=fps=60 Target.mp4

(simply click on the line above to copy it to your clipboard)

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram