2
votes

I use ffmpeg to create videos, it is awesome tool. I create videos from pictures and need to make them as smooth as possible. I found, that what I need called 'motion interpolation'. I started to search all forums, and found only 3 things can help me: slowmovideo, butterflow and new ffmpeg's filter minterpolate.

slowmovideo needs many configuration, I was not able to get it to work as I want. with butterflow, I tried anything. From installing OpenCL, OpenGL and other stuff to switching to nvidia binary drivers and installing all sdk tools and cuda. It never worked. Some error about cuda, and google don't know about it.

So third option was the only one available. When I tried it, it did exactly what I want! But it is incredibly SLOW. I have 8-core CPU, and it processes about 0.1-0.3 fps. And uses just 1 CORE, no video card.

Is there any ways to motion interpolate frames on GPU or on CPU but faster? Only GNU/Linux

2
try SVP its fastest from all the option tried so far and has this feature of making 60fps realtime with less artifacts, its not free in windows though - PauAI

2 Answers

3
votes

Is there any ways to motion interpolate frames on GPU?

Using minterpolate? No. It is using libswscale which has no video hardware acceleration support that I am aware of.

or on CPU but faster?

You could experiment with the various minterpolate options to possibly increase speed. Or offer a bounty on the bug tracker or Bountysource to get threading support enabled, or submit a patch enabling it (although I'm not sure if that is possible or realistic for this filter).

Edit: Shortly after answering I saw that you asked this on the ffmpeg-devel mailing list where a developer suggested a bounty, so that may be your best choice if you want to use this filter and get increased speed.

3
votes

I know it's a dumb solution but it does give you the speedup you want: if you have multiple clips, you can run a separate ffmpeg command for each clip at the same time without affecting the performance of each process, until you have more processes than cores.