digitalFAQ.com Forum

digitalFAQ.com Forum (https://www.digitalfaq.com/forum/)
-   Restore, Filter, Improve Quality (https://www.digitalfaq.com/forum/video-restore/)
-   -   How to improve VHS video? (https://www.digitalfaq.com/forum/video-restore/15235-how-improve-vhs.html)

Selur 09-08-2025 09:40 AM

Okay, you are not using Hybrid, you are using vsViewer on it's own.
Open the file with Hybrid, open the Vapoursynth Preview.

araset 09-08-2025 09:45 AM

Quote:

Originally Posted by Selur (Post 104494)
Okay, you are not using Hybrid, you are using vsViewer on it's own.
Open the file with Hybrid, open the Vapoursynth Preview.

What do You mean by file? The modified vpy script with directories to my computer from You?

Selur 09-08-2025 10:33 AM

Yes, if you want to use that as source.

araset 09-08-2025 11:12 AM

It's ok but the output file has kind of blurred kind of motion effect. I am trying to recreate manually setting the filters in Hybrid and there also is a blurry effect. Which filter can cause such problem ?

Selur 09-08-2025 11:20 AM

Probably, mclean

araset 09-08-2025 11:27 AM

Quote:

Originally Posted by Selur (Post 104500)
Probably, mclean

Is there any filter similar but not causing that bluring effect?

Selur 09-08-2025 11:48 AM

Best simply apply the filters one by one check the Vapoursynth Preview to see what they do.
The point of Hybrids tons of option is to allow adjusting filters&co to your needs.
Due to the input quality of your source, with conventional filtering, you will either have to live with blocking, artifacts, noise, or some blurring to hide those.

-- merged --

Personally, I would apply different filters per scene. i.e. using RediuceFlicker and SmallDeflicker can help a lot in the zoomed out view, but if one applies them to the close-ups you end up with artifacts, like this:
https://www.digitalfaq.com/forum/error.gif

Cu Selur

-- merged --

Here's something to try:
  • Start Hybrid
  • Load the sample.avi
  • Set 'Filtering->(De-)Interlace/Telecine->Overwrite input scan type to' to 'top field first'
  • Enable 'Filtering->Compare view' (lower right corner)
  • Enable 'Filtering->Syncth auto refresh' (lower right corner)
  • Open the 'Vapoursynth Preview' and keep it open so that you see what happens (lower right corner)
  • Enable 'Filtering->Vapoursynth->Color->Misc->ChromaShiftSP' and set 'X' to '-3'
  • Enable 'Filtering->Vapoursynth->Sharpen->aWartpSharp2' and set 'Depth' to '8' and enable 'Chroma'
  • Enable "Filtering->Vapoursynth->Misc->UI->Show 'Apply only to'"
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->ReduceFlicker' and set 'Strength' to '3' and enable 'aggressive'
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->ReduceFlicker->ApplyOnlyTo', enable 'Range' and set it to "[30- 535]"
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->SmallDeflicker' and set 'Preset' to 'aggressive' and enable 'CNR' and 'ZSmooth'
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->SmallDeflicker->ApplyOnlyTo', enable 'Range' and set it to "[30- 535]"

Now, try different filters under 'Filtering->Vapoursynth->DeGrain' and 'Filtering->Vapoursynth->DeNoise' and play with their settings.

araset 09-15-2025 06:54 AM

Quote:

Originally Posted by Selur (Post 104508)
Here's something to try:
  • Start Hybrid
  • Load the sample.avi
  • Set 'Filtering->(De-)Interlace/Telecine->Overwrite input scan type to' to 'top field first'
  • Enable 'Filtering->Compare view' (lower right corner)
  • Enable 'Filtering->Syncth auto refresh' (lower right corner)
  • Open the 'Vapoursynth Preview' and keep it open so that you see what happens (lower right corner)
  • Enable 'Filtering->Vapoursynth->Color->Misc->ChromaShiftSP' and set 'X' to '-3'
  • Enable 'Filtering->Vapoursynth->Sharpen->aWartpSharp2' and set 'Depth' to '8' and enable 'Chroma'
  • Enable "Filtering->Vapoursynth->Misc->UI->Show 'Apply only to'"
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->ReduceFlicker' and set 'Strength' to '3' and enable 'aggressive'
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->ReduceFlicker->ApplyOnlyTo', enable 'Range' and set it to "[30- 535]"
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->SmallDeflicker' and set 'Preset' to 'aggressive' and enable 'CNR' and 'ZSmooth'
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->SmallDeflicker->ApplyOnlyTo', enable 'Range' and set it to "[30- 535]"

Now, try different filters under 'Filtering->Vapoursynth->DeGrain' and 'Filtering->Vapoursynth->DeNoise' and play with their settings.

Thanks but when applying [30- 535] in range I have error:
Failed to evaluate the script:
Python exception: ReplaceFramesSimple: Index out of bounds in mappings at line 1, column 6

Traceback (most recent call last):
File "src/cython/vapoursynth.pyx", line 3378, in vapoursynth._vpy_evaluate
File "src/cython/vapoursynth.pyx", line 3379, in vapoursynth._vpy_evaluate
File "C:\Users\tesar\AppData\Local\Temp\tempPreviewVapo ursynthFile13_51_06_827.vpy", line 69, in
clip = core.remap.Rfs(baseclip=clip, sourceclip=core.rdfl.ReduceFlicker(clip=clip, strength=3, aggressive=1), mappings="[30- 535]")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
File "src/cython/vapoursynth.pyx", line 3114, in vapoursynth.Function.__call__
vapoursynth.Error: ReplaceFramesSimple: Index out of bounds in mappings at line 1, column 6

Selur 09-15-2025 10:28 AM

Sorry, forgot to mention:
Enable 'Filtering->(De-)Interlace/Telecine->QTGMC Vapoursynth->Bob' without this the frame count is halved and thus the range would need to be "[15-267]" :)

Cu Selur

araset 09-16-2025 11:06 AM

2 Attachment(s)
Quote:

Originally Posted by Selur (Post 104594)
Sorry, forgot to mention:
Enable 'Filtering->(De-)Interlace/Telecine->QTGMC Vapoursynth->Bob' without this the frame count is halved and thus the range would need to be "[15-267]" :)

Cu Selur

Thanks. With the same settings I managed to clean some another capture of the same cassete but captured with JVC VCR with line TBC. Image is significantly cleaner and Hybrid has easier task with cleaning the picture with just one filter mcleaner. Sample 1 is the original unfiltered capture, sample2 is filtered using Your settings and mcleaner modified. I think the results are better then with Sharp non TBC VCR. What do You think?

Selur 09-16-2025 11:17 AM

1 Attachment(s)
Use what ever you like, with filtering it's always down to what one personally prefers.
Chroma shift is not correct for sample 2.

araset 09-16-2025 11:24 AM

Quote:

Originally Posted by Selur (Post 104614)
Use what ever you like, with filtering it's always down to what one personally prefers.
Chroma shift is not correct for sample 2.

Chroma shift is from previous capture and is -3,I think. How should it be set?

Selur 09-16-2025 11:27 AM

try without it,..

araset 09-30-2025 11:51 AM

1 Attachment(s)
Quote:

Originally Posted by Selur (Post 104616)
try without it,..

I have uploaded final mp4 sample file. It's interlaced because it's for archival purposes not for youtube. I have cleaned audio. I know it's not perfect. What do You think?

lordsmurf 09-30-2025 12:27 PM

Hmm.

Video:
- Temporal NR seems too aggressive.
- Something with the interlace seems off. NR can harm interlace. Resize by anything other than 4-pixel increments can cause wrong field swapping.
- The luma/chroma are acceptable.
- I don't like all the in-image wiggles. Not sure if this is from lack of line TBC, nth gen VHS, broadcast, NR processing, or what. It's distracting, like the video was invaded by amoeba, and it breathes.

Audio:
- Perhaps less muffled, which isn't really that hard to do restore-wise.

I've not participated much in this thread. selur was guiding you through Hybrid, so I let the master do his work. :)

timtape 09-30-2025 04:16 PM

Quote:

Originally Posted by araset (Post 104818)
I have cleaned audio. I know it's not perfect. What do You think?

The audio is now heavily broadband denoised, making for a very unnatural sound. Very "robotic" sound. Much of the quieter crowd sound is now wiped out. Only the big applause after a finished point remains. But with all that heavy denoising the "beep, beep" sounds are still there at times.
If this was video, not audio, the darker picture details would now be wiped out.

Listen for not only the removed sound but also the sound we are trying to preserve. We're trying to do as little damage as possible to the wanted audio.

The proper way is to filter out only these tones and preserve as much possible the rest of the audio. This means using filters that are very selective. Sometimes that's possible. Sometimes it isnt.

As one example Izotope RX Elements contains a DeHum tool.

Here's a YT demo

https://www.youtube.com/watch?v=iDRQXJmC6Eg&t=12s

It's important to use the right tools but also to know how to use them, including knowing their limitations.

Having said that, most likely the original tape playback was poor. I suspect there's much clearer audio on that tape, waiting to be captured well. Audio capture is one of my specialties. Feel free to send me the original tape and I will capture the linear audio track at near to its best, for the cost of postage. PM me if interested.

araset 10-01-2025 08:55 AM

Quote:

Originally Posted by lordsmurf (Post 104821)
Hmm.

Video:
- Temporal NR seems too aggressive.
- Something with the interlace seems off. NR can harm interlace. Resize by anything other than 4-pixel increments can cause wrong field swapping.
- The luma/chroma are acceptable.
- I don't like all the in-image wiggles. Not sure if this is from lack of line TBC, nth gen VHS, broadcast, NR processing, or what. It's distracting, like the video was invaded by amoeba, and it breathes.

Audio:
- Perhaps less muffled, which isn't really that hard to do restore-wise.

I've not participated much in this thread. selur was guiding you through Hybrid, so I let the master do his work. :)

Yes this wiggle is distracting. Is any way to maybe prevent it?

Selur 10-01-2025 10:04 AM

Quote:

I have uploaded final mp4 sample file. It's interlaced because it's for archival purposes not for youtube. I have cleaned audio. I know it's not perfect. What do You think?
personally, I would try some strong denoising with a luma or edge mask to reduce the noise in the field lines.

araset 10-01-2025 03:18 PM

Quote:

Originally Posted by Selur (Post 104841)
personally, I would try some strong denoising with a luma or edge mask to reduce the noise in the field lines.

Do You have any suggestions?

Selur 10-02-2025 07:18 AM

1 Attachment(s)
Haven't tried anything, but Spotless with a radius of three and a luma mask to only filter stuff 150+ (expanded by one pixel) might work,...
=> argh, won't work since the ball would be filtered too and disappear in some cases :)

Try:
  • Start Hybrid
  • Load the sample.avi
  • Set 'Filtering->(De-)Interlace/Telecine->Overwrite input scan type to' to 'top field first'
  • Enable 'Filtering->(De-)Interlace/Telecine->QTGMC Vapoursynth->Bob'
  • Enable 'Filtering->Compare view' (lower right corner)
  • Enable 'Filtering->Synch auto refresh' (lower right corner)
  • Open the 'Vapoursynth Preview' and keep it open so that you see what happens (lower right corner)
  • Enable "Filtering->Vapoursynth->Misc->UI->Show 'Masked'-controls"
  • Enable 'Filtering->Vapoursynth->Sharpen->aWartpSharp2' and set 'Depth' to '16' and enable 'Chroma'
  • Enable 'Filtering->Vapoursynth->Sharpen->aWartpSharp2->Masked'
  • Set 'Filtering->Vapoursynth->Sharpen->aWartpSharp2->Masked', Mask to 'LimitMask' and Limit to '110' (invert is enabled)
  • Enable "Filtering->Vapoursynth->Misc->UI->Show 'Apply only to'-controls"
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->ReduceFlicker' and set 'Strength' to '3' and enable 'aggressive'
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->ReduceFlicker->ApplyOnlyTo', enable 'Range' and set it to "[30- 535]"
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->SmallDeflicker' and set 'Preset' to 'aggressive' and enable 'CNR' and 'ZSmooth'
  • Enable 'Filtering->Vapoursynth->Frame->Stabilize->SmallDeflicker->ApplyOnlyTo', enable 'Range' and set it to "[30- 535]"
  • Enable 'Filtering->Vapoursynth->MCTemporalDenoise'
  • Set 'Filtering->Vapoursynth->MCTemporalDenoise->Setting' to 'very high'
  • Set 'Filtering->Vapoursynth->Sharpen->aWartpSharp2->Masked' , Mask to 'LimitMask' and Limit to '150', disable 'invert'.
Note the 'Range' restrictions are there to not filter close-ups that strong, so if the part you filter has no close-ups these restrictions are not needed.

Cu Selur

Ps.: Attached a sample encode.
PPs.: Yes, one can do more to filter this clip, but that is open for personal preferences.


All times are GMT -5. The time now is 05:37 PM

Site design, images and content © 2002-2026 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2026 Jelsoft Enterprises Ltd.