Go Back    Forum > Digital Video > Video Project Help > Restore, Filter, Improve Quality

Reply
 
LinkBack Thread Tools
  #1  
03-28-2021, 01:49 PM
MediaHoarder MediaHoarder is offline
Free Member
 
Join Date: Jan 2021
Posts: 24
Thanked 0 Times in 0 Posts
Hello video wizards, after following through on your advice for selecting equipment I now have a JVC-7800 VCR and ATI 600 USB capture setup up and running.
I have done a couple captures and would like to start on restoring them. I spent quite a bit of the last few days reading through all of the restoration threads I could find and picked up on some of the tools and approaches used.
That said, I am wondering what might be an appropriate starting point for broadcast recordings, ie. home tapes of over the air or perhaps cable television. Much of what I have seen deals with home taping using a camcorder and the various corrections required for that, but I am not sure how much of that is still relevant for restoring a professionally produced programme from a broadcast.

I have a basic Avisynth script started, to handle a few basics points, but I am not sure what else might be appropriate here. Any thoughts greatly appreciated. Sample video is attached.

Code:
AviSource("G:\Personal Files\Videos\Captures\Real Captures\out.avi")
AssumeTFF()
ColorYUV(gain_y=10)
ConvertToYV12(interlaced=true)
RemoveDirtMC(20,false)
Crop(10,0,-14,-16).AddBorders(12,8,12,8)


Attached Files
File Type: avi out.avi (71.11 MB, 34 downloads)
Reply With Quote
Someday, 12:01 PM
admin's Avatar
Ads / Sponsors
 
Join Date: ∞
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
  #2  
03-29-2021, 04:45 AM
lollo2 lollo2 is offline
Free Member
 
Join Date: Mar 2013
Location: Italy
Posts: 676
Thanked 193 Times in 165 Posts
This is the flow I normally do, the order is important:

- understand the nature of the video

You need to discover if your video is interlaced or not, the used telecine, fields repetition, frame rate, etc...
I am in a PAL land where generally the only problems I face is "phase shift fields" or bad NTSC-PAL transfer, but you may require the usage of IVTC, Decimate, SRestore...

The best filters are designed for progressive material and applying them to interlaced videos requires some procedure.

If I have a mixed of interlaced/progressive inside the same video I apply the filters with ConditionalFilter()

- exact removal of black bands at left, top, right and of head switching noise at the bottom with crop.

The histograms and waveform monitor used later are altered with them.

The filters work better without them.

- fix the levels inside the proper YUV 16-235 range and preliminary color correction

ColorYUV used to adjust luma contrast to limit and center luma hystogram
Tweak used to adjust luma contrast, colors saturation, hue and brightness
LevelsLumaOnly used to adjusts luma brightness, luma contrast, and luma gamma

I anticipate some color correction here because if after filtering I like the result, I avoid the final correction in VirtualDub

Levels() command in AviSynth also change the chroma, that is rarely out of range, so I prefere a modified version of it to only act on luma

- stabilization (rarely required on recorded tv programs, but sometime it happens)

- motion compensated remove dirt (not very often on recorded tv programs, but sometime it happens)

- denoise (choose here your favourite denoiser, mine is TemporalDegrain2)

- dehalo (not very often on recorded tv programs, but sometime it happens)

- sharpening (choose here your favourite sharpener here, mine is LSFmod)

- levels correction after filtering

LevelsLumaOnly used to adjusts luma brightness and luma contrast

used to my personal taste for tuning final result

necessary if exporting to VirtualDub to be in the proper YUV 16-235 range

- addborders() to reintroduce pixels removed with crop(), eventualy centering the image

- final color correction in VirtualDub in RGB colorspace

In all the steps I try to avoid lossy convertToYV12() color conversion and use filters where convertToYV16() is possible.

When facing interlaced material I apply a lossless deinterlace before filtering and then I interlace back.

Many posts from sanlyn explains very well the level adjustements in the forum, search for them. Many scripts here and in VideoHelp forums are shown. What is important is that you tune the parameters of the filters to your own case, results may change a lot.

Here one example of my workflow http://www.digitalfaq.com/forum/atta...16ad-muxed-mp4

Here another one http://www.digitalfaq.com/forum/atta...1&d=1617011784

both quickly compressed to mp4 for size reasons


Attached Files
File Type: mp4 transition_mc_ufo_sII2a_spot_amtv_2_cut.mp4 (6.54 MB, 38 downloads)

Last edited by lollo2; 03-29-2021 at 05:00 AM.
Reply With Quote
  #3  
03-29-2021, 09:08 AM
lollo2 lollo2 is offline
Free Member
 
Join Date: Mar 2013
Location: Italy
Posts: 676
Thanked 193 Times in 165 Posts
Here a last example (no broadcast s-vhs recording, commercial vhs tape) so we cover live action, animation and puppets

It is not optimized for stabilization, just uses lordsmurf's stabmod() script for a quick result.

http://www.digitalfaq.com/forum/atta...1&d=1617026767

If you wish and you think is worth, I can share one of the script ;-)


Attached Files
File Type: mp4 compare_thor_fc05_thor1_amtv_3_cut_org_v17.mp4 (31.49 MB, 67 downloads)

Last edited by lollo2; 03-29-2021 at 10:06 AM.
Reply With Quote
  #4  
04-03-2021, 01:10 AM
MediaHoarder MediaHoarder is offline
Free Member
 
Join Date: Jan 2021
Posts: 24
Thanked 0 Times in 0 Posts
@lollo2

Thanks for the reply and info. Its been a long week here so I have not gotten much time with it yet. I did spend some more time capturing to get a better feel for the material I have to work with. The sample I shared above seems to be, relatively speaking better off than most of my material so it is a little more obvious with other clips where improvements are needed.

I do want to ask about the first thing you mentioned about
You need to discover if your video is interlaced or not, the used telecine, fields repetition, frame rate, etc...
In my case I have interlaced video at NTSC 29.97 frames per second, etc. from the capture card. However, when you mention telecine, are you referring to just cases where the source is a telecine, or also cases of broadcast programming that was taken from a telecine?

I am still cobbling a script together using what you have indicated for a different capture that needed more help, I will put a summary here once I have had time to work on it.
Reply With Quote
  #5  
04-03-2021, 03:19 AM
lollo2 lollo2 is offline
Free Member
 
Join Date: Mar 2013
Location: Italy
Posts: 676
Thanked 193 Times in 165 Posts
In my tapes recorded from DVB-S TV I found interlaced, "progressive", and mix of both. On some other tapes from friends I also found PAL phase-shift, even or odd fields corrupted in a PAL50Ip structure, etc...

I ignore the characteristics of your video and I do not have Lagarith codec installed to check, but before doing any filtering you need to understand the nature of your video (in your case it does not depend on the capture card).

Some helpful links (used filters are sometimes obsolete, but the concept is still valid):

https://web.archive.org/web/20090303...2.net/faq.html
http://www.doom9.org/index.html?/cap..._avisynth.html
http://www.digitalfaq.com/forum/news...html#post36198
https://forum.doom9.org/showthread.p...07#post1865607 (Scharfis_Brain document is excellent, mainly PAL but also NTSC)

I hope it helps!

-- merged --

Quote:
I am still cobbling a script together
If you wish, you can start with a basic non optimized script like this on one of your "bad" samples

Code:
video_org=AviSource("<file path\file name")

video_org_crop=video_org.crop("crop_left","crop_top","-crop_right","-crop_bottom")

noise_baseclip=video_org_crop.Levels("your lowest black", 1, "your highest white", 16, 235)

deinterlaced=noise_baseclip.AssumeTFF().nnedi3(field=-2) #or AssumeBFF()

deinterlaced_yv16=deinterlaced.convertToYV16(interlaced=false)

denoised_yv16=deinterlaced_yv16.TemporalDegrain2(postFFT=0, postSigma=1)

denoised=denoised_yv16.convertToYUY2(interlaced=false)

denoised_yv12=denoised.convertToYV12(interlaced=false)

sharpened_yv12=denoised_yv12.LSFmod(ss_x=1.5, ss_y=1.5, secure=false, Spwr=2, SdmpHi=0, soothe=false, keep=25, edgemaskHQ=true)

sharpened=sharpened_yv12.convertToYUY2(interlaced=false).MergeChroma(denoised)

interlaced=sharpened.AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave()

video_restored=interlaced.addborders("crop_left","crop_top","crop_right","crop_bottom")

return(video_restored)
and post the comparison. I'd like to see if this blind attempt improves or not (probably not )
Reply With Quote
  #6  
04-03-2021, 03:20 PM
MediaHoarder MediaHoarder is offline
Free Member
 
Join Date: Jan 2021
Posts: 24
Thanked 0 Times in 0 Posts
Ok, for this tape I know it was taken from broadcast NTSC in the 90's so the source should be interlaced. I have attached an mp4 conversion of this "bad" tape.
I don't yet have the output from your script, I am still trying to get some functions to work.
In the case of this clip however, I have a very irritating combination of what I think are duplicated frames and some jitter. I have tried removing both with a combination of TDecimate() & Stab() but its not quite there. Any other filters to try?


Attached Files
File Type: mp4 out2.mp4 (86.80 MB, 28 downloads)
Reply With Quote
  #7  
04-04-2021, 04:20 AM
lollo2 lollo2 is offline
Free Member
 
Join Date: Mar 2013
Location: Italy
Posts: 676
Thanked 193 Times in 165 Posts
Well, this tape is so bad that I suspect is beyond the capabilites of AviSynth filters and my experience. When I talk about "restoration", I mainly refer to denoise, sharpening and removal of some small defect.

I think that for this tape you should add a frame-TBC (or a less effective Panasonic E-10) before capturing to mitigate in hardware some of the problems This is the field of lordsmurf, he will give better suggestions...

However, if you can post a small clip of the first 10/15 seconds in HuffYUV we can see what can be achieved, it will be useful anyhow for the future.
Reply With Quote
  #8  
04-04-2021, 07:49 AM
hodgey hodgey is offline
Free Member
 
Join Date: Dec 2017
Location: Norway
Posts: 1,685
Thanked 460 Times in 394 Posts
Yeah it looks like there is some alignment and/or tracking problem on that sample, you can see the bottom of the image going in and out, and a noisy area at the middle. Manual tracking adjustment and/or a different VCR may be of help.

The sample Lollo2 posted also seem to have some issue, it looks like what you get when the TBC in the JVC SVHS decks is acting up. Using a ES10 or similar and turning the in-VCR TBC may help reduce the vertical jittering on that tape.
Reply With Quote
The following users thank hodgey for this useful post: lollo2 (04-04-2021)
  #9  
04-04-2021, 09:12 AM
lollo2 lollo2 is offline
Free Member
 
Join Date: Mar 2013
Location: Italy
Posts: 676
Thanked 193 Times in 165 Posts
Quote:
The sample Lollo2 posted also seem to have some issue
Which one? If you refer to the Marvel Thor cartoon it's a really bad commercial tape that the line-TBC of my JVC HR-S9500 MS is not able to fix 100%; the ES15 I tried in the chain did not succeed as well. Probably only a frame-TBC could bring some improvements, but I do not have one .

However, AviSynth filters improved a little bit ;-)
Reply With Quote
  #10  
04-04-2021, 10:17 AM
lordsmurf's Avatar
lordsmurf lordsmurf is offline
Site Staff | Video
 
Join Date: Dec 2002
Posts: 14,042
Thanked 2,552 Times in 2,170 Posts
Quote:
Originally Posted by lollo2 View Post
the Marvel Thor cartoon it's a really bad commercial tape
BTW, the Thor 60s toon was released official in UK about 15 years ago. I have those releases. Those were not easy to get at the time. You sometimes see them on eBay UK for $100+

All of the 60s toons were eventually available, and I have all of those releases. Cap is my favorite. (I don't count Spiderman 60s, different animation style, different everything, much longer show, easily available at the time.)

You could get a few episodes on VHS around 2000, mostly at Hastings. Maybe FYE. Not sure which Canada store (forget), but was comparable to FYE/Hastings.

If it's a Marvel or DC toon, I have it.

- Did my advice help you? Then become a Premium Member and support this site.
- For sale in the marketplace: TBCs, workflows, capture cards, VCRs
Reply With Quote
The following users thank lordsmurf for this useful post: lollo2 (04-04-2021)
  #11  
04-04-2021, 12:35 PM
lollo2 lollo2 is offline
Free Member
 
Join Date: Mar 2013
Location: Italy
Posts: 676
Thanked 193 Times in 165 Posts
Off Topic


We share a passion.

For official Thor release in DVD I have (region 2):

https://www.amazon.co.uk/Mighty-Thor...556918&sr=8-11

https://www.amazon.fr/Mighty-Thor-Co...7556870&sr=8-9

I missed the Spiderman '66 official Region 1 DVD release and now is hard to find at a decent price
https://www.amazon.com/Spider-Man-67.../dp/B0001I55O2

Still waiting for the Fantastic Four '67 official DVD release
Reply With Quote
  #12  
04-04-2021, 04:38 PM
MediaHoarder MediaHoarder is offline
Free Member
 
Join Date: Jan 2021
Posts: 24
Thanked 0 Times in 0 Posts
Interesting thoughts on the TBC. In this case I am using the line TBC that is built into the JVC 7800, this is the only recording thus far that has had this kind of issue. Yes there is a tracking issue, this was actually captured with manual tracking in which case I was compromising between some noise in the center and some at the bottom edge. This tape was re-used several times I believe, is EP, and was not rerecorded on my JVC 7800. That was as good as it got.

Going frame by frame it appears that there are duplicated frames which is odd. I don't think it is a capture card issue either as I re-watched the tape without capturing and saw the same thing. Is it possible this was a broadcast error that got recorded to the tape?

@hodgey When you say when the TBC in the JVC SVHS decks is acting up. do you mean that as in the TBC not agreeing with that particular recording, or the TBC malfunctioning more generally? I have not noticed this on any recording except this part of one tape thus far, so I would think the former but interested to know if this is a sign of more than just trouble with one tape.

I have attached a huffyuv encoded sample of the "bad" tape from above.


Attached Files
File Type: avi out22.avi (80.08 MB, 25 downloads)
Reply With Quote
  #13  
04-04-2021, 04:41 PM
MediaHoarder MediaHoarder is offline
Free Member
 
Join Date: Jan 2021
Posts: 24
Thanked 0 Times in 0 Posts
Here is the output I have so far with a script I have been working on. Any thoughts on improvements? I did move crop to the end because the effect it produced at the beginning was unpleasant to say the least ( a result of stabilizing the image after crop I think).

Script is below, commented sections not used. Audio was separately noise reduced in Audacity and the treble boosted slightly.

Code:
video = AviSource("C:\Users\Charles\Videos\Scripts\out2.avi")
audio = LWlibavAudioSource ("C:\Users\Charles\Videos\Scripts\out2.wav")
AudioDub (video, audio)


# change path statement below to match your suystem
#AviSource("C:\Users\Charles\Videos\Scripts\out2.avi")

AssumeTFF()
ColorYUV(gain_y=20)
Tweak(cont=1.1,sat = 1.1, dither=true,coring=false)
ConvertToYV12(interlaced=true)
QTGMC(Preset="Faster", Lossless=2, MatchEnhance=0.75, TR2=1, Sharpness=0.1) 
#Dup1(threshold = 10.0, copy = true, maxcopies = 3, blend = true)
TDecimate(mode = 4, output = "G:\Personal Files\Videos\Captures\Real Captures\stabilize.txt")
TDecimate(mode = 2, input = "G:\Personal Files\Videos\Captures\Real Captures\stabilize.txt")
Stab()
Stab()
#RemoveDirtMC(20,false)
RemoveGrain(mode=2, modeU=2, modeV=2)
#TemporalDegrain(degrain=3, ov=4, blksize=16)
TemporalDegrain2(degrainTR=2)
LSFmod(strength=100, Smode=3, Smethod=2, kernel=11)
#AddGrainC(1.5,1.5)
Crop(8,0,-8,-16).AddBorders(8,8,8,8)
#ConvertToRGB32(interlaced=false,matrix="Rec601")


Attached Files
File Type: avi out23.avi (33.84 MB, 21 downloads)
Reply With Quote
  #14  
04-05-2021, 06:06 AM
lollo2 lollo2 is offline
Free Member
 
Join Date: Mar 2013
Location: Italy
Posts: 676
Thanked 193 Times in 165 Posts
Your script is a reasonable attempt (QTGMC probably should be after decimation). Here a quick script I tried. Small improvements as well, not a lot :-( The script may have some errors. Attached the result, compressed to h264 for size reason. The comparison is with the original video after TFM and TDecimate, because the original video is too bad.

There are many many other options in term of filters and their parameters, you have to experiment a lot. But remember that the major improvement may come from "hardware".

Code:
video_org=aviSource("C:\Users\giuse\Desktop\b\out22.avi")

# separate fields tff
video_org_sep_tff=video_org.AssumeTFF().separateFields()

# separate fields bff
video_org_sep_bff=video_org.AssumeBFF().separateFields()

# separate fields tff even
video_org_sep_tff_even=video_org_sep_tff.SelectEven()

# separate fields tff even
video_org_sep_tff_odd=video_org_sep_tff.SelectOdd()

	# to check if progressive or interlaced
#return(video_org_sep_tff)
#return(video_org_sep_bff)

	# to check if TFF or BFF for interlaced segments
#stackhorizontal(\
#subtitle(video_org_sep_tff,"video_org_sep_tff",size=28,align=2),\
#subtitle(video_org_sep_bff,"video_org_sep_bff",size=28,align=2)\
#)

	# display fields separately
#stackvertical(\
#subtitle(video_org_sep_tff_even,"video_org_sep_tff_even",size=28,align=2),\
#subtitle(video_org_sep_tff_odd,"video_org_sep_tff_odd",size=28,align=2)\
#)

	# display frames and display fields separately (equivalent to VirtualDub plugin ViewFields)
#stackhorizontal(\
#subtitle(video_org,"video_org",size=28,align=2),\
#stackvertical(\
#subtitle(video_org_sep_tff_even,"video_org_sep_tff_even",size=28,align=2),\
#subtitle(video_org_sep_tff_odd,"video_org_sep_tff_odd",size=28,align=2)\
#)\
#)

# plugins directory
plugins_dir="C:\Users\giuse\Documents\VideoSoft\MPEG\AviSynth\extFilters\"

	# TIVTC
loadPlugin(plugins_dir + "TIVTC-v1.0.26\x86\TIVTC.dll")

video_org_tfm_td=video_org.TFM().TDecimate()
#stackhorizontal(video_org, video_org_tfm_td)

# cropping 
	crop_left=20	# | rimozione esatta delle bande nere sinistra, sopra, destra e del disturbo sotto	
	crop_top=2	# | 720-(20+12)x576-(2+14)=688x464
	crop_right=12
	crop_bottom=14
video_org_tfm_td_crop=video_org_tfm_td.crop(crop_left,crop_top,-crop_right,-crop_bottom)

# convert to YV16 (required for Histogram)
video_org_tfm_td_crop_yv16=video_org_tfm_td_crop.ConvertToYV16(interlaced=true)

#video_org_tfm_td_crop_yv16_histo=video_org_tfm_td_crop_yv16.Histogram("Levels")

#return(video_org_tfm_td_crop_yv16_histo)

	# DePulse
loadPlugin(plugins_dir + "depulse\DePulse.dll")

video_org_tfm_td_sep=video_org_tfm_td_crop.AssumeTFF().SeparateFields()
video_org_tfm_td_dp=video_org_tfm_td_sep.DePulse(h=10, l=10, d=10).DePulse(h=10, l=10, d=10).Weave()

	# RemoveDirtSMC
Import(plugins_dir + "RemoveDirt2_modGMa.avsi")
	# MVTools
loadPlugin(plugins_dir + "mvtools-2.7.41-with-depans20200430\x86\mvtools2.dll")
	# RgTools
loadPlugin(plugins_dir + "RgTools-v1.0\x86\RgTools.dll")
	# RemoveDirt
loadPlugin(plugins_dir + "RemoveDirt-0.9.2\x86\RemoveDirt.dll")
	# SeeSaw
Import(plugins_dir + "SeeSaw.avs")
	# MaskTools2
loadPlugin(plugins_dir + "masktools2-v2.2.23\x86\masktools2.dll")

	# TemporalDegrain2
Import(plugins_dir + "TemporalDegrain-v2.2.1_modGMa.avsi")
	# RgTools
loadPlugin(plugins_dir + "RgTools-v1.0\x86\RgTools.dll")
	# MaskTools2
loadPlugin(plugins_dir + "masktools2-v2.2.23\x86\masktools2.dll")
	# MVTools
loadPlugin(plugins_dir + "mvtools-2.7.41-with-depans20200430\x86\mvtools2.dll")
	# FFT3DFilter
loadPlugin(plugins_dir + "FFT3dFilter-v2.6\x86\fft3dfilter.dll")
	# FFTW
loadPlugin(plugins_dir + "LoadDll\LoadDll.dll")
loadDll(plugins_dir + "fftw-3.3.5-dll32\libfftw3f-3.dll")
	# Dither
loadPlugin(plugins_dir + "dither-1.28.0\win32\dither.dll")
	# DFTT
loadPlugin(plugins_dir + "dfttest-v1.9.6\clang\x86\dfttest.dll")

	# LSFmod
Import(plugins_dir + "LSFmod.v1.9.avsi")
	# RgTools
#loadPlugin(plugins_dir + "RgTools-v1.0\x86\RgTools.dll")
	# MaskTools2
#loadPlugin(plugins_dir + "masktools2-v2.2.23\x86\masktools2.dll")

	# Nnedi3
loadPlugin(plugins_dir + "NNEDI3_v0_9_4_55\x86\Release_W7\nnedi3.dll")

### de-interlacing
deinterlaced=video_org_tfm_td_dp.AssumeTFF().nnedi3(field=-2)

### convert to YV16
deinterlaced_yv16=deinterlaced.convertToYV16(interlaced=false)

### cleaning
cleaned=RemoveDirtSMC(deinterlaced_yv16, 30)
cleaned2=RemoveDirtSMC(cleaned, 30)

### denoising
denoised_yv16=cleaned2.TemporalDegrain2(postFFT=3, postSigma=1)

### convert to YUY2
denoised=denoised_yv16.convertToYUY2(interlaced=false)

### convert to YV12
denoised_yv12=denoised.convertToYV12(interlaced=false)

### sharpening
sharpened_yv12=denoised_yv12.LSFmod(ss_x=1.5, ss_y=1.5, secure=false, Spwr=2, SdmpHi=0, soothe=false, keep=25, edgemaskHQ=true)

### convert to YUY2 with chroma from YUY2 color space
sharpened=sharpened_yv12.convertToYUY2(interlaced=false).MergeChroma(denoised)

### interlacing
interlaced=sharpened.AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave()

video_restored=interlaced.addborders(20,2,12,14)

#stackhorizontal(video_org, video_restored)
stackhorizontal(video_org_tfm_td, video_restored)

# ---> check the following scripts <---
# https://forum.doom9.org/showthread.php?p=1563120#post1563120
# https://forum.doom9.org/showthread.php?p=1563121#post1563121
I also found that the histogram of your capture is not optimal, because it show clipped blacks at y=16 and gaps in the values.

histo_frame27.jpg

For the first, be sure to use proc amp setting to have lowest black at y=16 before capturing. For the second it may depend on the bad source, not sure.


Attached Files
File Type: mp4 restore_out22.mp4 (6.50 MB, 20 downloads)
Reply With Quote
  #15  
04-10-2021, 11:28 PM
lordsmurf's Avatar
lordsmurf lordsmurf is offline
Site Staff | Video
 
Join Date: Dec 2002
Posts: 14,042
Thanked 2,552 Times in 2,170 Posts
I hate the term "clipped blacks". It's not accurate. Illegal blacks were discarded.

Stating "clipped" acts as if the device is at fault. Again, not accurate. The source is the problem. In the olden days, before capture cards, you corrected this with a proc amp (and you still can). Even if you leave those illegal/clipped values, it will cause problems during viewing. Because again, illegal. You cannot have blacker than black values. Some cards will capture those, and you can play with them in post. But most cards don't capture illegal values of 0-15 or 236-255.

I see tracking errors. So discussing histograms is like arguing the color of the drapes while the house is burning down.

- Did my advice help you? Then become a Premium Member and support this site.
- For sale in the marketplace: TBCs, workflows, capture cards, VCRs
Reply With Quote
  #16  
04-11-2021, 03:31 AM
lollo2 lollo2 is offline
Free Member
 
Join Date: Mar 2013
Location: Italy
Posts: 676
Thanked 193 Times in 165 Posts
We can use whatever definition is more appropriate, but the analog signal on the tape ignores it. The video has levels that once converted to digital in YUV colorspace are in the illegal 0-16 and 235-255 ranges and that contain details.

Most of the cards do not capture 0-16 range and capture 235-252/253/254 range, even if this last is illegal.

In order to do not loose details in the illegal ranges, the card procamp should be used to shrink the levels in the range 16-252/253/254 prior to capturing.

Quote:
I see tracking errors. So discussing histograms is like arguing the color of the drapes while the house is burning down.
It was useful to highlight illegal 0-16 range not being captured. In addition, I just wanted to give to the OP an indication to check the histograms on clean captures, because Y has gaps, but U and V do not. As I said, it may be related to the bad source ;-)
Reply With Quote
  #17  
04-11-2021, 05:43 AM
hodgey hodgey is offline
Free Member
 
Join Date: Dec 2017
Location: Norway
Posts: 1,685
Thanked 460 Times in 394 Posts
Quote:
Originally Posted by MediaHoarder View Post

@hodgey When you say when the TBC in the JVC SVHS decks is acting up. do you mean that as in the TBC not agreeing with that particular recording, or the TBC malfunctioning more generally?.
The former, it's how the TBC in these VCRs can react to certain tapes.
Reply With Quote
  #18  
04-15-2023, 12:41 PM
JoLeFou JoLeFou is offline
Free Member
 
Join Date: Sep 2019
Posts: 1
Thanked 0 Times in 0 Posts
Hi Hodgey,
I have worked for several months on this VHS restoration scripts. I use it for most of my customer's tapes.
This code is based on Fred Van de Putte's restoration script, with many improvements and major updates.
This script uses the latest AVIsynth plug-ins. And, moreover, it is compatible with Avisynth+ x64, multithread.
I hope this will help


Attached Files
File Type: avs VHS_restoration+HDupscale_by_Jo-Le-Fou.avs (10.9 KB, 27 downloads)
File Type: txt Render.bat.txt (188 Bytes, 18 downloads)
Reply With Quote
  #19  
04-16-2023, 12:13 AM
timtape timtape is offline
Free Member
 
Join Date: Sep 2020
Location: Perth, Western Australia
Posts: 625
Thanked 119 Times in 107 Posts
As already touched on, the most important step is getting the cleanest capture of each tape. It's where we AVOID DEGRADING the recording. It's not always simple or obvious that we've succeeded 100%. For example how do we know if the poor image on our monitor is solely what's on the tape, or due to our playback device, or perhaps a misalignment of the playback deck to the tape played?

It's also why using software tools after capture is not really "restoration". It's perhaps better seen as some tidying up/ filtering after having captured the tape optimally.

Last edited by timtape; 04-16-2023 at 12:25 AM.
Reply With Quote
  #20  
04-16-2023, 05:35 AM
themaster1 themaster1 is offline
Free Member
 
Join Date: Feb 2011
Location: France
Posts: 553
Thanked 120 Times in 104 Posts
You don't want to use DirectShowSource(), it's not frame accurate, and can have problems with the interlacing at times. I've spotted a couple unecessary steps in your filtering imo, but without a video sample i can't do anything to help further on this "months long" scripted script
Reply With Quote
Reply




Similar Threads
Thread Thread Starter Forum Replies Last Post
What was DV used for in broadcast? jt_retro General Discussion 6 01-25-2021 09:10 PM
Basic Avisynth script errors? S1RIUS Restore, Filter, Improve Quality 9 10-26-2020 09:08 AM
Perfect my Avisynth script? geordie10 Restore, Filter, Improve Quality 7 10-23-2020 10:31 AM
Line TBC with Avisynth script? jjdd Restore, Filter, Improve Quality 3 11-14-2019 01:43 AM
Removing broadcast hum from TV recordings? Reading Bug Restore, Filter, Improve Quality 5 08-19-2010 04:04 PM

Thread Tools



 
All times are GMT -5. The time now is 03:02 PM