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. |
28th May 2024, 10:55 | #1 | Link |
Registered User
Join Date: Mar 2017
Location: Germany
Posts: 267
|
ProPainter...
Hi, dear people!
This fantastic demonstration: https://forum.doom9.org/showthread.p...24#post1992324 really impressed me, so I try it with a private project to remove vertical scratches. ProPainter works fantastic, although I have some problems in detecting a really good mask, but that's ok. The real problem: The script does not work with more than a few thousand frames, because the mask can only be given in pngs, not as a video file, and ProPainter opens all these pictures at one time, which leads to a windows error "too many files opened". I tried to change the script so that it accepts a video as mask, but it only works to a certain point, and Python is pain in the a** for me... So the question: Did anyone port ProPainter meanwhile to Vapoursynth? Or to something else, that is more usable? |
28th May 2024, 12:23 | #2 | Link | |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 7,495
|
Quote:
Last edited by Selur; 28th May 2024 at 13:27. |
|
28th May 2024, 16:25 | #6 | Link |
Registered User
Join Date: Sep 2007
Posts: 5,516
|
Thanks to Dan64 and Selur .
vspropainter-1.0.0_RC1 using cuda seems to work ok for me with device_index=0 . Much faster and GPU-z reports it working I used Selur's BGR workaround in the script Code:
clip = core.std.ShufflePlanes(clips=clip,planes=[2,1,0], colorfamily=vs.RGB) |
28th May 2024, 16:40 | #9 | Link |
Registered User
Join Date: Mar 2017
Location: Germany
Posts: 267
|
I tried every proposal of the readme that would make it faster, but everything you do in this case reduces quality a lot.
Edit: Wow. We seem to have very different experiences? My concept for more speed is to spread the frames in 15 slices (HD) put it through ProPainter and then stack all together. The I have to postpone it, or is there a way to edit the numbers in windows somehow, so that my NVidia becomes device 0 (now 1)? |
28th May 2024, 16:47 | #10 | Link | ||
Registered User
Join Date: Sep 2007
Posts: 5,516
|
Quote:
Being smart with the selection makes a bigger difference - eg. scene splits . More usable frames of similar content makes bigger difference . Contamination of "wrong" frames lowers the quality of the patch Quote:
There are adjustable parameters in the propainter call in the vpy script . Open __init__.py in text editor to see the options - the options are the same as the propainter project |
||
28th May 2024, 17:36 | #12 | Link | |
Registered User
Join Date: Sep 2007
Posts: 5,516
|
Quote:
A simplified version might look like this (you might have to convert pixel formats / ranges differently depending on your inputs) Code:
import vapoursynth as vs import vspropainter core = vs.core clip = core.lsmas.LWLibavSource(r'PATH\input.mp4') clip = core.resize.Bicubic(clip, format=vs.RGB24, matrix_in_s="709", range_s="full") msk = core.lsmas.LWLibavSource(r'PATH\mask.mp4') clip = propainter(clip, length=25, mask_path=msk, device_index=0, enable_fp16=True) clip = core.std.ShufflePlanes(clips=clip,planes=[2,1,0], colorfamily=vs.RGB) clip.set_output() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|