Found more VHS tapes, best Avisynth scripts to restore?
2 Attachment(s)
I just received my late grandparents' VHS tapes, most of which are camcorder recordings of Christmas and birthday parties involving our family. Excited to see this material for the first time.
I just captured the first tape with my JVC SR-VS30 with these settings: S-VHS ET: Off, Video Calibration: On, Picture Control: Auto, Digital TBC/NR: On, Video Stabilizer: Off, Digital R3: Off. I ran S-video cord through my TBC-3000. Here I uploaded two clips from the first tape. I would like to do light restoring on these videos with Avisynth and Virtualdub, and it would help if you guys would be willing to share how you would tackle these clips. (for those who have helped me before, these clips were recorded with a different camcorder than my other home movies, although if I remember right, it was a similar RCA mid to late-80s model) My plan is to export a DVD-quality MPEG file plus web-ready MP4 for each tape. Thank you so much for your help and everything you've done for me up to this point! |
I wouldn't do anything to restore it. The VCR has already fixed everything that I can see.
The TBC-3000 proc amp can be used to tweak master color if needed, but nothing here screams "FIX ME!". Not this time, not of these tapes. I don't see any chroma offset in either, though "christmas" does have some slight bleeding/blooming at one point. Nothing to fix here. Can I use "christmas" for a site sample? That shows a perfect example of why trying to color correct home-shot VHS is futile. Within mere seconds the cameras shifts from 5000K-ish white balance (blue) to 3500K-ish. It can never be fixed, merely reduced with some isane blending/swapping in an NLE timeline (which I've done FYI). I hesitate to fix homemade audio, too. You can change a person's voice too easily, even if you have lots of audio experience. There is a camera-caused hiss there, but you'll need to find a "silent" (noise only) print to work from, and none of present in the samples. So simple QTGMC + mask, for x264/MP4 version. QTGMC in Avisynth, mask in VirtualDub. QTGMC "faster" should be fine, no need for "slow" here. I'd rather mask with black, not crop image. It's too soft for a crop. You have uneven black and some halo on the side, tape head noise on bottom, and 2 pixels from the top just to be safe. Resize in VirtualDub, 720x480 "crop to size", crop the filter by about 12 on bottom, at least 2 on top, and whatever covers sides (usually 16 each). You some of have the best equipment made, and it shows. For the MP4, maybe also Dynamic NR (D.Graft) in VirtualDub, small 4 or 6 setting, no more. The chaos pixel noise is very minor, and the filter mostly just done to help encode better spend bitrate. |
Thank you and yes, feel free to use any of my stuff for examples.
I guess a quick question on something I never really understood... for the web version wouldn't I do 640x480? |
Yes, 640x480.
Resize after masking. You can use more than one resize filters in VirtualDub. |
Do you have Donald Graft's Dynamic NR? I only see Steven Don and Avery - dynamic NR MMX. (Or is that the same thing?)
And I understand about what you mean with the "resize" in Virtualdub and "Crop" the filter. But does it matter whether the resize comes first or after the NR filter? |
Quote:
Quote:
|
Thanks again.
Reading through old posts on bitrate, I see recommendations for 8mbps... up to 15mbps. What do you think for archival interlaced MPEG files as well as deinterlaced H264 to be uploaded on vimeo? Quote:
|
Sorry for all the questions. In addition to bitrate... I just want to make sure I'm correctly outputting the lossless version that I will encode for web.
When i put the file into MediaInfo, it says it is still interlaced. Should it say progressive after running QTGMC? This is the script: Code:
AviSource ("H:\Lou VHS project\Clem Tape 01.avi") #Replace with your video file Quote:
|
Quote:
Quote:
Resizing with any of several Avisynth resizers is superior to resizing in VirtualDub, and masking isn't used in Avisynth to adjust borders. FYI. Also FYI: Your video has buzzing oversharpened edges and over-filtered missing detail that looks like clay face effects and posterizing. Also some annoying DCT edge ringing. Most of this can be fixed in Avisynth. No fix in VirtualDub. Black levels and gamma are a bit high, making the samples look a little washed out. I'm surprised at the rough interlace effects (usually a fault of the camera). I can post a sample re-work later but not today, I'm stuck with a crummy Netbook portable while traveling until after the weekend. |
On my capture, in virtualdub, i selected "extend Luma black point and extend luma white point"
Is that a bad idea? Quote:
|
Quote:
Quote:
We've had this conversation before. I'll leave it at that. :P Quote:
Quote:
Quote:
Quote:
Quote:
Author the samples to MPEG, and play on a TV. That would help. |
lordsmurf, that last post is absurdly inaccurate and misleading from start to finish. I've lost a lot of confidence in the information coming from this forum lately. It's getting worse than videohelp.
It's been nice, but it's getting a little too low-tier around here. |
What part? :question:
- AVI not having fields? - Deinterlace not truly "throwing away" 50% of data -- but I do get what you're saying. Data is being tossed, but after it's been altered. - Resize artifacts being content dependent? - Not really seeing huge differences in resizing methods? - Me just not seeing those mentioned errors -- and FYI, I'm waiting eagerly for your before/after to see if I've missed anything. I just deal with so much truly awful video that I'm somewhat forgiving of minor blemishes and imperfections. I know you're very detailed oriented, and that's great. I enjoy reading your posts. Sometimes I concur, sometimes not, and sometimes I do neither. If you feel I'm missing something, or have something wrong, let's discuss. :) EDIT: Just to make sure I'm not going insane, I re-read a cheat sheet (aka Wikipedia) on deinterlacing. I even opened the QTGMC script. But QTGMC is heavily using EDI, and the "I" stands for interpolation. There's also a lot of filtering going on. So QTGMC is literally creating 60 new frames from 60 fields, and I think its arguable whether those can be safely discarded without it being considered "thrown away". I'd like to hear your take on it. Still noting that I do find 60fps acceptable overkill when the situation allows. I'm all for better motion! 60fps to me isn't not that different from 4:2:2 in delivery formats. But the fact is that 60fps just is not an acceptable fps for most formats, so there cannot be done in many cases. Trivia: I find this interesting. GMC means "global motion compensation", but I believe the "TGMC" in QTGMC is "TempGaussMC" (whereas MC = Motion-compensated, and specifically for a bob). I wonder if this was an intention play on letters, or coincidence? Because I don't think QTGMC really does any gaussian blurring. Further reading: I'd like to get hold of the decade-old paper "New global motion compensated de-interlacing algorithm based on horizontal and vertical patterns" Quote:
|
1 Attachment(s)
I don't have many videos like this (animated, commercial) but i have no idea what to do with it! Running qtgmc made it wobbly on some frames.
|
Wobbly?
QTGMC is leaving some chroma flicker or trails. Probably a way to fix it. You really see it from about frames 75-160. Not having issues with Yadifmod: Code:
yadifmod(order=1, mode=0, edeint=NNEDI2(field=1)) # faster yadif deinterlace Though perhaps unrelated. In your case, it seems squarely the fault of QTGMC. |
7 Attachment(s)
Quote:
I applied filters anyway. The JVC player left plenty of annoying horizontal tape noise, then I had to add film-like grain and ordered dithering to reduce the clay-face effects. Quote:
Quote:
Quote:
This exchange is is rather upsetting: Quote:
The attached "A' is the christmas sample encoded as interlaced MPEG for DVD. A_christmas_29.97i_DVD.mpg The attached "B" is the christmas sample encoded as double-rate h.264 at 59.94 fps, resized to 640x480 using an avisynth resizer that is cleaner and sharper than any resizer in VirtualDub. I realize that many can't tell the difference, but many can. It's encoded as square-pixel. B_christmas_59_94p_640x480.mp4 The attached "C" is the christmas sample encoded as single-rate 640x480 h.264, made progressive by dropping alternate fields in QTGMC code instead of actually processing them as full frames and then dropping them. The shutter settings are recommeneded by QTGMC to avoid choppy playback (but it's stuttery anyway). While some claim that this is "the same" temporal resoluioon as 59.94 images per second in NTSC interlaced video, I propose that 29.97 images per second is precisely only 50% of 59.94 images per second and is closer to progressive PAL frame rates, which over here in the U.S. is nicknamed "Flicker Vision". It is resized to 640x480 and encoded as square-pixel. C_christmas_29_97p_640x480.mp4 The attached "D" is the cake sample encoded as single-rate h.264, resized to 640x480 and encoded as square-pixel DAR. You can still see some of the horizontal tape noise in the darker background area. The posterizing looks a little worse here than in the other sample, for some reason, but I've seen this often with many JVC players whose overworked image processing hasn't been disabled. D_cake_29_97p_640x480.mp4 The attached "E" mp4 is the awful anime sample that should be replaced with a decent digital release. Surely there's a better version out there. It was reduced to its original film-based 23.976 fps progressive with Avisynth's TIVTC filter, cleaned up a bit, then re-encoded as 4:3 DAR with soft-coded 3:2 pulldown for 29.97fps playback. IMO it still looks like a waste of time. E_ rabbit_pulldown.mp4 The "D" and "E" versions used VirtualDuib RGB color filters to tweak the Avisynth output in Virtualdub. The settings for those filters are in two attached .vcf files. The filters used were gradation curves and the built-in temporal smoother. D_cake_VDub_filters.vcf E_rabbit_vdub_filters.vcf My humble scripting efforts: The "A" script: Code:
AviSource("test christmas.avi") Code:
AviSource("test christmas.avi") [CODEAviSource(vidpath+"test christmas.avi") ColorYUV(off_y=-4.5,cont_u=-40,cont_v=20,gain_v=5) Levels(16,0.80,255,16,255,dither=true,coring=false ) Tweak(sat=1.2,coring=false,dither=true) ConvertToYV12(interlaced=true) AssumeTFF() SeparateFields().HQDering().HQDering().FixChromaBl eeding().Weave() QTGMC(preset="medium",FPSDivisor=2,ChromaMotion=tr ue,\ ChromaNoise=true,DenoiseMC=true,GrainRestore=0.6,b order=true,\ ShutterBlur=1, ShutterAngleSrc=30, ShutterAngleOut=360) ContrastMask(enhance=2.0) TurnRight().RemoveDirtMC(20,false).TurnLeft() DeHalo_ALpha() Santiag(2,2) EdgeCleaner(hot=true) LimitedSharpenFaster(strength=200,edgemode=2) GradFun3() grainfactory3(g1str=1, g2str=1, g3str=1) AddGrainC(1.25,1.25) Crop(22,0,-14,-8).AddBorders(10,4,10,4) Spline36Resize(640,height) return last][/code] The "D" script: Code:
AviSource("test cake.avi") Code:
AviSource("rabbittest.avi") |
Quote:
|
That is one buzzy, unstable image, cruddy color.
|
Quote:
I need to take some before/after clips of EDIT vs NORM/AUTO. With the JVC DNR off, it doesn't look much better than a regular VHS VCR. The reason to get S-VHS players is for the NR filters, not just just TBC. First and foremost, it removes chroma noise. That error gets tricky to correct in software alone. Not as bad as it once was, but still not as good as hardware. JVC does light filtering in general, but it's also tape and content dependent. There are times where it can cause odd trails, softness, etc -- but that's really no different than software filtering. Quote:
|
You see, you both have been invaluable to me. Thank you sanlyn and lordsmurf.
I will post some samples using the various VCR settings and we can go from there. Quote:
|
Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.