InterFrame 1.0.2 has been released.
You can get it from its main post here.
Changelog:
- Increased speed of both presets
InterFrame 1.0.2 has been released.
You can get it from its main post here.
Changelog:
InterFrame 1.0.1 has been released.
You can get it from its main post here.
Changelog:
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?
Here is a before and after video comparison:
Original File
InterFrame (default settings with GPU=true)
Here is a sample of what the AviSynth script could look like.
It shows the recommended syntax and should be used with SET’s AviSynth 2.6 build from here.
Cores=4
SetMemoryMax(512)
SetMTMode(3, Cores)
LoadPlugin("svpflow1.dll")
LoadPlugin("svpflow2.dll")
Import("InterFrame2.avsi")
dss2("video.mkv", fps=23.976).ConvertToYV12()
SetMTMode(2)
InterFrame(Cores=Cores)
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 🙂
21/05/2015 – 2.8.2:
02/05/2015 – 2.8.1:
10/03/2015 – 2.8.0.1:
05/03/2015 – 2.8.0:
03/01/2015 – 2.7.0:
09/09/2014 – 2.6.0:
11/05/2014 – 2.5.2:
16/12/2013 – 2.5.1:
18/02/2013 – 2.5.0:
24/01/2013 – 2.4.0:
16/01/2013 – 2.4.0 RC1:
11/01/2013 – 2.4.0 Beta 1:
24/12/2012 – 2.3.0:
13/11/2012 – 2.2.0:
27/06/2012 – 2.1.0:
05/06/2012 – 2.0.2:
05/05/2012 – 2.0.1:
03/05/2012 – 2.0:
17/04/2012 – 2.0 RC1:
12/04/2012 – 2.0b4:
11/04/2012 – 2.0b3:
30/03/2012 – 2.0b2:
24/03/2012 – 2.0b1:
23/03/2012 – 1.14:
29/02/2012 – 1.13:
31/12/2011 – 1.12.3:
03/11/2011 – 1.12.2:
16/09/2011 – 1.12.1:
12/09/2011 – 1.12:
05/07/2011 – 1.11:
18/06/2011 – 1.10:
23/05/2011 – 1.9:
20/05/2011 – 1.8.1:
04/05/2011 – 1.8:
30/04/2011 – 1.7.1:
28/04/2011 – 1.7:
20/04/2011 – 1.6:
13/04/2011 – 1.5.2:
13/04/2011 – 1.5.1:
11/04/2011 – 1.5:
10/04/2011 – 1.4:
01/04/2011 – 1.3.1:
30/03/2011 – 1.3:
24/03/2011 – 1.2:
22/03/2011 – 1.1:
21/03/2011 – 1.0.2:
20/03/2011 – 1.0.1:
17/03/2011 – 1.0:
Many modern TVs now include an extra frames feature, usually either 120Hz or 240Hz. This just means they take the source video, which is usually between 24-30FPS, and add new, interpolated frames between the original frames that make the motion look much more smooth.
High framerate (HFR at 48fps) was used in The Hobbit and will be used in upcoming films like the Avatar sequels, so why not watch all your movies at higher framerates?
A lot of people don’t realize this, but 99% of TVs made before this feature was introduced are actually capable of displaying 50FPS and 60FPS, and of course most LCD monitors display 60FPS as well.
This tutorial will allow you to convert videos of any framerate to higher framerates; 25FPS becomes 50FPS and 24/30FPS becomes 60FPS by default, or you can specify whichever framerate you want.
This script offers greater quality than any televisions I have seen.
I’m sure many people will want to see how well this script works, so here’s a comparison:
Original File
Converted File
Note: This can now be done in realtime using Universal Media Server!
This post provides instructions on how to easily convert any video to 60FPS, which allows you to take advantage of this feature of modern TVs on your computer monitor or TV without actually buying anything.
The files needed for this step are found in this zip folder (~3MB).
Run and install the file AviSynth.exe.
It is an early version of AviSynth 2.6 that is more stable and faster for multithreading than 2.5 releases.
Download and install MeGUI, run it, let it update all the things it wants to and import all of the presets.
Optional Tip: If you want MeGUI to update to the very latest stuff (at your own risk) you can push ctrl+s, go to the Extra Configuration tab, and in the Auto Update section select “Use development update server”
Close MeGUI and extract the files in the tools folder from our zip file into your MeGUI tools folder, which for most people will be either C:\Program Files (x86)\MeGUI\tools\ or C:\Program Files\MeGUI\tools\.
Download and install MKVToolnix.
When that is installed, run MKVMerge (Start Menu -> All Programs -> MKVToolnix -> mkvmerge GUI).
You will also need codecs installed. If you don’t already have them I recommend K-Lite Mega Codec Pack. If you install K-Lite, make sure to select “Profile 9: Lots of Stuff” during installation.
Start MeGUI again. You should be left with a window that looks similar to this:
Push ctrl+r, or go to Tools -> AVS Script Creator.
Now you should see something like this:
Click the Config button next to Avisynth profile.
It should look like this:
Click the New button down the bottom and type 60FPS in the name box, so it should look like this:
Now for the script that will do the actual 60FPS conversion.
Just copy and paste the following code into the text input area.
Cores=4
SetMemoryMax(512)
SetMTMode(3,Cores)
PluginPath = "C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\"
LoadPlugin(PluginPath+"svpflow1.dll")
LoadPlugin(PluginPath+"svpflow2.dll")
Import(PluginPath+"InterFrame2.avsi")
<input>.ConvertToYV12()
SetMTMode(2)
<deinterlace>
<crop>
<denoise>
<resize>
InterFrame(Cores=Cores)
Important note #1: Make sure the path on the third line is correct.
For example, if you are running 32-bit Windows, you will need to modify the path to “Program Files” instead.
Important note #2: You should change the number “4” in the script (on line 1) to your number of CPU cores. If you don’t know how many cores your CPU has just Google your CPU and you should be able to find the specs somewhere, or 4 should be fine anyway.
Important note #3: If you have a video card, you can improve quality by adding “GPU=true” to the script. However, it may make encoding time slower, so take that into account.
So InterFrame(Cores=Cores) would turn into InterFrame(Cores=Cores, GPU=true)
If you do this, you may also need to go into your MeGUI tools folder (usually C:\Program Files (x86)\MeGUI\tools\x264) and rename the file opencl.dll to opencl.dll.bak. This will let MeGUI use the version of opencl.dll that your video card drivers have installed, instead of the generic one from MeGUI.
Important note #4: This script always outputs either 50FPS or 59.94FPS (60FPS) for compatibility reasons. If you want to always double the framerate instead, so that for example 23.976FPS turns into 47.952FPS (48FPS), you can use the “FrameDouble” parameter.
So InterFrame(Cores=Cores) would turn into InterFrame(Cores=Cores, FrameDouble=true)
So now your window should look similar to this (with different text):
Click the Extra Setup tab and make sure “Prefer DSS2 over DirectShowSource” is checked.
Optional tip #1: You might also want to choose your preferred resizer. For aspect-ratio changes (like from 720×576 to 720×480) a neutral filter like Spline36 will be nice. For actual resizing (like from 1920×1080 to 1280×720) a sharp filter like Spline64 will be best. I usually just leave it on Spline36. Make sure to untick the checkbox on the option after you change the default resizer, otherwise it will always be used by default which is often unnecessary.
Optional tip #2: I recommend changing the “MOD value used for resizing” to mod4. This gives the best balance between compatibility (a lot of devices like PS3 don’t have good mod2 support) and aspect ratio accuracy (the higher the MOD value, the more likely the aspect ratio is to be skewed more heavily).
Now it should look something like this:
Then just click the Update button then the OK button
Now we’re back to the AviSynth script creator window and now that we have our 60FPS AviSynth template made and selected, it’s time to choose which video we want. Just click the … button next to Video Input up the top of the window and find your video, then click Open.
A window will pop up with buttons, click the option on the right, usually either “DirectShowSource” or “AviSource”.
A window will pop up to show you the video, you can just close that.
Now you should see something like this:
Click the Save button. The video preview window might pop up again, you can close it again.
Now is the time when you need to choose the quality of the video and audio.
If you don’t know what to do here, something quick and easy is to just use CRF, which means you let the codec decide on the bitrates itself. So you can click the “Config” button next to the “Encoder settings” dropdown when you have a x264 option selected, then just enter a number between 16-20 in the “Quality” input box. 16 means your video will be almost exactly the same quality as the source, while 20 will look good too while taking up less space. Personally I use 16 for everything because why not? 🙂
So when you have your quality, click Queue in the Video encoding section.
Now your video is ready for conversion.
Now just go to the Queue tab and click Start down the bottom, then wait for it to finish.
The final step is to add your audio and/or subtitles from the original file to the converted file. This process uses muxing, not conversion, so there is no quality loss.
For this we will use the program we installed earlier, MKVMerge.
So run that and drag the converted file into that program, then do the same with the original file. If you can’t drag them on, you can use the add button instead.
Now you have several items in the Tracks, chapters and tags section. You just need to untick the ones you don’t want. Usually you will want to leave them all selected except for the original video track, as I’ve done in the following example:
Finally, set the Output filename down the bottom of the window and click Start muxing.
When that is done, you have your final video!
This might seem like a long process, but actually it is only long once. Since we have now made templates, the process for the videos from now on will be much faster; instead of entering the script each time, now you can just make sure your 60FPS AviSynth script is selected.
This file can now be played just like any other video. I personally watch videos on my TV which is linked up to my computer using the awesome, free program called Universal Media Server, and that handles these 60FPS videos perfectly with no configuration.
Any comments are appreciated. If you can think of an improvement to the script, or to the process, or if you just found it useful and want to say thanks, please do leave a comment. I would love to know that it’s being used.
If you want to donate to help me with server costs and time spent keeping this article updated, you can do so here with my thanks 🙂
InterFrame(Cores=Cores, NewNum=48000, NewDen=1001)
InterFrame(Cores=Cores, Tuning="Smooth")
InterFrame(Cores=Cores, GPU=true)
InterFrame(Cores=Cores, Tuning="Smooth", GPU=true)
Widezu69 for providing the original AviSynth script that I used as a base.
Fizick for MVTools, the library that does all the work, and SVP for the modifications to MVTools that make it even better for our purposes.
Everyone on various forums for their feedback, this is really a community effort.
21/05/2015:
16/03/2015:
05/03/2015:
24/02/2015:
27/09/2014:
22/07/2014:
10/07/2014:
20/05/2014: