How to Convert 60fps to 24fps with FFmpeg FPS Filter

Changing a video’s frame rate is a common post-production task, often used to achieve a cinematic aesthetic or reduce file size for web streaming. This article provides a quick, step-by-step guide on how to use the FFmpeg fps video filter to convert a high frame rate 60fps video down to a standard 24fps. You will learn the exact command-line syntax required, how the filter processes the video frames, and why this method is preferred for maintaining perfect audio-video synchronization.

The Standard FFmpeg Command

To convert a video from 60fps to 24fps using the fps filter, open your terminal or command prompt and run the following command:

ffmpeg -i input.mp4 -vf "fps=24" output.mp4

Command Breakdown:

How the FPS Filter Works

When reducing the frame rate from 60fps to 24fps, the fps filter drops specific frames at regular intervals to match the target rate of 24.

Because it drops frames rather than slowing down the playback speed, the overall duration of the video remains exactly the same. Consequently, your audio track is preserved and remains perfectly synchronized with the video without requiring any pitch or speed adjustments.

Advanced FPS Filter Options

The fps filter also allows you to control how frames are dropped or duplicated using the round option. By default, FFmpeg uses rounding to find the nearest input frame. You can customize this behavior if you experience stuttering:

ffmpeg -i input.mp4 -vf "fps=fps=24:round=near" output.mp4

The available rounding methods include: * near: Round to the nearest source frame (default). * inf: Round up to the next frame. * zero: Round down to the previous frame.

Using the fps filter is the most reliable method in FFmpeg for altering frame rates because it handles timebase adjustments automatically, ensuring compatibility across all major media players.