Log in

View Full Version : Getting the most out of mvtools for frame rate changes


Gargalash
30th December 2011, 20:34
Hello,
I am not knowledgeable of mvtools enough to understand how it works, but by looking around a while ago, I found these lines that do a very good job at changing framerates:

super=MSuper(pel=2, hpad=0, vpad=0)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=2, plevel=0, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=16, blksizev=16, searchparam=2, plevel=0, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, blksizev=8, searchparam=1, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, blksizev=8, searchparam=1, search=3)
backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, blksizev=4, searchparam=0, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, blksizev=4, searchparam=0, search=3)
MBlockFps(super, backward_3, forward_3, num=50, den=1, mode=0)


The thing is that my lack of knowledge stops me from knowing if I can push the vector search further or change other parameters to optimize the results a little more.

Real time processing is not an issue and I am looking for more accurate results that processing speed.

Thanks for your help!

johnmeyer
30th December 2011, 22:16
As always, the answer is: it depends. You didn't specify what sort of video you are starting with, so it's tough to make more specific comments relative to other approaches.

However, your code sample intrigues me because I am right at this very moment in the middle of trying to convert a huge pile of 10 fps progressive footage (here's a sample clip):

10 fps video sample (http://dl.dropbox.com/u/1561578/MVI_0085.AVI)

to 30 fps progressive. Before reading your post, I spent several hours using variations on the MVTools2/MFlowFPS sample code. I then used your code, changing only the frame rate in the final line (set to 30 instead of 50). I then tried quite a few variations. Unfortunately, on my test clips, it produces some amazingly strange video as the person climbs the stairs.

There is no universal answer, but I am also not convinced that MVTools2, by itself, if capable of doing the job when starting with relatively low framerate video (which makes things a lot tougher).

I'll be interested to see if anyone else has other "tricks" like the successive incremental improvements to the estimation vector using MRecalculate that is the heart of your approach.

kolak
31st December 2011, 01:14
Even 25p is not enough to do good motion based fps conversion.
You need 50i/p + to get good results. Don't know any solution, including pro ones for 100K$, which can do good job for eg 24p source.

johnmeyer
31st December 2011, 01:50
Even 25p is not enough to do good motion based fps conversion.
You need 50i/p + to get good results. Don't know any solution, including pro ones for 100K$, which can do good job for eg 24p source.I think you are correct. While not $100K, I just spent an hour with the $300+ Twixtor plugin for Vegas. It didn't cause the stairs to go nuts, but most of the other familiar artifacts were still there. I didn't expect anything different because the temporal displacements in a 10 fps video file are enormous, and impossible to bridge using the motion estimation approach. I'm sure someone will eventually come up with a different approach based on fractals or some other mathematical concept.

Gargalash
31st December 2011, 19:21
Thank you for your replies.

I work with ntsc or pal DVD content which is not film, it is job related. I usually make 50fps go to 60fps, 18-20 to 25 or 59,97 to 60.

Doubling is not a goal as I agree it never creates miracles!

kolak
31st December 2011, 20:46
50i/p can be converted to 60i/p with quite good quality, but not for free. MVtools are not good enough for good fps conversion yet.
If you have power to force shooting format ask for 60p- more fps the easier conversion is.

Gargalash
5th January 2012, 15:51
kolak,
What would you recommend as paid tools? I got to try out Twixtor but I wasn't impressed.