Introduction:

InterFrame is an AviSynth script.
Its main use is to give videos higher framerates like newer TVs do. Common names are framedoubling, smooth motion, HFR (high framerate) and 60FPS conversion.
High framerate (HFR at 48fps) was used in The Hobbit and will be used in upcoming films like the Avatar sequels, which will use HFR at 60fps, so why not watch all your movies at higher framerates?

Description:

Dependencies are included in the download.

To use it in your script just call the function InterFrame(Cores=x) (replacing the path with the path to the flow DLL files) and it will automatically choose a good framerate and preset for you.
There are more specifics like optional parameters and examples on this page, which is also included in the download.

There is also a complete guide on how to use it for those with no knowledge about any of this stuff here.
If you have any questions about it please check the guide first, there is a FAQ section and everything 🙂

31 Comments

@SubJunk: I’m dealing with a 15 FPS MJpeg video with a fast scroll. InterFrame does handle it enough well but it looks like the speed of the pan is too high for the low frame rate then i see some artifact in the resulting video. In the detail, a snowmobile running fast and the side snow heaps sometime appear not to correctly move with the rest of the terrain). I tried to play with the parameters but i don’t see any noticeable difference in the result. Can you give some hint to handle this case (if any)? Thank you!

(I can’t write english well, so I have grammatical errors.)
InterFrame 2.8.1 version’s Animation Tuning has a big flaw. It makes the screen bob up and down and choppy.
The screen has broken. Please revise this Animation Tuning.
For example, InterFrame 2.3.0 version’s Animation Tuning didn’t make it bob up and down and choppy.
Thank you for making interframe. It’s very useful.(Especially, for animation)

Added interpolated inter-frames figures do not fit well here with frame rates . The addition of interpolated frames should more naturally and nicely cap to 48fps not 59.94 . Which then raises some doubt …

More demos that one could re-produce on his own machine would be welcome.

“The tall man” , are you sure ? from what I see , I recognize Ron Perlman which does not play in this movie .

anyway a good practice , and quite useful to your readers, could be to give all info ( exact script more than generic recommanded, etc..) so that they can reproduce your result on their computer. Then indeed it would be time to congratulate you for such achievement .

I should take time to watch side by side the source and export movie , so that I can have a close look a the interpolated frames . As there are quite a few here ! 36 extrapolated for 24 reference frames … no small potatoes for any regular interpolation algo !

Even the excellent QTGMC does not do that ( in its own way indeed , as using previous and next frame for deinterlace)

Provided I would/will get your result you’d deserve much regard. Don’t misinterpret my post : I am quite impressed , almost too much in the first place 🙂

So okay , I had a close look , frame by frame, and it is very …trivial, though it works ! it is ‘efficient’ the simple way it acts .

that is basically “re-slicing” if I may say so , a 24fps movie in 60 new ‘slices’ (frames) ; while it is so simple , it still does indeed produce a smoother action , but there is NO interpolated frames per se , NO so-smart calculation of interpolated frames ( by some clever mix of the actual frame and the next one , for instance, well what -interpolation- is basically ).

It simply mimics a monitor fps up-sampling , but it is okay , it does smooth motion obviously 🙂

It is simply a matter or resampling the framerate. I am still amazed it does work though

BTW , I have to apologize since I confess I did not read the entire page , I just took interest in the video samples and then I ‘made my way inside’ on true interpolation.

So it is about frame doubling (or so) and it is something I had never seen as separate software. It is quite an achievement and so kudos for your work.

Still the idea remains so simple , it still astonish me a simple idea can be that great 🙂

Best regards

ps : all my posts have not such interest they should join more useful comments. That is I wrote to you in the first place. When I will have time I will try this script and see if I can then be more useful to your work

the point which made me wrong on what InterFrame is comes from some reference I found (regarding InterFrame and higherframe rates ) to aknowledged interpolation techniques such as refered here http://www.svp-team.com/

Indeed this is quite false when it comes to the way InterFrame behaves .

@sainthomas the samples from The Tall Man are on the InterFrame post (http://www.spirton.com/interframe/) while the guide (http://www.spirton.com/convert-videos-to-60fps/) uses a sample from Sons of Anarchy. The samples are from years ago, and since then the quality has improved slightly and conversion speed has improved a lot.
I tried to select samples that show varying success with the script. Interpolation looks great with panning and when large things move, but not so much when small things move quickly on the screen, so all of the samples try to represent all of those scenarios.

The samples from Sons of Anarchy ( the one I looked at) are great at improving (panning) motion fluidity. In the first place I would think of some ‘trick’ not involving a lot of computational interpolation but then again I was wrong ! lol . I basically assumed on some ‘mimic’ of the persistance of human vision , hence in a panning some simple solution like ‘capturing’ more …interframes , a bit like many intermediate screen captures ! Then I realized that consecutive discrete frames would simply not allow for this so simple solution. You would simply ‘capture’ a mixed bag of different things almost upside down !! no POV here inthe images themselves , only the human eye has 🙂

Hello,
I just wanted to help those who have the error message “please make sure….avisynth… can’t stream the video etc”. I tried to reinstall everything+ the codec pack and it didn’t work.
The solution for me was to install Smoothvideoproject Free with his additionnal codecs, then MeGUI worked perfectly.

Doesn’t seem to matter if I specify more cores or not as I get the same speed since I’m not running in MT mode. The video finishes encoding but the resulting video only has video for the first several minutes. When I try to go further the video just stays paused while I can hear the audio carry on playing.

How can I get this working correctly? I’m using DGDecodeNV as the indexer in MeGUI. I’ve encoded Standard Definition videos before using InterFrame and FFMS as the indexer and it worked fine.