VideoHelp Forum
+ Reply to Thread
Results 1 to 14 of 14
Thread
  1. Hi, I'm running into an issue where some of the chroma/colors are flickering in a VHS capture that I'm trying to restore. I've tried a few different methods to reduce the effect, but the only effective solution I've found is to use ColorMill and to reduce "light" saturation to -100, and "Medium" saturation to about -40. That seems to get rid of it, but of course, it also kills the colors in the video. I was wondering if there was a better, less destructive way of filtering out the flickering?

    It's most noticeable if you look at the small guy in the middle of the screen in the white coat. You can see the light show he's putting on. Thank you for any help!
    Image Attached Files
    Quote Quote  
  2. not sure whether it helps, attached what BasicVSR++ does,...
    Image Attached Files
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  3. Originally Posted by Selur View Post
    not sure whether it helps, attached what BasicVSR++ does,...
    That looks pretty good, I can definitely play around with it a bit more. Thank you! Regarding BasicVSR++, this is my first time hearing about it. Doing research now, but I wanted to ask, are you using the BasicVSR++ in Hybrid to produce this? Or one of the other methods? (i.e. something like this)
    Quote Quote  
  4. I used Hybrid.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  5. Originally Posted by Selur View Post
    I used Hybrid.
    Ah gotcha, I'm not exactly sure how to get this working on Hybrid after spending an entire day on it. I can see the option to set "Other - BasicVSR++" in the "Filters" tab, but I'm not sure how to get the same results from your sample.

    I've also tried getting this working in a PyCharm project, but I keep running into one issue or another depending on what Python version I use. If I use 3.12.2, I'm able to install all of the dependencies, but when I run:

    Code:
    python -m vsbasicvsrpp
    I get the following error:

    Code:
    ModuleNotFoundError: No module named 'mmcv._ext'
    Which everyone keeps recommending to install mmcv-full to solve, as opposed to "mmcv>=2.0.0" from the instructions. But that doesn't work either, and I get the same error. If I try using older Python versions, I run into the following error:

    Code:
    OSError: Couldn't detect vapoursynth installation path
    When I try running:

    Code:
    pip install -U vsbasicvsrpp
    Even though I have VapourSynth installed for the Python version I'm using. Would anyone know how to get this thing to work?

    Edit: Good lord, it took a while to figure out. But regarding the latter problem, "pip install -U vsbasicvsrpp" attempts to install the latest version of VapourSynth, which was incompatible with the version of Python I was using. You have to pip install a compatible version of VapourSynth (in my case, R60) depending on your Python version, and disregard the one that tries to get installed with vsbasicvsrpp.

    I am running into an issue where the basicvsrpp() method throws an exception that says the .avi file I'm trying to use isn't a clip:

    Code:
    Error("basicvsrpp: this is not a clip")
    Last edited by wubikens; 12th May 2024 at 23:09.
    Quote Quote  
  6. There is a torch-add-on for Hybrid on GoogleDrive ( linked at https://www.selur.de/downloads)
    The ReadME in the GoogleDrive should explain what to do, to install the addon.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  7. Originally Posted by Selur View Post
    There is a torch-add-on for Hybrid on GoogleDrive ( linked at https://www.selur.de/downloads)
    The ReadME in the GoogleDrive should explain what to do, to install the addon.
    Oh awesome, thank you!

    I got it working in Hybrid. Although I've tried the different models available under VapourSynth > Other > BasicVSR++ > Model, and I can't seem to replicate your solution to the color flickering (in my output, the color flashing is still a bit more obvious than the one in your sample). Everything else seems to be the same though, in terms of video quality.

    If I could ask, was there another setting you were using in addition to BasicVSR++?
    Quote Quote  
  8. I don't think I used anything other than BasicVSR++ with the default model, I might have increased the length to 50
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  9. Originally Posted by Selur View Post
    I don't think I used anything other than BasicVSR++ with the default model, I might have increased the length to 50
    Ah gotcha, yeah after taking a closer look I found what I was doing wrong. It's looking pretty good now, thank you again, Selur!

    Between introducing me to the AI models in the other thread, and BasicVSR++ in this one, you've really helped me turn my footage into something spectacular.
    Quote Quote  
  10. A simple AviSynth function that only address the flickering:

    Code:
    SMDegrain(thsad=200, tr=3, PreFilter=4)
    Quote Quote  
  11. Originally Posted by jagabo View Post
    A simple AviSynth function that only address the flickering:

    Code:
    SMDegrain(thsad=200, tr=3, PreFilter=4)
    This helped out a ton with the "shimmering" I was seeing (almost like aliasing), thank you so much!

    It didn't help as much with the color flickering though. However, after some experimenting, I found an Avisynth filter that helped with the color flickering, ASTDR with the default settings and edgemask set to true. The specific setting that helped the most was "tht" which is derived from motionMask's "tht" parameter.

    Using this didn't get rid of the color flickering entirely, but ASTDR in conjunction with lowering the light and medium saturation a bit via ColorMill reduced it to a negligible amount. Hopefully this helps someone in the future that runs into the same issue.

    EDIT: FWIW I checked out every filter on this page, but ASTDR was the only one that had positive results.
    Image Attached Files
    Last edited by wubikens; 19th May 2024 at 18:09.
    Quote Quote  
  12. Originally Posted by wubikens View Post
    Originally Posted by jagabo View Post
    A simple AviSynth function that only address the flickering:

    Code:
    SMDegrain(thsad=200, tr=3, PreFilter=4)
    This helped out a ton with the "shimmering" I was seeing (almost like aliasing), thank you so much!

    It didn't help as much with the color flickering though.
    You can always apply SMDegrain() with stronger settings to the chroma:

    Code:
    MergeChroma(SMDegrain(thsad=200, tr=3, PreFilter=4), SMDegrain(thsad=2000, tr=5, PreFilter=4))
    Be careful though, very strong filtering like this can cause ghosting.
    Image Attached Files
    Quote Quote  
  13. Originally Posted by jagabo View Post
    Originally Posted by wubikens View Post
    Originally Posted by jagabo View Post
    A simple AviSynth function that only address the flickering:

    Code:
    SMDegrain(thsad=200, tr=3, PreFilter=4)
    This helped out a ton with the "shimmering" I was seeing (almost like aliasing), thank you so much!

    It didn't help as much with the color flickering though.
    You can always apply SMDegrain() with stronger settings to the chroma:

    Code:
    MergeChroma(SMDegrain(thsad=200, tr=3, PreFilter=4), SMDegrain(thsad=2000, tr=5, PreFilter=4))
    Be careful though, very strong filtering like this can cause ghosting.
    Oh wow, this solution worked great. I remember your suggestion about the MergeChroma function in a couple threads back, I should have played around with it more. Thank you so much!

    I went ahead and ran the entire video with your line, and it looked really good. I couldn't see any ghosting (with my amateur eyes) but funny enough, I did see some ghosting with the ASTDR solution in another scene:

    Image
    [Attachment 79286 - Click to enlarge]


    Setting ASTDR's edgemask to true (vs the false default) does get rid of some of it, but there was still this tiny bit left. I do like your solution a lot more though since it doesn't seem to introduce any new problems. Thank you again!
    Image Attached Files
    Quote Quote  
  14. Also, SMDegrain() has a separate strength for the chroma. So you can use a single call to get stronger chroma filtering than luma filtering:

    Code:
    SMDegrain(tr=5, thsad=200, thsadC=2000, PreFilter=4)
    They both use the same temporal radius so it may not work as well. It may be worth a try though. It will be significantly faster.
    Last edited by jagabo; 20th May 2024 at 16:08.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!