Framerate conversion

Input duration

Seconds
2 frames
0.08 sec(s)

Conversion 'conform': 24 → 23.976fps

Definition
The total # of frames stays the same
2 frames
Speed
video is slowed down from 24 to 23.976 fps
-0.1%
Audio
As a result, the audio will sound lower
Correct audio
pitch up by +0.1% (0.017 semitones)
100.1%
Convert video
ffmpeg -i [input] -r 23.976 -filter:v "setpts=1.001*PTS" -y [output]
Convert audio
sox [input] [output] tempo 0.999
ffmpeg -i [input] -filter:a "atempo=0.999" -vn [output]
Duration: time
2 frames / 23.976 fps
0.08 sec

Conversion 'interpolate': 24 → 23.976fps

Definition
The total duration stays the same
0.08 sec
New length
0.08 seconds * 23.976 fps
2 frames
Naive conversion
drop a frame every
1000 frames
Convert video
ffmpeg -i [input] -r 23.976 -y [output]
Convert audio
audio stays exactly the same

Explanation

  • Calculate # frames from time duration and vice versa. e.g. 93 sec @ 24fps = 2232 frames
  • Calculate how audio and video should be manipulated to change from one framerate to another, using sox and/or ffmpeg
  • When is this necessary? If you have a video that was recorded in 25fps(PAL) or 30fps(NTSC), and you want to show it on a cinema screen: you have to convert the framerate to 24 fps.