VideoHelp Forum




+ Reply to Thread
Results 1 to 22 of 22
  1. Hi I have this movie its in very bad shape, alot of dust and noise and colour is poor too.

    Can anything be done to improve this please:

    https://easyupload.io/u13p0i
    Quote Quote  
  2. Here is a very long thread on exactly this subject:

    The power of Avisynth: restoring old 8mm films.

    Here is a later extension of the same thread:

    Capturing and restoring old 8mm films

    You will first need to remove the duplicate which occurs every 25 frames. This will leave you with the original 24 fps film. The scripts I refer to (or my version of the same script, which is posted in those threads) should do a pretty good job on this clip.
    Quote Quote  
  3. Thank you johnmeyer. I'll check it out. Much appreciated.
    Quote Quote  
  4. I don't know what to do with the color since there's so little of the true colors left and, aside from skin tones, I have no idea what the colors are supposed to be. But here's some very heavy filtering for the spots, noise, and flicker.

    Code:
    LSMASHVideoSource("A Massacre Survivor-(1080p).mp4") 
    src = last
    
    BilinearResize(1024, 576)
    Stab(mirror=15)
    TDecimate(Cycle=25, CycleR=1)
    QTGMC(InputType=2)
    RemoveDirtMC(30, false)
    Overlay(last, TTempSmooth(maxr=7, lthresh=30, cthresh=35, strength=5), mask=mt_motion(thy1=20, thy2=20).mt_expand().Invert().Blur(1.5))
    SMDegrain(thsad=1000, tr=5, PreFilter=2)
    aWarpSharp2(depth=10)
    CAS(0.7)
    nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=src.width, fheight=src.height)
    You might go with a higher TTempSmooth strength to reduce flicker even more. Or lower strength (or not use it at all) if you don't mind the flicker. Some detail is lost along with the noise, of course.
    Image Attached Files
    Quote Quote  
  5. Member
    Join Date
    May 2005
    Location
    Australia-PAL Land
    Search Comp PM
    Jagabo, amazing.
    Quote Quote  
  6. Thanks Jagabo. Off to work, will check out tonight. appreciate this so much.
    Quote Quote  
  7. Here is a result using a variation of the scripts I've posted over in doom9.org. I first used TFM/TDecimate to get rid of the dup every 25 frames and then restored the 24 fps version.

    Dirt Removal Test

    jagabo's is definitely better overall. My color correction using GamMac might be a tad better, although as he pointed out, one color channel is basically gone, so there isn't much you can do except balance the blue and red channels.
    Last edited by johnmeyer; 3rd Oct 2023 at 22:19. Reason: update link
    Quote Quote  
  8. Wow, both samples look good. Thank you so much.

    You might go with a higher TTempSmooth strength to reduce flicker even more. Or lower strength (or not use it at all) if you don't mind the flicker. Some detail is lost along with the noise, of course.
    I will try and adjust the strengths in the script and see how it goes.

    My color correction using GamMac might be a tad better
    Is there a way to add your Colour corrections settings to Jagabo script ?
    Quote Quote  
  9. Here's a rough approximation of johnmeyer's color correction:

    Code:
    ConvertToRGB().RGBAdjust(rb=-11, bb=-15).RGBAdjust(r=198.0/191.0, b=198.0/216.0).RGBAdjust(rg=0.75).ConvertToYV12()
    Add that just after opening the source.
    Quote Quote  
  10. Thanks Jagabo.

    Also I'm trying to tweak your script a little bit. Which filter would I need to adjust to get back some of the details lost. For example some of the fighting hoop is kind of missing in few frames.
    Quote Quote  
  11. users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  12. Originally Posted by Akuma786 View Post
    Also I'm trying to tweak your script a little bit. Which filter would I need to adjust to get back some of the details lost. For example some of the fighting hoop is kind of missing in few frames.
    The wooden (?) hoop that appears about 1 minute into the video? Unfortunately, all three of the temporal filters are responsible for portions of the hoop disappearing. RemoveDirtMC, TTempSmooth overlay, SMDegrain. On some frames it may be mostly one. On other frames it may be another. And with some frames it's a combination.
    Quote Quote  
  13. I understand now. Nevertheless the script you've given is amazing.
    Much appreciated.
    Quote Quote  
  14. Potentially, TTempSmooth (with the extreme settings) is the most damaging. But it's also responsible for reducing lots of the flicker (and the residual dirt/spots/junk that the other filters left behind). It can blur/blend details when there is motion. I tried to limit that damage by applying it only to stationary areas (hence the Overlay with mask=mt_motion).

    RemoveDirtMC removes spots that appear for only one frame. If a spot appears on the frame, but not on the frame before and after, (and the before and after frames are the same in that area) it removes it. It is motion compensated so it follows motion between frames.

    SMDegrain is a general temporal noise reducer. It is motion compensated so it also follows motion between frames.
    Quote Quote  
  15. Originally Posted by Selur View Post
    Thanks selur..I will check it out.
    Quote Quote  
  16. Originally Posted by jagabo View Post
    Potentially, TTempSmooth (with the extreme settings) is the most damaging. But it's also responsible for reducing lots of the flicker (and the residual dirt/spots/junk that the other filters left behind). It can blur/blend details when there is motion. I tried to limit that damage by applying it only to stationary areas (hence the Overlay with mask=mt_motion).

    RemoveDirtMC removes spots that appear for only one frame. If a spot appears on the frame, but not on the frame before and after, (and the before and after frames are the same in that area) it removes it. It is motion compensated so it follows motion between frames.

    SMDegrain is a general temporal noise reducer. It is motion compensated so it also follows motion between frames.
    Thank you for the detailed explanation. This is really helpful in me understanding the script better for my own knowledge.
    Quote Quote  
  17. To add back the hoop (or any other lost detail), you either have to try to come up with a clever mask, or you have to replace that one frame with another which uses less dirt reduction. I often make TWO different noise-reduced versions: one with really high dirt removal settings, and the other will low settings. I then put the two videos on the timeline in my NLE (Vegas) and delete the frame where something disappears, allowing the more moderate version to "show through" for that one frame.

    There was a thread in doom9.org about using a mask to detect morphing artifacts and switch to another version of the video to cover the artifacts (similar problem), but I couldn't quickly find the link to that thread.
    Quote Quote  
  18. The thread over from doom9s is probably: https://forum.doom9.org/showthread.php?p=1946031
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  19. Thank you Johnmeyer. That's a very good tip.
    Thanks for the link Selur. Much appreciated.
    Quote Quote  
  20. If you were mixing and matching whole frames of a lightly / heavy / other filtered version(s) , you could also use RemapFrames() in avisynth

    But replacing whole frames would leave more dirt on other parts of those selective frames. So you'd have whole dirty and clean frames, it would look a bit out of place. Ideally you'd want more control to add back only those details, but keep the dirt removal, If you were going to use a NLE or compositing tool - you also could be more selective by painting the alpha channel on specific areas reveal back the details on the lightly filtered layer, yet keep the other parts of the frame clean. You're also combining 2 or more filtered versions, but essentially being more selective with the mask area using alpha channel paintint
    Quote Quote  
  21. While playing with the Overlay(TTempSmooth()) I noticed that the scene change threshold for mt_mask() was to low for this video. All the noise makes it see scene changes everywhere. Increasing the threshold works a little better. The default was thT=10, I increased it to 30. I also raised the thy settings from 20 to 30.

    Code:
    LSMASHVideoSource("A Massacre Survivor-(1080p).mp4") 
    src = last
    
    BilinearResize(1024, 576)
    Stab(mirror=15)
    TDecimate(Cycle=25, CycleR=1)
    QTGMC(InputType=2)
    RemoveDirtMC(30, false)
    Overlay(last, TTempSmooth(maxr=7, lthresh=30, cthresh=35, strength=5), mask=mt_motion(thy1=30, thy2=30, thT=30).mt_expand().Invert().Blur(1.5))
    SMDegrain(thsad=1000, tr=5, PreFilter=2)
    aWarpSharp2(depth=10)
    CAS(0.7)
    nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=src.width, fheight=src.height)
    Quote Quote  
  22. Thanks Poisondeathray for that useful tip.

    Thanks Jagabo. I shall tweak the script as described by you. Much appreciated.
    Quote Quote  



Similar Threads

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