VideoHelp Forum
+ Reply to Thread
Page 2 of 2
FirstFirst 1 2
Results 31 to 39 of 39
Thread
  1. Originally Posted by lollo View Post
    Originally Posted by Traderbam View Post
    is this better to keep on or off? It looks much less noisy when ON but not sure if I should be using a script to sort it out in post
    Capture is much better with off mode. You switched to on mode at frame 39 in your sample, here a post-processing where the first 38 frames have been denoised, and from frame 39 to the end the video is untouched:

    Image
    [Attachment 83798 - Click to enlarge]


    Judge yourself

    Code:
    video_org=AviSource("test1-00.02.01.944-00.02.04.866.avi")
    
    # trimming 1
    	trim_start_1=0
    	trim_end_1=38
    video_org_trim_1=video_org.trim(trim_start_1,trim_end_1)
    
    # trimming 2
    	trim_start_2=39
    	trim_end_2=0
    video_org_trim_2=video_org.trim(trim_start_2,trim_end_2)
    
    ### convert to YV16
    video_org_trim_1_yv16=video_org_trim_1.convertToYV16()
    
    ### denoising
    denoised_yv16=video_org_trim_1_yv16.TemporalDegrain2(degrainTR=3)
    
    ### convert to YUY2
    denoised=denoised_yv16.ConvertToYUY2()
    
    video_final=denoised++video_org_trim_2
    
    return(video_final)
    Thanks lollo, difference is incredible. I need to try a comparison now between SOFT and AUTO modes with DNR off. When I tried it before I couldn't see anything as I toggled but will try a capture to verify. I don't know how AUTO is determined and nothing in the manual makes it clear.
    Quote Quote  
  2. Originally Posted by lollo View Post
    Originally Posted by Traderbam View Post
    is this better to keep on or off? It looks much less noisy when ON but not sure if I should be using a script to sort it out in post
    Capture is much better with off mode. You switched to on mode at frame 39 in your sample, here a post-processing where the first 38 frames have been denoised, and from frame 39 to the end the video is untouched:

    Image
    [Attachment 83798 - Click to enlarge]


    Judge yourself

    Code:
    video_org=AviSource("test1-00.02.01.944-00.02.04.866.avi")
    
    # trimming 1
    	trim_start_1=0
    	trim_end_1=38
    video_org_trim_1=video_org.trim(trim_start_1,trim_end_1)
    
    # trimming 2
    	trim_start_2=39
    	trim_end_2=0
    video_org_trim_2=video_org.trim(trim_start_2,trim_end_2)
    
    ### convert to YV16
    video_org_trim_1_yv16=video_org_trim_1.convertToYV16()
    
    ### denoising
    denoised_yv16=video_org_trim_1_yv16.TemporalDegrain2(degrainTR=3)
    
    ### convert to YUY2
    denoised=denoised_yv16.ConvertToYUY2()
    
    video_final=denoised++video_org_trim_2
    
    return(video_final)
    Lollo, is there any issue running TD2 alongside QTGMC in a script? I usually use something like "faster" preset in QTGMC. Is there a risk of double-denoising and how can I avoid that?
    Quote Quote  
  3. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    QTGMC denoises by itself and is not easy to turn completely off this filtering, being essential part of the nice outcomes we all appreciate.

    The preset "fast" is not recommended when QTGMC is used "alone", and useless for the purpose to avoid over processing when applying additional denoising step.

    I generally use something like:
    Code:
    QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, tr1=2, tr2=1, NoiseTR=2, sharpness=0.1)
    TemporalDegrain2(degrainTR=3)
    but experiment youself with your material, eventually reducing the temporal radius (degrainTR) of TD2.

    Some useful old discussion here:
    https://forum.videohelp.com/threads/404164-Why-is-QTGMC-so-destructive-and-why-do-so-m...it#post2641895
    https://forum.videohelp.com/threads/410894-Avoid-noise-reduction-with-QTGMC
    Quote Quote  
  4. That's good to know, I've obviously been using some sample scripts incorrectly.

    If I start with these settings, is it adequate to reduce the degrainTR settings from 3 to a lower value, or do we need to start throwing grainLevel,postFFT and postSigma settings into the mix? I much prefer to keep it as simple as possible.
    Quote Quote  
  5. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    In general, TemporalDegrain2 works quite well with degrainTR=3, so start with that, and experiment lower values.

    The post-processing options in TD2 are there to provide additional denoise, which is rarely required. For very bad sources with residual noise after TD2 you can try a spatial denoiser like KNLMeansCL, enabling it inside TD2 (with postFFT and postSigma) or in stand-alone mode (preferred, so you have full control of all parameters).

    But, once more, I adhere to the concept "less is better", so be careful to do not over process your videos.

    P.S.: remeber that QTGMC is only needed for interlaced sources.
    Quote Quote  
  6. Yes all my sources are interlaced.

    I've added a few other samples from a recent tape. Some sections of the tape are much better than others so I'm assuming this was recorded to VHS from a camcorder.

    The TG2 noise reduction helps a bit on this but it seems the source is overly blurry. I'm sure sure how to describe this technical but if you had any assistance on these clips that could be useful to understand how I can improve. It just seems overly soft to begin with.
    Quote Quote  
  7. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    A quick attempt on my side. The source is not the best, but I see some improvement with a basic processing.

    Levels video 1 OK:

    Click image for larger version

Name:	seg1_frame82_hist.png
Views:	42
Size:	1,022.2 KB
ID:	83944

    Levels video 2 OK:

    Click image for larger version

Name:	seg2_frame76_hist.png
Views:	41
Size:	854.1 KB
ID:	83945

    Processing video 1:

    video (cutted for upload limits): a_cutted.avi

    comparison by side:
    Click image for larger version

Name:	comp_a.png
Views:	42
Size:	1.31 MB
ID:	83946

    comparison with slider: https://imgsli.com/MzI0MzUw (a bit unfair, interlaced vs progressive)

    Processing video 2:

    video: b.avi

    comparison by side:
    Click image for larger version

Name:	comp_b.png
Views:	43
Size:	1.02 MB
ID:	83947

    comparison with slider: https://imgsli.com/MzI0MzUx (a bit unfair, interlaced vs progressive)

    Filtering video 1:

    Code:
    video_org=AviSource("VHS-TAPE1-Baling-4-00.09.11.019-00.09.16.842-seg1.avi")
    
    # cropping 
    	crop_left=16	# | rimozione esatta delle bande nere sinistra, sopra, destra e del disturbo sotto	
    	crop_top=8	# | 720-(16+10)x576-(8+4)=694x564
    	crop_right=10
    	crop_bottom=4
    video_org_crop=video_org.crop(crop_left,crop_top,-crop_right,-crop_bottom)
    
    ### de-interlacing
    deinterlaced=video_org_crop.AssumeTFF().QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, tr1=2, tr2=1, NoiseTR=2, sharpness=0.1)
    
    ### convert to YV16
    deinterlaced_yv16=deinterlaced.convertToYV16()
    ### denoising
    denoised_yv16=deinterlaced_yv16.TemporalDegrain2(degrainTR=3)
    ### convert to YUY2
    denoised=denoised_yv16.convertToYUY2()
    
    ### convert to YV12
    video_org_yv12=denoised.convertToYV12()
    ### sharpening
    sharpened_yv12=video_org_yv12.LSFmod(defaults="slow")
    ### convert to YUY2 with chroma from YUY2 color space
    sharpened=sharpened_yv12.convertToYUY2().MergeChroma(denoised)
    ### add borders
    video_rest=sharpened.addborders((crop_left+crop_right)/2-1,(crop_top+crop_bottom)/2,(crop_left+crop_right)/2+1,(crop_top+crop_bottom)/2)
    
    return(video_rest)
    Filtering video 2 (just crop top changed):

    Code:
    # cropping 
    	crop_left=16	# | rimozione esatta delle bande nere sinistra, sopra, destra e del disturbo sotto	
    	crop_top=10	# | 720-(16+10)x576-(10+4)=694x562
    	crop_right=10
    	crop_bottom=4
    Quote Quote  
  8. Originally Posted by lollo View Post
    A quick attempt on my side. The source is not the best, but I see some improvement with a basic processing.

    Levels video 1 OK:

    Image
    [Attachment 83944 - Click to enlarge]


    Levels video 2 OK:

    Image
    [Attachment 83945 - Click to enlarge]


    Processing video 1:

    video (cutted for upload limits): Image
    [Attachment 83948 - Click to enlarge]


    comparison by side:
    Image
    [Attachment 83946 - Click to enlarge]


    comparison with slider: https://imgsli.com/MzI0MzUw (a bit unfair, interlaced vs progressive)

    Processing video 2:

    video: Image
    [Attachment 83949 - Click to enlarge]


    comparison by side:
    Image
    [Attachment 83947 - Click to enlarge]


    comparison with slider: https://imgsli.com/MzI0MzUx (a bit unfair, interlaced vs progressive)

    Filtering video 1:

    Code:
    video_org=AviSource("VHS-TAPE1-Baling-4-00.09.11.019-00.09.16.842-seg1.avi")
    
    # cropping 
    	crop_left=16	# | rimozione esatta delle bande nere sinistra, sopra, destra e del disturbo sotto	
    	crop_top=8	# | 720-(16+10)x576-(8+4)=694x564
    	crop_right=10
    	crop_bottom=4
    video_org_crop=video_org.crop(crop_left,crop_top,-crop_right,-crop_bottom)
    
    ### de-interlacing
    deinterlaced=video_org_crop.AssumeTFF().QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, tr1=2, tr2=1, NoiseTR=2, sharpness=0.1)
    
    ### convert to YV16
    deinterlaced_yv16=deinterlaced.convertToYV16()
    ### denoising
    denoised_yv16=deinterlaced_yv16.TemporalDegrain2(degrainTR=3)
    ### convert to YUY2
    denoised=denoised_yv16.convertToYUY2()
    
    ### convert to YV12
    video_org_yv12=denoised.convertToYV12()
    ### sharpening
    sharpened_yv12=video_org_yv12.LSFmod(defaults="slow")
    ### convert to YUY2 with chroma from YUY2 color space
    sharpened=sharpened_yv12.convertToYUY2().MergeChroma(denoised)
    ### add borders
    video_rest=sharpened.addborders((crop_left+crop_right)/2-1,(crop_top+crop_bottom)/2,(crop_left+crop_right)/2+1,(crop_top+crop_bottom)/2)
    
    return(video_rest)
    Filtering video 2 (just crop top changed):

    Code:
    # cropping 
    	crop_left=16	# | rimozione esatta delle bande nere sinistra, sopra, destra e del disturbo sotto	
    	crop_top=10	# | 720-(16+10)x576-(10+4)=694x562
    	crop_right=10
    	crop_bottom=4
    Thanks for that. I was using very similar - TG2 and LSFMod albeit the fast mode. I'm using Staxrip so the conversions and mergechroma isn't something I specify (assume it happens behind the scenes).

    Is the low quality source to be expected if this was recorded from some other device e.g. camcorder to VHS?
    Quote Quote  
  9. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Is the low quality source to be expected if this was recorded from some other device e.g. camcorder to VHS?
    Yes. Every analog copy degrades the quality. But other aspects may be relevant (i.e. quality of the recorder, quality of the player, signal path, etc.)

    I'm using Staxrip so the conversions and mergechroma isn't something I specify (assume it happens behind the scenes).
    MergeChroma and ColorSpace conversions are there just because my setup. Actually the first avoid sharpening the chroma, which may be useful in some cases (anyhow, by default the best sharpener do not act on chroma).

    You do not need any useless gui, for encoding just use:
    Code:
    ffmpeg.exe -i <input>.avs -c:v libx264 -crf 17 -preset slow -aspect 4:3 -c:a aac -b:a 128k <output>.mp4
    Quote Quote  



Similar Threads

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