FFmpeg · Command Guide

How to Change a Video's Frame Rate With FFmpeg

Converting a video to a different frame rate — either to match a platform's requirement, to reduce file size, or to fix a mismatch causing playback stutter.

Converting a video to a different frame rate — either to match a platform's requirement, to reduce file size, or to fix a mismatch causing playback stutter.

The command

ffmpeg -i input.mp4 -r 30 -c:a copy output.mp4

What each flag does

-r 30Sets the output frame rate to 30fps — FFmpeg duplicates or drops frames as needed to hit this rate from the source.

Where this goes wrong

Simple frame dropping/duplication (what -r does by default) can look choppy on significant frame rate reductions, like 60fps to 24fps — every other frame just gets discarded rather than blended, which shows up as slight judder on fast motion.

Smoother frame rate conversion (motion interpolation)

ffmpeg -i input.mp4 -vf "minterpolate=fps=30" -c:a copy output.mp4

This generates new in-between frames by estimating motion, rather than just dropping or duplicating existing ones — smoother, but much slower to encode and occasionally introduces visible artifacts on complex motion.

After the command

Frame rate is a technical export setting. The perceived smoothness people actually notice comes from pacing and motion design — the layer a template adds on top of a correctly encoded clip.

See the templates

Common questions

What frame rate should I export for social platforms?+
24, 25, 30 fps are all universally accepted — there's rarely a reason to go higher unless the platform specifically supports and benefits from 60fps content.
Does changing frame rate affect audio sync?+
Not with these commands — audio duration is independent of video frame rate, so sync is preserved as long as you don't also apply a speed filter.
Why does my footage look stuttery after converting 60fps to 30fps?+
Standard frame dropping from an even ratio like 60→30 is usually fine — stutter is more likely from an uneven ratio (like 60→25) where dropped frames land unevenly in time.