Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 7th February 2024, 06:00   #1  |  Link
BabaG
Registered User
 
Join Date: Dec 2003
Posts: 253
rife install and setup questions

i'd like to try to set up rife for some interpolation tests but am unsure both of my hardware and of the setup process.

my system is old, very workable, but old. probably the device that's most marginal is my graphics card. it's an nvidia gtx760 with 2gb of memory and 1152 cuda cores. can i even run rife in avisynth on this machine? i'm ok with slow but if it won't work at all i guess i can stop now.

if i can run it, i'm unsure of the setup process for use with avisynth. i haven't really found any info as basic as a walkthrough of what to download, where to put it, and such. some things i've seen seem to call for compiling, which will definitely be beyond me. frankly, i'm not even sure if rife is something standalone or an avisynth plugin or something in between.

i checked my avisynth+ version and it seems to be current enough to work 3.7.3 r4003 i think.

any guidance in getting into this is much appreciated.

thanks,
babag

Last edited by BabaG; 7th February 2024 at 06:03.
BabaG is offline   Reply With Quote
Old 7th February 2024, 06:03   #2  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,156
If your GPU support Vulkan so you can
https://github.com/Asd-g/AviSynthPlus-RIFE
kedautinh12 is offline   Reply With Quote
Old 7th February 2024, 06:09   #3  |  Link
BabaG
Registered User
 
Join Date: Dec 2003
Posts: 253
thanks for the quick response, kedautinh12.

i believe the card is vulkan capable. no idea what to do with the link, though. it seems to require compiling(?) which is going to be well out of my wheelhouse.

edit:
just downloaded rife 1.1.0 7z file from here:
https://github.com/Asd-g/AviSynthPlus-RIFE/releases/

currently downloading models from same page.

thanks again,
babag

Last edited by BabaG; 7th February 2024 at 06:17.
BabaG is offline   Reply With Quote
Old 7th February 2024, 06:17   #4  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,374
Check GPU-z , a checkbox will be checkmarked if your GPU supports vulkcan

Compiled release and models
https://github.com/Asd-g/AviSynthPlu...ases/tag/1.1.0
poisondeathray is offline   Reply With Quote
Old 7th February 2024, 16:44   #5  |  Link
takla
Registered User
 
Join Date: May 2018
Posts: 184
Quote:
Originally Posted by BabaG View Post
thanks for the quick response, kedautinh12.

i believe the card is vulkan capable. no idea what to do with the link, though. it seems to require compiling(?) which is going to be well out of my wheelhouse.

edit:
just downloaded rife 1.1.0 7z file from here:
https://github.com/Asd-g/AviSynthPlus-RIFE/releases/

currently downloading models from same page.

thanks again,
babag
Set up and working it should look something like this:
Code:
LWLibavVideoSource("C:\Users\Admin\Downloads\New folder\005.mkv", format="GBRP16")
ConvertBits(32)
RIFE(model=44, factor_num=1, factor_den=1, fps_num=60, fps_den=1)
Prefetch(2)
On your old GPU, you probably don't want Prefetch(2) but on newer GPUs it can double performance.
takla is offline   Reply With Quote
Old 7th February 2024, 20:55   #6  |  Link
BabaG
Registered User
 
Join Date: Dec 2003
Posts: 253
thanks for the responses. plugging away with it.

@takla:
i tried your code copied exactly. did change the file name and path obviously. got error that:

Couldn't locate decompressor for format '[0][0][0][0]' (unknown)

then it says something about virtualdub requiring a vfw compatible codec to decompress the video. source video is proreshq quicktime mov.

thanks,
babag
BabaG is offline   Reply With Quote
Old 7th February 2024, 22:23   #7  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,374
For prores use LSmashVideoSource("video.mov")
poisondeathray is offline   Reply With Quote
Old 7th February 2024, 22:32   #8  |  Link
BabaG
Registered User
 
Join Date: Dec 2003
Posts: 253
thanks, pdr. now get:

Avisynth open failure: RIFE: only RGB 32-bit planar format supported

tried pasting ", format="GBRP16"" at the end of the lsmash line:

LSMASHVideoSource("TESTCLIP.mov", format="GBRP16")

but then get the same error as before about:

Couldn't locate decompressor for format '[0][0][0][0]' (unknown)

thanks again,
babag
BabaG is offline   Reply With Quote
Old 7th February 2024, 22:37   #9  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,374
format="GBRP16" is unsuitable for Prores . Prores will usually be 10bit422 , unless it's XQ4444.

Code:
LSmashVideoSource("video.mov")  #prores will usually be 10bit422
Z_ConvertFormat(pixel_type="RGBPS", colorspace_op="709:709:709:l=>rgb:709:709:f") #convert to RGB 32bit float for RIFE
RIFE()
There is also RIFEWrap I mentioned in your other thread . It automates the conversion of pixel type and back to source pixel type, also sets the props
Code:
LSmashVideoSource("video.mov") 
RIFEWrap()

Last edited by poisondeathray; 7th February 2024 at 22:39.
poisondeathray is offline   Reply With Quote
Old 7th February 2024, 23:20   #10  |  Link
takla
Registered User
 
Join Date: May 2018
Posts: 184
I use AvsPmod which works just fine with the settings I've posted.

Last edited by takla; 8th February 2024 at 00:15.
takla is offline   Reply With Quote
Old 7th February 2024, 23:53   #11  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,374
Quote:
Originally Posted by BabaG View Post

Couldn't locate decompressor for format '[0][0][0][0]' (unknown)
That error is because of vdub2 not supporting float RGB . You can use avspmod to preview, or you can convert back to YUV422P10 or some other pixel type . RifeWRAP will do it automatically, or add

Code:
Z_ConvertFormat(pixel_type="YUV422P10", colorspace_op="rgb:709:709:f=>"709:709:709:l")
poisondeathray is offline   Reply With Quote
Old 8th February 2024, 01:29   #12  |  Link
BabaG
Registered User
 
Join Date: Dec 2003
Posts: 253
some progress. thanks to you both.

first, @pdr, i was getting an error with your line:
Code:
Z_ConvertFormat(pixel_type="YUV422P10", colorspace_op="rgb:709:709:f=>"709:709:709:l")
when i changed:
Code:
"rgb:709:709:f=>"709:709:709:l")
to:
Code:
"rgb:709:709:f=>709:709:709:l")
it worked. just a typo i'm sure. once fixed i was able to load into vdub2.

i'm getting nothing but crashes once i load the file now. it loads and i can navigate vdub settings and such but if i touch the file, such as by trying to seek to a frame, i get a crash. same if i just go straight to render. hoping it's not the ancient graphics card as that's not fixable at the moment.

this is the code i currently have that, as i say, does load the file:
Code:
LoadPlugin("Path/To/RIFE.dll")
LSMASHVideoSource("TESTCLIP_ORIG.mov")

ConvertToPlanarRGB()
ConvertBits(32)

RIFE(model=44, factor_num=1, factor_den=1, fps_num=72, fps_den=1)   # quadruples number of frames, sets framerate to 72fps from 18fps.
#RIFE(model=44, factor_num=8, factor_den=2)                          # quadruples number of frames, sets framerate to 72fps from 18fps.
#SelectEvery(3, 1)

Z_ConvertFormat(pixel_type="YUV422P10", colorspace_op="rgb:709:709:f=>709:709:709:l")
i have two lines for rife that seem to produce the same result. i'm taking the pdr advice on getting from 18fps to 24fps by first interpolating up to 72, then taking every third frame.

right now, if i uncomment the 'SelectEvery' function, i get a crash as soon as the file loads. never get the chance to try anything.

edit:
just tried adding this line in place of the 'SelectEvery' line:
Code:
RIFE(model=44, factor_num=1, factor_den=3)
it does load, though seeking continues to crash. it also does get the number of frames and framerate to their proper place of 24fps. guessing it adds an extra, and probably unwanted, level of interpolation though over the SelectEvery method.

thanks,
babag

Last edited by BabaG; 8th February 2024 at 01:46.
BabaG is offline   Reply With Quote
Old 8th February 2024, 01:47   #13  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,374
It might be that you're out of GPU memory because you're interpolating twice.

It's unnecessary for rife models 4.x , you can go directly to 24 /1 with less memory, and you should get very similar if not the same results. fps_num=24, fps_den=1

Or it might be vulkan not working > I don't see your card here .

https://developer.nvidia.com/vulkan-driver

If GPU-z has the empty vulkan box, the AVS version is not going to work for you

There are CUDA versions of RIFE, but not for avisynth .

You can try a GUI such as flowframes to quickly test if CUDA RIFE works for you , then decide if you're willing to learn vapoursynth or just use one of the RIFE GUI's that don't use vulkan
poisondeathray is offline   Reply With Quote
Old 8th February 2024, 02:14   #14  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,374
4x then SelectEvery(3, 1) instead of SelectEvery(3, 0) will just take the 2nd frame to start instead of the 1st for every group of 3 . Each frame will be slightly later in time compared to SelectEvery(3,0). And SelectEvery(3,2) would be shifted slightly later than SelectEvery(3, 1) . The time / distance spacing between frames will be the same, just offset 1/3 of a frame . Direct interpolation 18 to 24 gives the same results as 4x (18 to 72) then SelectEvery(3,0) - so direct takes the 1st frame. Surprisingly the GPU and CPU memory consumption was actually similar on my test - but the direct interpolation method was 20-25% faster. Not sure if one method is necessarily better - they look the same just offset.

In some ways, Direct, or 4x then SelectEvery(3,0) is better because it keeps the original starting frame timing. Pretend you were filming a race and the 1st frame has the race on exactly on the start line . If you interpolate using 4x then SelectEvery(3,1), the contestants would be beyond the start line to begin with

Last edited by poisondeathray; 8th February 2024 at 02:20.
poisondeathray is offline   Reply With Quote
Old 8th February 2024, 02:25   #15  |  Link
BabaG
Registered User
 
Join Date: Dec 2003
Posts: 253
vulkaninfo seems to produce a huge amount of info so i seem to have it on the system in some fashion. i'd thought i saw someplace that my card was compatible but i don't know.

didn't know what gpu-z is. just installed it via wine and, funnily enough, it does check the box for vulkan. cuda is not checked though. go figure. i know i have 1152 cores.

i looked at vapoursynth some time ago and found it confounding. didn't find a binary at that time and had to compile things. was really too much for me. seems better now so maybe that's a possibility. my python version is 3.10 and it wants 3.11 though. so that's the first step down a slippery slope for me.

thanks for the tips. i'll look into rife gui's and see what i can find to try.

babag

Last edited by BabaG; 8th February 2024 at 02:27.
BabaG is offline   Reply With Quote
Old 8th February 2024, 02:38   #16  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,374
Wine + drivers could be the issue ... I'm surprised you've got most of the things actually working in the first place

Also try interpolating smaller test first - eg. SD frame size to see if RIFE works at all
poisondeathray is offline   Reply With Quote
Old 8th February 2024, 03:33   #17  |  Link
BabaG
Registered User
 
Join Date: Dec 2003
Posts: 253
well, you're right about that! made a copy of the original test file downsized to 720x540 and used it for the rife test and it processed fine. best interpolation i've seen so far of all the various things i've tried too. now what?

Last edited by BabaG; 8th February 2024 at 03:40.
BabaG is offline   Reply With Quote
Old 8th February 2024, 03:50   #18  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,374
At least you know it works, but the lack of meaningful error messages does not help

Likely has to do with memory, I'm guessing GPU memory, but not necessarily

There is a UHD mode for RIFE, not sure if it will help .
- uhd<br>
Enable UHD mode.<br>
Default: False.

There is a dedicated UHD model for RIFE, but the quality is generally lower on most content. It's model=2 - you can look at the readme for the models . I'm not sure of the impact on memory consumption

IIRC was it AVS x86 ? It could be host memory related. These days there is no reason to use x86 . x64 is better and faster . Even a straight encode without any filters or memory bottleneck is faster with x64. And , if there was some obscure x86 only plugin, you could use it with mp_pipeline in a x64 avs host.

If you get it working and are using it through RIFE directly - not a wrapper function like FramerateConverter or RIFEWrap - don't forget scenechange is disabled by default


Borrow a friend's / family member computer ?
poisondeathray is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 01:47.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.