FFmpeg has motion interpolation filter called minterpolate. This filter Creates additional frames based on the movement of video frames. FFmpeg offers so much options on this filter so this website will help you create your own.
Your filter string is:
Specify the output frame rate. This can be rational e.g. 60000/1001
. Frames are dropped if FPS is lower than source FPS.
Motion estimation is applied with smaller block sizes at object boundaries in order to make the them less blur
Scene change leads motion vectors to be in random direction. Scene change detection replace interpolated frames by duplicate ones. May not be needed for other modes.