Interpolation with FFmpeg

Is there a way to interpolate frames with ffmpeg? and not just copy them. I tried slowmovideo and boy it is slow. I used Twixtor in vegas and hated it. I gave megui and could not get it properly set up.

So is there a way to interpolate with ffmpeg??


Yes, there is a way. Since November 2016, the libavfilter library has a video filter called minterpolate, which performs motion interpolation.

Example usage:

ffmpeg -i input.lowfps.hevc -filter "minterpolate='fps=120'" output.120fps.hevc


Have a look at this AI project with impressive results: http://jianghz.me/projects/superslomo/

It has a Python implementation which can accelerate using CUDA. https://github.com/avinashpaliwal/Super-SloMo

There's also an easy tutorial for that Python impl, with honest examples. https://www.youtube.com/watch?v=mXwXtIiOjRA


You can use Butterflow as it uses ffmpeg https://github.com/dthpham/butterflow

It's a command-line tool that can:

Increase a video's frame rate by rendering new frames based on motion (pixel-warping + blending). Make smooth motion videos (simple blending between frames). Leverage new frames/increase in frame rates to make fluid slow motion videos.