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. Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se |
|
|
#1 | Link |
|
Registered User
Join Date: Mar 2017
Location: Germany
Posts: 280
|
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?
|
|
|
|
|
|
#2 | Link | |
|
.
![]() Join Date: Oct 2001
Location: Germany
Posts: 7,854
|
Quote:
Last edited by Selur; 28th May 2024 at 13:27. |
|
|
|
|
|
|
#6 | Link |
|
Registered User
Join Date: Sep 2007
Posts: 5,669
|
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) |
|
|
|
|
|
#9 | Link |
|
Registered User
Join Date: Mar 2017
Location: Germany
Posts: 280
|
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)? |
|
|
|
|
|
#10 | Link | ||
|
Registered User
Join Date: Sep 2007
Posts: 5,669
|
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 |
||
|
|
|
|
|
#12 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 5,669
|
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 | |
|
|