0

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.