# Framerate conversion

It is possible to convert a video with framerate X to a video with framerate Y. There are 2 methods: conform = the total number of frames remains the same, they are just played slower or faster to accommodate the new framerate. interpolate = the total duration of the video remains the same, but frames are added or dropped to match the new framerate.

750 frames

### Conversion 'conform': 25 → 24fps

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

### Conversion 'interpolate': 25 → 24fps

##### Definition
The total duration stays the same
##### New length
30 seconds * 24 fps
##### Naive conversion
drop a frame every
##### Convert video
ffmpeg -i [input] -r 24 -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.