digitalFAQ.com Forum

digitalFAQ.com Forum (https://www.digitalfaq.com/forum/)
-   Restore, Filter, Improve Quality (https://www.digitalfaq.com/forum/video-restore/)
-   -   Help improving VHS captures with Avisynth, capture card? (https://www.digitalfaq.com/forum/video-restore/8754-improving-vhs-captures.html)

Micheal81 06-05-2018 03:49 AM

Help improving VHS captures with Avisynth, capture card?
 
2 Attachment(s)
So a few years ago I decided I would transfer around 100 hours of old VHS recordings to my PC. I already knew a little about programs like Avisynth and VirtualDub. I learned some basic things about improving my captures. I had to set aside the project for a while and now I've had to re-learn a few things and maybe finally begin to get this done.

Right off let me say that I know my set-up is far from ideal. Most were recorded by me with VCR's connected to a cable box or even antenna 25 years ago or so when I was just a kid. I have a cheap Roxio capture device and a basic JVC HR-A591U VCR. That will just have to do. It is what it is. I'm actually pretty happy with the final results of few test captures, but there are a couple of things I would like to improve. I know I could combine the scripts, but I have an old/slow PC and don't want to leave it tied up all day, so I split it into steps.

Here are my steps:

I use Graph Edit, VDub, and an Avisynth script to get the levels as close as I can.

Capture with AmaRecTV because I could never get audio sync with VDub. AmaRecTV does perfect.

With my first script, I use AutoAdjust and FixVHSOversharp. I know some don't like automatic filters like AutoAdjust, but it does good enough for me after adjusting the parameters. I don't have time to go scene by scene and make manual adjustments. I have to use VDub 32 bit because FixVHSOversharp is only 32 bit. Is there a 64 bit alternative?

AutoAdjust Script:

Code:

#AutoAdjust levels and color balance

Source=AviSource("Capture.avi").AssumeTFF()

Source.FixVHSOversharpL(30,12,8).FixVHSOversharp(30,14,10).FixVHSOversharp(30,12,8)

ConvertToYV12(interlaced=true)

src = last
crp = src.crop(10,10,-10,-10)
output=AutoAdjust(src, external_clip = crp, Auto_Gain=true, gain_mode=1, dark_exclude=.2, bright_exclude=.2, dark_limit=2.0, bright_limit=2.0, auto_balance=true)

#Check result with 1 of below options
#stackhorizontal(Source.ConvertToYV12(interlaced=true),output)
#Interleave(Source.ConvertToYV12(interlaced=true).subtitle("Original"),output.subtitle("Output"))
#crop(10,10,-10,-10).Histogram()

#Final output
return output

Next I use a VHS denoise script that is usually recommended. I made some slight changes.

VHS Denoise

Code:

#Denoiser script for interlaced video using MDegrain2


function MDegrain2i2(clip source, int "blksize", int "overlap", int "dct")
{
#Vshift=0 # 2 lines per bobbed-field per tape generation; original=2; copy=4 etc
#Hshift=0 # determine experimentally
overlap=default(overlap,0) # overlap value (0 to 4 for blksize=8)
dct=default(dct,0) # use dct=1 for clip with light flicker

fields=source.SeparateFields() # separate by fields

#This line gets rid of vertical chroma halo
#fields=MergeChroma(fields,crop(fields,Hshift,Vshift,0,0).addborders(0,0,Hshift,Vshift))
#This line will shift chroma down and to the right instead of up and to the left
#fields=MergeChroma(fields,Crop(AddBorders(fields,Hshift,Vshift,0,0),0,0,-Hshift,-Vshift))

super = fields.MSuper(pel=2, sharp=1)
backward_vec2 = super.MAnalyse(isb = true, delta = 2, blksize=blksize, overlap=overlap, dct=dct)
forward_vec2 = super.MAnalyse(isb = false, delta = 2, blksize=blksize, overlap=overlap, dct=dct)
backward_vec4 = super.MAnalyse(isb = true, delta = 4, blksize=blksize, overlap=overlap, dct=dct)
forward_vec4 = super.MAnalyse(isb = false, delta = 4, blksize=blksize, overlap=overlap, dct=dct)

#thSAD adjust amount of denoise default=400
MDegrain2(fields,super, backward_vec2,forward_vec2,backward_vec4,forward_vec4,thSAD=700)

#Optional sharpening steps
#unsharpmask(50,3,0)
#sharpen(0.1)

Weave()
}

#--------------------------------------------------


#Modify this line to point to your video file
source=AVISource("AutoAdjust.avi").AssumeTFF()

#Chroma Denoise. Pick 1 option below.

# Option 1, ccd
#LoadVirtualdubPlugin("F:\VHS\Programs\VDub\VirtualDub_FilterMod_40716\plugins64\ccd_64bit.vdf", "ccd", 1)  #("path","name used in script",preroll always 1)
#chroma=source.ConvertToRGB32(interlaced=true).ccd(80,1).ConvertToYV12(interlaced=true)  #(1-100 default 30, Multi-thread off=0 on=1)

#Option 2, Cnr2 (choose 1)
#chroma=source.Cnr2("oxx",8,16,191,100,255,32,255,false) #VHS
chroma=source.Cnr2() #VHS
#chroma=source.Cnr2("xxx",4,5,255) #suggestion to remove rainbows.

#(source,blksize,overlap,dct) Set overlap in line below to 0, 2, 4, 8. Higher number=better, but slower
#output=MDegrain2i2(chroma,8,0,0)
output=MDegrain2i2(chroma,8,4,0)  #Retains a little more detail, but slower
#output=MDegrain2i2(chroma,4,2,0) #Better for retaining detail on flat surfaces, but slower

#Remove comment (#) from 1 line
#Interleave(source.subtitle("Original"),output.subtitle("Denoised"))
#stackhorizontal(source.subtitle("Original"),output.subtitle("Denoised"))
return output  #use for final output

Now I deinterlace with QTGMC. Yes, I know some would say never do it, but I like the results and it will only be stored/played on a PC and sometimes streamed to a TV.

QTGMC:

Code:

#Deinterlace

Avisource("VHS Denoise.avi")
AssumeTFF()
QTGMC()
Crop(8,8,-8,-8)
Prefetch(4)

Finally, I do a final levels adjustment and color balance. Maybe not necessary? I don't know.

Final Adjust:
Code:

AviSource("QTGMC.avi")

AutoAdjust(high_quality=true, auto_gain=true, gain_mode=1, dark_limit=2.0, bright_limit=2.0, dark_exclude=0.1, bright_exclude=0.1, auto_balance=true)

AddBorders(8,8,8,8)


The only things that still bugs me is the double image. A lot of the captures have it. This may be one of the more severe. Anything that can be done with Avisynth/VDub? Some have that double image or halo all the way around objects. I know a "trained eye" may be able to see other problems and I know that the experts on this board would say get better gear. That is not happening unfortunately. I'm open to suggestions on how to improve with what I have.

"Capture.avi" is the capture(obviously) and "Final.avi" is the result of the scripts. I would probably then be converting to h.264 or h.265 to save space. Thanks for the help.

Capture: https://www.dropbox.com/s/2m05tjjv3k...pture.avi?dl=0
Final: https://www.dropbox.com/s/g5tg7iyx3h...Final.avi?dl=0

sanlyn 06-05-2018 04:27 AM

That "caprture" doesn't look like an original capture to me.
The edge ghost isn't oversharpning. How do you live with it?

Micheal81 06-10-2018 12:27 AM

3 Attachment(s)
Quote:

Originally Posted by sanlyn (Post 54553)
That "caprture" doesn't look like an original capture to me.
The edge ghost isn't oversharpning. How do you live with it?

It's the original capture. Now I don't know if the VHS is the original recording or if it is a copy. I recorded these when I was a kid. This ghosting is probably the worse that I've seen with my test. Most others are not as severe. Is there anything that can be done to at least minimize it?

-- merged --

Would this Diamond ATI TV Wonder HD 650 be better? I know it is listed as one of the recommended cards but also can be issues installing it. I have an older AMD dual core with Windows 10. It has an empty pcie slot.

lordsmurf 06-10-2018 12:40 AM

No. The ATI 650 (both USB and PCI) have serious AGC issues. Your image randomly gets darker and brighter -- and it has nothing to do with Macrovision. It's just a really badly designed card, flawed chipset.

Roxio rebadged cheap EZcap/Easycrap (infamously known as "Easycrap") devices. Terrible as well.

There are several options for quality USB capture.
And then I still have a few left as well: http://www.digitalfaq.com/forum/mark...ati-600-a.html

At very least, get a better capture card. The hallmark os a low-end device is color compression, exaggerated chroma noise, "cooked" color (harsh contrast, artifacts).

However, a better VCR will also help tremendously. It can resolve issues that you're trying to fight in Avisynth, either by reducing the problem or removing it entirely. There is chroma noise all over the place, as well as timing wiggles in the image. The wiggling is better than average, but still present -- and it cannot at all be removed in software, reduced by aggressive temporal NR at most.

Even after using Avisynth, you have timing flicker -- probably BOTH from the EasyCap, as well as the VCR.

Overall, not terrible. I see much worse stuff. But it could be better, with better hardware in the pre-conversion workflow.

The double image and blurriness can be inside the VCR, as well as caused by the capture card. This issues probably exists on the tape, both visually and embedded in the signal, but it can easily get enhanced with not-great stuff powering the playback and capture.

This is one of those instances where "you get what you pay for" is 100% accurate.

Micheal81 06-10-2018 01:03 AM

Quote:

Originally Posted by lordsmurf (Post 54612)
No. The ATI 650 (both USB and PCI) have serious AGC issues. Your image randomly gets darker and brighter -- and it has nothing to do with Macrovision. It's just a really badly designed card, flawed chipset.

Roxio rebadged cheap EZcap/Easycrap (infamously known as "Easycrap") devices. Terrible as well.

There are several options for quality USB capture.
And then I still have a few left as well: http://www.digitalfaq.com/forum/mark...ati-600-a.html

At very least, get a better capture card. The hallmark os a low-end device is color compression, exaggerated chroma noise, "cooked" color (harsh contrast, artifacts).

However, a better VCR will also help tremendously. It can resolve issues that you're trying to fight in Avisynth, either by reducing the problem or removing it entirely. There is chroma noise all over the place, as well as timing wiggles in the image. The wiggling is better than average, but still present -- and it cannot at all be removed in software, reduced by aggressive temporal NR at most.

Even after using Avisynth, you have timing flicker -- probably BOTH from the EasyCap, as well as the VCR.

Overall, not terrible. I see much worse stuff. But it could be better, with better hardware in the pre-conversion workflow.

The double image and blurriness can be inside the VCR, as well as caused by the capture card. This issues probably exists on the tape, both visually and embedded in the signal, but it can easily get enhanced with not-great stuff powering the playback and capture.

This is one of those instances where "you get what you pay for" is 100% accurate.

Thanks for the response.

I will not be spending $75 on a capture card right now. I don't have much income coming in right now. I will look on eBay and take my chances. Would the ATI 600 pcie card be good or is just the usb version recommended for my setup? What are some of the other recommended devices in my case? I forgot to mention it is Windows 10 64 bit.

Some of the videos may never even be watched again. I just want to save them in case I want to watch/show kids one day.

If I could get rid of or at least reduce the double image and timing wiggles, then I would be mostly happy. Better noise reduction, levels, and color would be a nice bonus.

lordsmurf 06-10-2018 01:56 AM

If that's the main focus, then ignore the new capture cards for now.

The timing wiggles have to come from a the VCR. A line TBC is required to correct that, and nothing can be done in software -- aside from maybe reduce it by use harsh temporal NR.

The double image is again also probably (in part) exacerbated by the VCR, though present on the tape itself. For that, Avisynth filtering is your only choice.

So, if you spend any money, put it towards a VCR. See the suggested VCR guide here, know that I have a few available, and you're welcome to take a gamble for something on eBay (and I emphasize the word "gamble" when it comes to eBay VCRs).

sanlyn 06-10-2018 01:59 AM

Quote:

Originally Posted by Micheal81 (Post 54615)
Thanks for the response.

I will not be spending $75 on a capture card right now. I don't have much income coming in right now. I will look on eBay and take my chances. Would the ATI 600 pcie card be good or is just the usb version recommended for my setup? What are some of the other recommended devices in my case?

Some of the videos may never even be watched again. I just want to save them in case I want to watch/show kids one day.

If I could get rid of or at least reduce the double image and timing wiggles, then I would be mostly happy. Better noise reduction, levels, and color would be a nice bonus.

The low quality capture device you are using is clipping blacks. It's obvious in the dark areas of your capture and in histograms. Using auto agc filters to heighten the darks simply makes the clipped area brighter; it doesn't retrieve any clipped detail or add anything new, it just makes murky darks out of shadow areas, where increased noise from clipping calls for stronger denoising. Because clipping limits dynamic range, the auto filter has your final.avi looking foggy and over exposed. The filter is also blowing away the midrange and making facial details disappear, and large bright areas like the playing card have a glaring effect (there is also some mild bright clipping in the original capture). Final.avi is an example of why no one recommends one-size-fits-all processing setups. They usually work out to be "one-size-fits-none". You can use auto adjust if you want, but in this case you need to do some more manual tuning concerning gamma and low-end expansion.m I've had to use the same filter to correct for seriously bad backlighting in some home movies, but all filters for that purpose require some fine tuning for each situation -- which is why those filters have so many adjustment parameters to begin with. They're not as "automatic" as the names imply.

The ATI 600 USB clips blacks at y=16 in a manner similar to your current card, and experiments show that the clipping occurs ahead of the proc amp controls. I'd stay away from eBay for capture cards, and that caution has been posted here and in other forums thousands of times. You can still find a decent working DMR-ES10 or ES15 for tbc pass-thru, but capture cards and VCRs at eBay are a high-odds gamble. For less than $40 retail you can get a genuine brand new Diamond VC500 USB, a very popular card for many years, without gambling on cheap look-alike no-name copies. The VC500 has been selling on Amazon at nearly half-price now for several years.

No one has a decent anti-ghost filter. The best was years ago with the TMPGenc Plus 2.5 encoder, and even that wasn't perfect. The nearest thing to that filter is Virtualdub's exorcist.vdf, with two simple adjustments that work in a way similar to the older filter. Exorcist leaves something to be desired, but it beats Avisynth's port of similar filters. So while it's not 100% it's better than nothing. Exorcist was posted earlier with a group of other VirtualDub filters, some of which you may already have. The package includes exorcist, gradation curves, ColorMill, Hue-Saturation-Intensity, and Color Camcorder Denoise. The package is virtualdub_filters.zip.

For wiggles, ripples, and other scanline timing errors, the only fix is a built-in line-level tbc or a line tbc pass-thru. There is no other way.

As for color balance I don't see anything wrong with what you've posted. In fact, color looks pretty good from that player. Maybe you need to calibrate your monitor.

Micheal81 06-10-2018 04:17 PM

I'm going to look more into the VC500 since it doesn't clip blacks. Does the VC500 or ATI 600 USB have a 3D comb filter?

lordsmurf 06-10-2018 04:36 PM

I've tested the ATI 600 USB several times, deeply analyzing the color, and do not see any clipped blacks.

If anything, the levels of the VC500 were about +5 too dark, though easily adjusted with VirtualDub proc amp settings. Most cards need proc amp adjustments anyway. I'm more inclined to believe that something in sanlyn's setup is reacting badly when that card is in his workflow. And that happens, even to me. This has always been something I've wanted to look into more, but I just cannot repeat it on my end. I have nothing against the VC500, and it would probably be my choice if several others were completely unavailable. I'm not dissuaded much by price, quality is my target. Price on the VC500 is just under $50 after tax/shipping, and that's probably the lowest cost not-crap card you'll find.

Anyway, the Easycap/EZcap (and Roxio/others rebadges) do clip blacks. That is very apparent to me as well, in the attached sample clips. They've always been known to cook color, contrast, IRE, etc. Terrible cheap Chinese card. But it's not horrible to the point where I'll tell you that you must spend money you seemingly don't have -- especially when you're more concerned about the issue that need a better VCR. So, for that reason, I suggested you put money towards the better VCR.

You have several things to think about here. :)

sanlyn 06-10-2018 05:40 PM

Quote:

Originally Posted by lordsmurf (Post 54625)
I've tested the ATI 600 USB several times, deeply analyzing the color, and do not see any clipped blacks.
I'm more inclined to believe that something in sanlyn's setup is reacting badly when that card is in his workflow.

Indon't want tio have to go through all the posts Ive seen at digitalfaq and videohelp that clearly shows the ATI 600 clipping at y=16, but here's one thread with histograms and images:
http://www.digitalfaq.com/forum/vide...html#post53199

And another: http://www.digitalfaq.com/forum/vide...html#post51319,
whose examples came from here: http://www.digitalfaq.com/forum/vide...html#post43950,
and here: http://www.digitalfaq.com/forum/vide...html#post43771

Didn't have time today to trundle over to videohelp to find vaporeon800's ATI 600 tests.

The Hauppauge USB Live-2 does the same thing.

Compare black levels with 9600XT and VC500: http://www.digitalfaq.com/forum/vide...html#post43951

lordsmurf 06-10-2018 07:38 PM

Another problem, a reality of VHS, is that blacks were already clipped on the originating signal. So it's not actually present in the latter tape or workflow at all.

I find the opposite is true of VC500, which is crushing blacks, because the levels are too dark by default. Proc amp adjust makes it fine. But I suspect this varies heavily from system to system, as I've seen oddities with other hardware. Same USB capture card, different levels required per system, both monitors calibrated. The only explanation I have is that it's drivers for both the capture and graphics card.

This gets more fun when output is TV vs. computer watching. :sick:

This is all due to NTSC, where the black floor is 16. Clipping is taking 0-15 and making it all 16, which can lose detail, sometimes.

This all said, my main capture setup is ATI AIW anyway. :)

sanlyn 06-10-2018 08:18 PM

Rather than blame NTSC, computers, monitors, proc amps, and whatnot, I'm afraid I have to depend on the histograms, my eyesight, the collective experience of others, and objective tests I've seen. I returned my ATI 600 years ago for the reason I've outlined here.

ATI All In Wonder since Windows 3.1 and still going strong. VC500 since Windows 7. The sample VC500 captures in the links provided above show no sign of clipping at y=16. They output continuous data all the way to y=0. You'll never get data below y=16 with an ATI 600. and the cutoff occurs before the signal passes thru the software's proc amp controls. Brightening the picture with proc amp controls only raises the clipping point to higher gray values -- which has also been demonstrated in other threads at digitalfaq. To overcome the cutoff from sources or players that output darker than normal signals you need an external proc amp in front of the ATI 600.

Micheal81 06-11-2018 01:13 AM

Quote:

Originally Posted by sanlyn (Post 54617)
You can use auto adjust if you want, but in this case you need to do some more manual tuning concerning gamma and low-end expansion

I need to learn more about gamma adjustment. Where is some good info?

lordsmurf 06-11-2018 02:06 AM

Learning about gamma in general will probably help. The reason I first learned about gamma, some 20+ years ago, was because of Mac monitors. Wikipedia is always a good place for a primer.

Remember to look for SD analog VHS info second, not HD/etc.

I wish we had more on this topic on this site, but do not -- though a quick forum search is probably worth a check. I don't remember everything we have here.

Micheal81 06-23-2018 01:12 PM

Just received a VC500 that I got for about $10 on eBay. It's basically brand new. In a quick test I did, it seems to be clipping at 16. No matter how much I turn down the brightness, the histogram shows clipping at 16. Am I doing something wrong or misunderstanding something?

sanlyn 06-23-2018 06:59 PM

Let's forget about "like new", which is fiction at eBay, even for $10.

You apparently own the only copy of a VC500 that clips at Y=16 while using VirtualDub capture and saving as YUY2 with lossless compression. Members here are anxious to see a sample of what you're getting.

Micheal81 06-23-2018 07:27 PM

Quote:

Originally Posted by sanlyn (Post 54782)
Let's forget about "like new", which is fiction at eBay, even for $10.

You apparently own the only copy of a VC500 that clips at Y=16 while using VirtualDub capture and saving as YUY2 with lossless compression. Members here are anxious to see a sample of what you're getting.

In the 15 years that I have been ordering stuff off eBay, I've never had a bad experience or received something not exactly as described. Well, there was 1 time, but the guy realized there was a problem before shipping it
refunded my money, and shipped it to me anyway. I guess others have had problems that I don't seem to have.

I'll have to get an example of the clipping later tonight. I don't use VDub to capture. I never could get audio to sync. I use AmaRecTV. I do use VDub to open a Avisynth script that uses a graphedit file, cropping, and histogram to get the levels close before capture. No matter how low I set the brightness, everything clips at 16. I'll explain better and get some examples in a few hours.

lordsmurf 06-23-2018 07:32 PM

Remember that sometimes the source is at fault, not the conversion hardware/process.

hodgey 06-23-2018 07:40 PM

I've also never experienced the VC500 clipping at y=16, and I use them quite a lot.

There does appear to be an older version of the VC500 that had a different chipset, so I suppose that could be a possibility.

There is also a VC500CXT version and a VC500 for mac. I think the CXT version has the same chipset but it seems to be a bit broken when using it in linux as opposed to the normal VC500 so it seems there are some minor hardware differences. I have one here I just verified that that one does capture down to y=0 (AKA the red area in virtualdub). I don't know what chipset the VC500 for mac uses, possibly some empia stuff, but I don't think there's a windows driver for it anyhow.

Micheal81 06-23-2018 11:42 PM

Ok. So I tried a different tape and now it's not clipping.


All times are GMT -5. The time now is 09:10 AM

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