1

I have a looping blender animation in mp4 format that is 10,000 frames long, but I basically want to make it longer to the point where the changes between frames are imperceptible, but the animation still progresses over time. I've tried just stretching the clip in kdenlive, but it looks like it does no frame interpolation with default settings, and the transitions between animation positions is perceptible and instantaneous.

I've seen examples of ffmpeg minterpolate used to convert to higher frame rates, and ffmpeg examples to slow down videos (and increase video duration), but is it possible to do both at once with minterpolate?

I'm hoping to get the length to 10 hours, but details about the end frame rate, codecs, etc isn't too important as long as the video

  1. is able to be uploaded to youtube (https://support.google.com/youtube/answer/1722171)
  2. takes <24 hours to render
  3. doesn't have perceptible changes in the animation

1 Answer 1

1

I also asked this question on reddit and got a good answer, so I'll paste it here for maximum future search-ability of this problem:

minterpolate has multiple modes:

  • Duplicate frames as necessary
  • Blend frames as necessary
  • Actually calculate motion vectors and perform interpolation

The third option is the highest quality (if it works correctly, which it doesn't for me, always produces weird artifacts) but it's incredibly slow. Definitely not possible in less than 24 hours. So option two is probably what you're after. That being said, 10,000 frames in 10 hours (36,000 seconds) equals a raw framerate of 10/36 fps (0.2777778), so I don't think frame blending will look very good, but I guess you could try (I'm assuming your animation is stored in a series of image files):

ffmpeg -f image2 -framerate 10/36 -i "frame_%05d.png" -filter_complex "[0:V:0]minterpolate=fps=25/1:mi_mode=blend[out]" -map "[out]" -c:v libx264 -pix_fmt yuv420p -crf 20 -f mp4 -movflags +faststart "output.mp4"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.