<p>This works for me (I use it a lot):</p>

<pre><code>ffmpeg -i [inputfile] -r 24 -vf "minterpolate=fps=96,setpts=N/(24*TB)" [outputfile]
</code></pre>

<p>What I would do is see how well the command works on its own and then manually fix any artifacts you don't like.</p>

CC BY-SA 4.0
2019-10-20T16:21:17.017Z
2019-10-20T16:37:54.923Z
2019-10-20T16:37:54.923Z
thomashollier
<p>I have 50 hand-drawn frames, an animation. They were setup to be played back at 24 fps. I don't need to worry about any pre-existing audio sync.</p>

<p>I wanted to turn these frames into a video segment that would extend the playback of these frames over a longer period of time at a framerate of 24 fps. Using a generic speed control of 0.25x to slow down playback over a longer number of frames created a laggy experience since it just copied each existing frame 4x. This was the ideal extension length though (making 50 frames into 200).
So I thought to use an interpolation tool, ffmpeg's minterpolate to build inbetween motion on the inbetween 150 duplicate frames.</p>

<p>I exported my original 50 frames as 16 bit png. My intent is to apply the ffmpeg operations to the png and create a segment of 200 png/frames with the desired changes so they can be played back at 24 fps as smooth as possible.</p>

<p>So far I've been using the command</p>

<pre><code>ffmpeg -start_number 1 -i %d.png -vf minterpolate=fps=96:mi_mode=mci:me_mode=bidir:mc_mode=obmc:me=ds:vsbmc=1 -pix_fmt rgb48be C:\User\interpolated\%d.png
</code></pre>

<p>I thought to set the fps to 96, since that's 4x the intended 24fps.
This produced subpar results though, and I wanted to know how I can improve the command for the situation. </p>

<p>Also I'm getting confused if it would be better to create the inbetween frames and then feed them into the minterpolate (i.e. make the input the 200 frames), or have the interpolate create them the extra 150 frames from scratch or if I should be specifying a speed control in the command above.</p>

<p>Constraints: the fps playback must be 24fps; I'll need to create a minimum of 100 frames although like I said 200, or even more, is ideal.</p>

<ffmpeg>
ffmpeg Optimizing minterpolate at lower fps
kite
# ffmpeg Optimizing minterpolate at lower fps

(Asked by: username_0 on 2019-03-28)

I have 50 hand-drawn frames, an animation. They were setup to be played back at 24 fps. I don't need to worry about any pre-existing audio sync.
I wanted to turn these frames into a video segment that would extend the playback of these frames over a longer period of time at a framerate of 24 fps. Using a generic speed control of 0.25x to slow down playback over a longer number of frames created a laggy experience since it just copied each existing frame 4x. This was the ideal extension length though (making 50 frames into 200).
So I thought to use an interpolation tool, ffmpeg's minterpolate to build inbetween motion on the inbetween 150 duplicate frames.
I exported my original 50 frames as 16 bit png. My intent is to apply the ffmpeg operations to the png and create a segment of 200 png/frames with the desired changes so they can be played back at 24 fps as smooth as possible.
So far I've been using the command
ffmpeg -start_number 1 -i %d.png -vf minterpolate=fps=96:mi_mode=mci:me_mode=bidir:mc_mode=obmc:me=ds:vsbmc=1 -pix_fmt rgb48be C:\User\interpolated\%d.png

I thought to set the fps to 96, since that's 4x the intended 24fps.
This produced subpar results though, and I wanted to know how I can improve the command for the situation. 
Also I'm getting confused if it would be better to create the inbetween frames and then feed them into the minterpolate (i.e. make the input the 200 frames), or have the interpolate create them the extra 150 frames from scratch or if I should be specifying a speed control in the command above.
Constraints: the fps playback must be 24fps; I'll need to create a minimum of 100 frames although like I said 200, or even more, is ideal.

**Tags:** ffmpeg


---

## 1 answers

### Answer by username_1 on 2019-10-20. Score: 4

This works for me (I use it a lot):
ffmpeg -i [inputfile] -r 24 -vf "minterpolate=fps=96,setpts=N/(24*TB)" [outputfile]

What I would do is see how well the command works on its own and then manually fix any artifacts you don't like.


---

