View Full Version : InterFrame 2.8.2 - Framedoubling/60FPS/HFR conversion script
Pages :
1
2
3
4
5
6
7
8
9
10
11
[
12]
13
14
15
16
17
18
19
20
SubJunk
5th July 2013, 11:11
Ah I see, thanks for clarifying :)
I'm not sure if it can be done now that we use SVP, but in version one of InterFrame I used MVTools2 and it was possible with that. I recommend reading the documentation for MVTools2 to see what you need, and you can use InterFrame 1.14 as a guide.
I experimented with doing a similar thing for a while where I got the motion from a 720p clip and used it on a 1080p clip so I know it works.
bxyhxyh
21st July 2013, 06:34
Can i use it without avisynth MT?
SubJunk
24th July 2013, 07:55
I think that will work
Sparktank
24th July 2013, 09:39
InterFrame without MT is possible, but must use non-MT versions of AviSynth.
Use Groucho2004's Latest CVS avisynth.dll built with ICL 10 (http://forum.doom9.org/showthread.php?p=1618864#post1618864) so no crash errors happen.
If you use SEt's MT DLL, you'll get errors if you try to run without setting MT.
If you use SEt's MT version, Avisynth 2.6 MT 2013.03.09 (http://forum.doom9.org/showthread.php?p=1312666#post1312666), must specify MT, otherwise it will crash.
SetMTMode(3,1) or (3,0) if you only have single core with no HyperThreading or anything (1 logical core).
cafevincent
7th August 2013, 15:03
I'm using megui to encode. I'm trying to encode 23,976fps material but it gives me 59,94fps as a result. Is there any way to limit the frames to double, hopefully via megui?
raffriff42
7th August 2013, 19:56
@cafevincent, Yes indeed (http://www.spirton.com/uploads/InterFrame/InterFrame2.html)
Interframe(NewNum=48000, NewDen=1001)
cafevincent
10th August 2013, 16:02
@cafevincent, Yes indeed (http://www.spirton.com/uploads/InterFrame/InterFrame2.html)
Interframe(NewNum=48000, NewDen=1001)
Thanks! Wow this script is amazing! Is there other "effects" I could apply like this? I'm thinking Grindhouse style film noise?
SubJunk
17th August 2013, 23:44
I'm sure you can apply other effects, I don't know how but AviSynth is capable of amazing things :)
XinZu
31st August 2013, 11:30
hi guys just need some help...this is the script i use
SetMemoryMax(512)
SetMTMode(3,14)
PluginPath="C:\Program Files (x86)\AviSynth 2.5\plugins\"
LoadPlugin(PluginPath+"svpflow1.dll")
LoadPlugin(PluginPath+"svpflow2.dll")
Import(PluginPath+"InterFrame2.avsi")
ffdshow_source()
SetMTMode(2)
LimitedSharpenFaster(ss_x=2.0,ss_y=2.0,strength=45)
InterFrame(Preset="Medium", Cores=14, GPU=true)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last
while it works wonders on sd vids, it lags on 1080 vids
im using alienware m17x-r4
i7-3610qm cpu
8gb ram
660m gtx card with 2gb or 4gb (not sure)
i'm not too knowledgable on this topic so any input is appreciated...
mark0077
31st August 2013, 13:04
I have found the two settings in interframe that have a huge impact on my 1080p playback are these two. I leave settings on medium but tweak these two settings.
Instead of
VectorsString = "{block:{w:8,"
I use
VectorsString = "{block:{w:16,"
Also instead of
VectorsString = VectorsString + "overlap:2"
I use
VectorsString = VectorsString + "overlap:1"
I use those and get 0 frame drops with my i7 920 on all content, looks very good also. You might try only changing one of those perhaps with your higher spec machine than mine. I also use 15 threads. Also instead of interpolating to 60000/1001, I try to use non absolute, just incase I have any frame rates that arn't exactly divisble by that, like 24.00, ie instead of
SmoothString = "{rate:{num:60000,den:1001,abs:true},"
I use
SmoothString = "{rate:{num:5,den:2,abs:false},"
XinZu
31st August 2013, 15:18
thank you for that...but i spent more than an hour reading faqs and guides and i still don't fully understand how to incorporate those commands...those are supposed to be tweaked in "InterFrame2.avsi", right? am i supposed to create a setting for medium preset with these modifications? help please...
mark0077
31st August 2013, 17:53
Hi XinZu, yes your exactly right. Thats what I do, I make a backup of the InterFrame2.avsi file and edit the original with notepad or wordpad. If you want you could try replacing the original lines I mentioned, with the changed line (you could use notepad find and replace to replace one line at a time.?)
Then just save the avsi file and start up a 1080p video to check the smoothness. Changing one alone might be enough for you but on my machine changing those 2/3 settings made a huge performance different with not a huge quality difference.
XinZu
31st August 2013, 19:12
that's what i did...but videos still lags so i thought i wasn't doin it right...
mark0077
31st August 2013, 19:38
thats a pity, I guess all I can suggest is make sure your using the likes of madVR and LAV Filters as a good setup. Other than that maybe try other values like overlap of 0 instead of 1 (might help), or lower quality presets ..
chainik_svp
31st August 2013, 23:37
XinZu
may be you need to start with SVP rather than with these hardcore script things? ;)
XinZu
1st September 2013, 00:33
yeah...gave up and installed svp...1080 looks great at doubled framerate...no lags or out of sync with audio...seems my laptop can do it, just something wrong with the script...anyway, thnx guys for the help...really appreciate it...
SubJunk
1st September 2013, 06:13
Glad you got SVP working :) In case you ever try InterFrame again, try changing the Preset. So instead of Preset="Medium" there is Preset="Fast" and Preset="Faster"
XinZu
4th September 2013, 09:17
just wondrin, i didnt tweak with svp so everything is default from installation...i watched world war z and when the movie goes fast paced like in chases, you can see lotsa artifacts around the characters...is it also like that with interframe? i know its expected but i'm just wondrin if interframe handles that aspect better...
SubJunk
4th September 2013, 11:37
In my tests it does. Also you can always tweak your SVP settings to match InterFrame's quality if you prefer to continue to use SVP.
There's also a GUI for InterFrame called InterFrameGUI if you want to automate its use even more. So you have many options! :)
Music Fan
11th September 2013, 10:16
@cafevincent, Yes indeed (http://www.spirton.com/uploads/InterFrame/InterFrame2.html)
Interframe(NewNum=48000, NewDen=1001)
48000/1001 = 47,9520479520479520...
Shouldn't we use 47952/1000 (which equals exactly 47.952) instead of 48000/1001 (and 23976/1000 instead of 24000/1001 for 23.976) ?
Gavino
11th September 2013, 11:09
Shouldn't we use 47952/1000 (which equals exactly 47.952) instead of 48000/1001 (and 23976/1000 instead of 24000/1001 for 23.976) ?
No. It is 23.976 that is the approximation (to 3 decimal places).
The exact rate is 24/1.001 or 24000/1001.
Music Fan
11th September 2013, 13:10
Does it mean that 59,94 fps is also an approximation and is actually 59,94005994... ?
Because I believe 23.976 fps is linked to 59,94 fps because of the 3:2 pulldown.
Gavino
11th September 2013, 16:36
Does it mean that 59,94 fps is also an approximation and is actually 59,94005994... ?
Yes. For example, see http://en.wikipedia.org/wiki/Ntsc#Color_encoding:
"... designers adjusted the original 60 Hz field rate down by a factor of 1.001 (0.1%), to approximately 59.94 fields per second."
Music Fan
12th September 2013, 10:14
Thanks, I learnt something ;)
For 50p, can we specify 50/1 ? And also 25/1, 30/1, 60/1 ... for 25p, 30p, 60p ... ?
Gavino
12th September 2013, 13:59
For 50p, can we specify 50/1 ? And also 25/1, 30/1, 60/1 ... for 25p, 30p, 60p ... ?
Yes, that's right.
For an integral ('whole number') rate, you can use a denominator of 1.
SubJunk
12th September 2013, 22:01
Gavino is right, and to add to that answer, 50p is automatically chosen if the input is 25p
Music Fan
13th September 2013, 10:06
Thanks. Actually I asked that also for the assumefps function. I used to specify 23.976 or 29.97 instead of fractions, I won't do this again.
But for integral rates like 25p, I guess assumefps doesn't need fraction and that we can put simply assumefps(25) instead of assumefps(25/1).
I noticed with AVSMeter that scripts were a little bit faster with assumefps than without, that's strange. Is it because in this case Avisynth doesn't have to search the framerate ?
Thus now I specify framerate in each script, even if I don't have to change framerate.
creaothceann
14th September 2013, 07:58
You can just use
AssumeFPS(24000, 1001)
which might be even more accurate than a fraction (float values have limited accuracy defined by their number of bits).
Music Fan
14th September 2013, 10:08
Do you mean there is also a difference between (24000, 1001) and (24000/1001) ?
Groucho2004
14th September 2013, 10:26
Do you mean there is also a difference between (24000, 1001) and (24000/1001) ?
RTFM!!
AssumeFPS(24000/1001) will give you 23.000 FPS (division of int values).
AssumeFPS(24000, 1001) is the correct form and will result in 23.976.... FPS.
Music Fan
14th September 2013, 10:42
Thanks.
I didn't know there was a difference because I often saw scripts on this forum using 24000/1001 while I guess the guys who did it didn't want to get 23 fps but 23.976.
And I don't really understand why and how 24000/1001 give 23.000 FPS. As a fraction, that does not look very logical :confused:
TheSkiller
14th September 2013, 12:15
And I don't really understand why and how 24000/1001 give 23.000 FPS. As a fraction, that does not look very logical :confused:
It's because both are integers (whole numbers, no point-something allowed), hence you get an integer (23) as well if you divide two integers.
Gavino
14th September 2013, 12:30
24000/1001 (integer division) gives 23
24000.0/1001 (float division, note decimal point!) gives 23.976 (approx).
AssumeFPS(24000, 1001) - two parameter form, setting numerator and denominator separately, is the most exact.
You can also use AssumeFPS("ntsc_film").
Music Fan
14th September 2013, 12:36
Thanks !
24000.0/1001 (float division, note decimal point!) gives 23.976 (approx)
I had read the assumefps help but I hadn't understand this point ;)
willsonsin
21st September 2013, 04:04
Why my converted 60FPS video has lower bitrate than the original 24FPS video?
Is this normal?
Music Fan
21st September 2013, 06:43
You have to choose the bitrate in your encoder (which is not supposed to know the original bitrate of your video when opened with Avisynth which send a decompressed video to the encoder).
willsonsin
21st September 2013, 14:45
Do you mean by changing the CRF?
My CRF was set to 16 and encoding mode was set to Target Quality.
But converted 60FPS video still getting lower bitrate than original video.
I compared the sample videos provided by the author...but they having same bitrate...
pbristow
21st September 2013, 15:16
willsonsin:
It sounds like you're using the x264 codec to encode your output, yes? In CRF mode, x264 will allocate as many bits as are necessary to achieve the quality you've asked for. It won't add extra bits if they aren't necessary to achieve that. It's different from constant bitrate mode, where the codec just keeps applying more bits wherever they are most likely to be useful, until either the maximum bitrate has been reached, or the encoded image is identical to the source.
You've told us nothing about the nature of the source. Is it also encoded in x264/h264, or something else (such as DivX, or Xvid, or WMF, or... etc.)? If it was x264, what settings were used to encode it? Was it also done in CRF mode, or constant bitrate mode, or some other mode? What parameters were set? Unless *all* those factors were the same as you're using for your encoding (or at least reasonably similar), there's no way to estimate what proportion of the original file's bitrate your new files should have.
Now, if you're *sure* that both your encoding and the original encoding are being done the same way, then I would expect the bit rates of the two files to be roughly similar, but with the second one *probably* being a bit larger... but certainly not twice as big. How much larger depends on how much motion is taking place in the video. If there are large chunks of certain scenes that don't move at all from one frame to the next, then they don't need any more bits to encode them at double frame rate then they do at single rate.
And finally, the file could even end up smaller if, as part of your Avisynth processing, you've lost a little bit of fine detail somewhere - most likely just random noise. Some of the InterFrame presets may involve a bit of denoising to reduce the overall processing workload, I don't know without looking into it.
Any clearer? :)
raffriff42
21st September 2013, 15:38
It's weird but often converting frame rate - up or down - will not affect overall file size when compressed with x264. This is because the higher the frame rate, the less *difference* exists between frames (and vice versa - lower frame rates have higher interframe differences), and this is what is encoded (to oversimplify).
willsonsin
21st September 2013, 15:45
pbristow:
Thank you very much~ You let me understood how does video encode works. =) I really appreciate your patient explanation and help~ =) From your explanation, I think I already understand how it works now. =)
Thank you very much~ =)
LilScrappy
25th November 2013, 10:44
Some progress with ghosting movement (how to fix), because they are not nice !
SubJunk
15th December 2013, 23:11
InterFrame 2.5.1 is released, enjoy! :)
vampiredom
17th December 2013, 22:57
InterFrame 2.5.1 is released, enjoy! :)
Thanks!
nautilus7
20th December 2013, 00:58
Thanks for the update. What is the currently suggested way to use InteFrame in avs sripts for realtime playback with mpc and ffdshow?
SubJunk
23rd December 2013, 05:53
I'm not an expert on realtime use so it would be better if someone else gave advice on that. I've always used it for encoding, and via Universal Media Server (http://www.universalmediaserver.com/) in realtime
mark0077
23rd December 2013, 19:16
nautilus7, what I personally do is take the latest interframe, make 1 or 2 small tweaks to Overlap and BlockSize params so that I can run it in Medium Mode at 1080p realtime without framedrops in difficult scenes. I then strip out the function calls from interframe and place a little bit of code above and below to get things working via one script.
I source in that file alone in ffdshow avisynth, ie a 1 line avisynth call. I have ffdshow "Add ffdshow video source" disabled and buffers set to 0/15.
Let me know if you'd like me to send what I use.
nautilus7
26th December 2013, 14:35
Yes, of course. It would be great. Thanks.
sofakng
9th January 2014, 18:34
Is there a way to batch-convert files using Interframe?
I'm using FFMPEG (with AviSynth) and am able to control everything from the command-line and it's working great, but I want to make sure I'm not really losing any quality.
For example, if my input file is 720p, H.264, 5 Mbps, I want to maintain as much quality as possible but only apply frame interpolation.
Basically I just want a simple method of:
convert.exe -I input.mkv -O output.mkv
...and have it automatically choose the best settings and maintain the closest quality to the original input file.
GMJCZP
25th January 2014, 00:15
I used Interframes() to transform a video of 14.8 fps and other of 10 fps to 23.976 and it is miraculous. Thanks for this tool!
TOM_SK
14th February 2014, 09:26
Is there a 'noob' guide to use InteFrame with MPC-HC?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.