VideoHelp Forum
+ Reply to Thread
Results 1 to 19 of 19
Thread
  1. Member
    Join Date
    Jun 2004
    Location
    United States
    Search Comp PM
    I got GREAT advice here a few years back on improving some DVCAM footage by reducing RGB and black levels and am in need of similar help again. I've tried to do what I think I recall doing in that instance, but it's been too many years and I may not be recalling correctly. This is from an 8mm tape, captured from the DV port on a camcorder, straight into the PC via FireWire. It has the same "noisy" aspects of that DVCAM tape years ago but the appropriate remedy for this one may be different. I'm somewhat knowledgeable, but definitely not on the level that many/most of you here seem to be. I'd appreciate any suggestions on how to improve. I'm fine with using VirtualDub filters (if I've got a clue as to which one and the settings) and/or Avisynth scripts (can run them, but not competent in creating). Thanks for your assistance and looking forward to your responses.

    https://drive.google.com/open?id=1wezdl5mHE6aTmdFQZMGUVk20NvZXKOmD&authuser=al.booth1%...m&usp=drive_fs
    Quote Quote  
  2. First of all, don't convert your incoming video to RGB. That will crush darks and brights.
    Quote Quote  
  3. Member
    Join Date
    Jun 2004
    Location
    United States
    Search Comp PM
    Thanks for the quick response! What should I do differently in that regard? Is there a problem with the method of capture (DV port on camcorder) or something I'm doing afterwards? I thought (perhaps mistakenly) that the sample I uploaded was uncompressed or altered in any other way, but again, may definitely be mistaken.
    Quote Quote  
  4. It looks like you opened one of your DV files in VirtualDub to trim out the short sample. That would have converted the original DV video to uncompressed RGB before saving. Try again but set Video -> Direct Stream Copy before saving the resulting AVI. That way the DV data will pass directly to the output file rather than being converted to RGB. Another editor you can use is AviDemux. Leave Audio and Video output set to Copy, select AVI as the output format, then save your selected segment.
    Quote Quote  
  5. Member
    Join Date
    Jun 2004
    Location
    United States
    Search Comp PM
    Ah! Thanks for pointing out/explaining what probably should have been obvious. I've uploaded a new clip. Still from VirtualDub, but with Vdeo set to Direct Stream as you pointed out.

    https://drive.google.com/open?id=1wlAVrL9krjZy3_ISNtKvfd1AXZ8_Fj3z&authuser=al.booth1%...m&usp=drive_fs
    Quote Quote  
  6. Member
    Join Date
    Jun 2004
    Location
    United States
    Search Comp PM
    Now that (I think) I've done a better job of providing a sample clip, any suggestions as to how I can improve this are greatly appreciated.
    Quote Quote  
  7. Sorry, I lost track of this thread. Is the entire video just one long shot like this with a dark background? What are you looking to do?
    Quote Quote  
  8. Member
    Join Date
    Jun 2004
    Location
    United States
    Search Comp PM
    No apology needed! Yes, the camera is stationary throughout. It was shot in relatively low light, so I'd imagine that the videographer adjusted something to make it seem brighter on the camcorder screen, but in doing so probably boosted some levels incorrectly. There seems to be quite a bit of noise, more noticeable in the darker areas, but not confined to those. There is also a sort of "underwater" effect where it seems like there is a moving layer (maybe just the aforementioned noise again) between the viewer and the band. So I'm looking to reduce the noise and sharpen a bit if it's possible to improve that without doing too much. Based on advice I've gotten here before on a DVCAM tape with similar issues I am in hopes that there's be suggestions to improve this one, which is from the 8mm master tape.
    Quote Quote  
  9. I used the "Color Curves" feature in Vegas Pro. It lets you interactively create your own histogram.

    It is clear that there is absolutely no detail in the drummer's face, so I made no attempt to brighten it.

    I probably should have kept the shadows a little darker to avoid the noise.

    Personally, I think the original is going to look better, no matter what you do.

    Quote Quote  
  10. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    My quick attempt, no brightness/color corrections: https://imgsli.com/MTM2ODY5, add them if you wish
    Quote Quote  
  11. Yeah, messing with light and maybe some denoising and stabilization (https://pastebin.com/fpGUbb7w)

    can help a bit, but no real surprises to be expected.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  12. Give there's such little motion you can apply some very heavy temporal smoothing:

    Code:
    LWLibavVideoSource("C:\Users\John\Desktop\RABinMS\Oxford Sample 2.avi", cache=false, prefer_hw=2, format="yuy2") 
    ConvertToYV24(matrix="PC.601", interlaced=true).ConvertBits(10)
    QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4,\ 
        DCT=5, ThSCD1=300, ThSCD2=110, \ 
        SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", \ 
        NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="fast", \ 
        StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob")
    SMDegrain(tr=9, thSAD=1000, refinemotion=true, contrasharp=false, PreFilter=4, mode=0, truemotion=true, plane=4, chroma=false)
    CAS(0.7)
    Play around with SMDegrain's tr (temporal radius) and thSAD (strength of denoising) settings. The QTGMC settings reduce its noise reduction at the cost of a little edge smoothing. Some gamma adjustment might be bearable here.

    10 bit HEVC sample attached. If you want 8 bits (with whatever encoder you're using) add:

    Code:
    ConvertBits(8, dither=0) # ordered dither
    ConvertToYV12()
    at the end.

    <edit>
    Possible gamma adjustment after converting to 10 bits, before QTGMC:
    Code:
    ColorYUV(gain_y=20, off_y=-12) # ~full range
    ColorYUV(gamma_y=75) # gamma adjust
    ColorYUV(gain_y=-20, off_y=4) # ~ limited range
    Not included in the sample video below.
    </edit>
    Image Attached Files
    Last edited by jagabo; 29th Nov 2022 at 20:32.
    Quote Quote  
  13. Member
    Join Date
    Jun 2004
    Location
    United States
    Search Comp PM
    Thanks everyone! Jagabo, that looks MUCH better. It will probably be the weekend before I can get back on this, but will use the scripts you graciously provided. If I hit any snags I'll be back with questions, but expect that this will fix me up. Thanks again for everyone's input.
    Quote Quote  
  14. I tried to reducing the grain in the dark background. Some of the audience members become indistinct at times but there's not too much loss in the musicians.

    Code:
    LWLibavVideoSource("Oxford Sample 2.avi", cache=false, prefer_hw=2, format="yuy2") 
    preroll(50)
    ConvertToYV24(matrix="PC.601", interlaced=true).ConvertBits(10)
    
    QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4,\ 
        DCT=5, ThSCD1=300, ThSCD2=110, \ 
        SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", \ 
        NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="fast", \ 
        StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob")
    
    # reduce noise in dark areas
    bmask = ColorYUV(off_y=-40).ColorYUV(gain_y=1000).Blur(1.0)
    blurred = KNLMeansCL(d=1, a=3, s=5, h=4.0, channels="Y").CAS(0.6)
    Overlay(blurred, last, mask=bmask)
    
    SMDegrain(tr=9, thSAD=1000, refinemotion=true, contrasharp=false, PreFilter=4, mode=0, truemotion=true, plane=4, chroma=false)
    CAS(0.7)
    
    # for 8 bit output
    #ConvertBits(8, dither=0) # ordered dither
    #ConvertToYV12()
    
    prefetch(16)
    Image Attached Files
    Last edited by jagabo; 1st Dec 2022 at 14:12.
    Quote Quote  
  15. Originally Posted by jagabo View Post
    I tried to reducing the grain in the dark background. Some of the audience members become indistinct at times but there's not too much loss in the musicians.

    Code:
    LWLibavVideoSource("Oxford Sample 2.avi", cache=false, prefer_hw=2, format="yuy2") 
    preroll(50)
    ConvertToYV24(matrix="PC.601", interlaced=true).ConvertBits(10)
    
    QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4,\ 
        DCT=5, ThSCD1=300, ThSCD2=110, \ 
        SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", \ 
        NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="fast", \ 
        StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob")
    
    # reduce noise in dark areas
    bmask = ColorYUV(off_y=-40).ColorYUV(gain_y=1000).Blur(1.0)
    blurred = KNLMeansCL(d=1, a=3, s=5, h=4.0, channels="Y").CAS(0.6)
    Overlay(blurred, last, mask=bmask)
    
    SMDegrain(tr=9, thSAD=1000, refinemotion=true, contrasharp=false, PreFilter=4, mode=0, truemotion=true, plane=4, chroma=false)
    CAS(0.7)
    
    # for 8 bit output
    #ConvertBits(8, dither=0) # ordered dither
    #ConvertToYV12()
    
    prefetch(16)


    that looks excellent
    Quote Quote  
  16. Member
    Join Date
    Jun 2004
    Location
    United States
    Search Comp PM
    Originally Posted by hdfills View Post
    Originally Posted by jagabo View Post
    I tried to reducing the grain in the dark background. Some of the audience members become indistinct at times but there's not too much loss in the musicians.

    Code:
    LWLibavVideoSource("Oxford Sample 2.avi", cache=false, prefer_hw=2, format="yuy2") 
    preroll(50)
    ConvertToYV24(matrix="PC.601", interlaced=true).ConvertBits(10)
    
    QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4,\ 
        DCT=5, ThSCD1=300, ThSCD2=110, \ 
        SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", \ 
        NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="fast", \ 
        StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob")
    
    # reduce noise in dark areas
    bmask = ColorYUV(off_y=-40).ColorYUV(gain_y=1000).Blur(1.0)
    blurred = KNLMeansCL(d=1, a=3, s=5, h=4.0, channels="Y").CAS(0.6)
    Overlay(blurred, last, mask=bmask)
    
    SMDegrain(tr=9, thSAD=1000, refinemotion=true, contrasharp=false, PreFilter=4, mode=0, truemotion=true, plane=4, chroma=false)
    CAS(0.7)
    
    # for 8 bit output
    #ConvertBits(8, dither=0) # ordered dither
    #ConvertToYV12()
    
    prefetch(16)


    that looks excellent
    That it does! MANY thanks again Jagabo. Hopefully I can get to it this weekend. Really looking forward to enjoying the improved footage.
    Quote Quote  
  17. Truthfully though, I don't really consider what I did an improvement. When watching the original video my mind accepts that it was shot in low light and the video is grainy. The processed videos don't really look better to me, just different. The last one (with the heavy dark noise reduction) looks a bit like some very badly over-compressed video.
    Quote Quote  
  18. Originally Posted by jagabo View Post
    The processed videos don't really look better to me, just different.
    I agree. I had the same reaction to my own attempts to improve this video (see post #9 above). As I said then, "Personally, I think the original is going to look better, no matter what you do."
    Quote Quote  
  19. Member
    Join Date
    Jun 2004
    Location
    United States
    Search Comp PM
    And I can see both of your points. Jagabo’s versions look to be great improvements based on viewing in a 24”ish computer monitor. I’ll compare against the original on my much larger TV before making a final decision. I’m much more familiar with the audio world and I think a comparison is to noise/tape hiss reduction. Much (most?) of the time it’s difficult to get any noticeable reduction without removing too much of the program material and actually degrading the quality instead of improving it. Regardless, I appreciate everyone’s input and willingness to help.
    Quote Quote  



Similar Threads

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