I'm trying to transfer a very old and important VHS tape of my 1st grade graduation to digital and since i only have one tape to convert I don't want to invest in an expensive VCR and not many are available in Romania anyway. The tape was kept for 15 years in a basement by my parents and was really moldy and I spent like 6 hours carefully cleaning it with rubbing alcohol. Now the tape is fine, but is not in perfect condition.
I've collected a lot of VCR players from some friends and colleagues and I managed to find 2 decent ones. For TBC I have an old Sony DV camcorder with composite input, I know it's not perfect but it does a very good job. Also PAL-DV is not as bad as NTSC-DV.
One of them is a National-Matsushita which has a very pleasant image (see picture #1), a little soft, but I really like the picture feel and colors, it's very warm. The problem with this one is that it has big problems with the tape and creates white lines almost every second, it's almost unwatchable.
The other one is a newer LG which has a sicker face looking image (see picture #2), but it handles the tape really well, and it does not create white lines, instead it masks them by internally replacing them with interpolated lines I think.
Now I would want to capture with this LG due to the National's dropout problems, but I really like the National's image filtering. On the other hand I like the sharpness of the LG.
My question to you is, since maybe the difference between the two is just signal processing, is there something I could do in post-processing in AviSynth to get the National look from the LG capture ?
Also, if theoretically I would find a S-VHS player like a JVC or Panasonic, would it handle this damaged tape better ? Does a prosumer S-VHS player create white lines or corrects the image better than my LG when the fields are damaged ?
Thanks a lot for any answers.
Our website is made possible by displaying online advertisements to our visitors. Consider supporting us by disable your adblocker or try DVDFab DRM and remove iTunes movie & music protection! :)
+ Reply to Thread
Results 1 to 16 of 16
Still images don 't tell us anything, nothing about tape noise and tracking issues, line sync distortions, signal levels, etc. If you don't know how to make a short sample video, ask here. Based entirely on the two images posted, put the two pictures side by side, close your eyes, and drop a penny on them. See where the coin lands. The top image has blown-out highlights and missing detail. The bottom shot looks noisy or oversharpened. Take your choice.- My sister Ann's brother
OK, here are video samples as well.
Do you think I could get better quality out of a good S-VHS deck ? With some effort I could get a JVC HR-S7711ET or a Panasonic NV-FS200, these are the only decks available in the country, but I would invest in those only if I would knew the result would be better.
Thank you for the samples.
Obviously the LG has better tracking and less damage. The National version tracks too poorly and is unworkable. It's a shame you had to take a quality hit by encoding analog tape to lossy DV, which makes cleanup more difficult. The samples have poor signal control and illegal video levels (crushed blacks, clipped brights). There's also some cyan color corruption from poor storage, so whites aren't clean. Detail is rather sparse, with DV's signature "look" of sharp edges but with a lack of inner detail or subtle texture. Some elements can be rescued, but not without further loss by having to go through more lossy encoding. Fortunatley there isn't as much VHS noise as usual. I suggest that you save the tapes for future restoration use with lossless media. A better VCR might track more securely with fewer horizontal dropouts, but I don't think they would be eliminated entirely. I have a couple of similar problem tapes myself.- My sister Ann's brother
You shouldn't thank me for the samples, I should thank you
I use the Sony cam to encode because it has a nice TBC and chroma filter. I also have one of those USB video grabbers which I can use with Virtualdub to encode into a lossless format but what I get is a mess of horizontal scatter and rainbow colors everywhere. So I guess the Sony cam has really nice TBC/DNR filters inside. Maybe if I got that Panasonic FS200 with built-in TBC/DNR I could use the video grabber but I don't know, the guy wants 200euros for it. I honestly used Sony Digital8 cameras between 2003-2010 and have a lot of digital content in DV already so maybe I don't notice the artifacts anymore.
About the video levels, it's just about TV-PC levels, or do you think the analog signal got hard clipped ? Right now I am using an AviSynth line to convert to PC leves which works fine, it restores some detail in the bright areas and doesn't influence the blacks and the colors:
Right now I have tested capturing multiple times with the LG and averaging 5 identical captures. I have spent some time testing if captures can be aligned perfectly and they can! It is a lot of work but it can be done. In AviSynth I can trim the interlaced signals at field level, and then if I convert to chroma subsampling from 420 to 422 I can also align vertically with 1px detail. I have tested this on short clips and the result is much better than a single capture. The tracking dropouts don't appear always in the same places and they get averaged out mostly. Very nice.
What is this about the cyan color corruption ? Can it be fixed by adjust the hue or saturation ? Is it too much or too less cyan, I don't really have a feel for color hues. Or is it something else than just a hue error ?
After I filter everything in AvySynth I will deinterlace with QTGMC and convert to progressive 50fps H264 with an insane bitrate (my tests show that CRF10 which is around 18kbps is "identical" to source, no recompression details that I can observe by saving BMP frames and going left-right in a photo viewer).
Thank you in advance for any other suggestions or clarification you might have.
Last edited by ghiga_andrei; 11th May 2018 at 05:30.
Your suggested code for the levels problem will certainly be adequate. I didn't know that you were aware of the levels problem. For an expertiment I used the SmoothLevels function in SmoothAdjust, which accomplished something similar (SmoothLevels(8,0.95,255,16,235)). There are several ways to accomplish the same thing. Some of the fuzziness and vagueness in the brightest details is also due to the nature of VHS, so those elements won't be perfect.
The multiple capture and median method you mention is likely the only way to get a cleaner and more stable final output. You would have more clarity if that initial round of lossy compression could be avoided, but it's better than something worse for the initial captures. For a couple of my old tapes with severe dropout glitches I have used up to three captures and, yes, it's a pain in the neck. I can only imagine your patience with five.
- My sister Ann's brother
Right now I have manually aligned the 5 captures temporally and vertically, but the only problem left is that from time to time, let's say about once every 100-200 frames I get a frame misalignment in one of the captures, just for one frame it's shifted with 1px down, and then it's back in sync. I guess it's a timing problem in the TBC of the Sony camera, having troubles with the tracking dropouts and then it recovers.
Having some programming background I'd rather invest the time in learning AviSynth scripting instead of manually going through every frame in the 5 captures
I found 2 possible solutions I am investigating now. One is a complete automated detection of these misaligned frames and automatic replace:
d5=Subtract(v1,v5) fix_v5=Conditionalfilter(d5, v1, v5, "RGBDifference(v1,v5)", "lessthan", "6")
A second solution is to run the Compare filter and dump the PSNR of the difference signal in a text file:
Compare(v1, v5, "YUV", logfile="PSNR.txt")
95 1.5601 -0.0609 23 -14 41.2449 96 1.5524 -0.1680 19 -9 41.4801 97 4.0354 -0.1165 134 -10 28.2937 98 1.5842 -0.1592 84 -11 41.1099 99 1.5563 -0.1573 29 -9 41.2976
I think either method will help me reduce the time needed to perfectly align the 5 captures.
Also, I've noticed that averaging 5 frames reduces the sharpness a little bit, and after applying a little sharpness after QTGMC I get a more pleasant result, as I like sharpness:
xv=MedianBlend(v1, v2, v3, v4, v5, low=1, high=1) xv.QTGMC(Preset="slow", Sharpness=1.0).LimitedSharpenFaster()
If you want to align multiple captures, some people at doom9.org developed software to do exactly that.
Fuzzy Match Noisy Clips - for Median Multicap
This is not the only thread at that site that addresses this problem. If you search for "multiple" and restrict the results to only include results from a user named "StainlessS" you will find several functions he created that you may find useful.
Last edited by johnmeyer; 11th May 2018 at 10:38. Reason: typo
Did you win the "Spelling Bee" ? Fancy lettered jacket .
Color is the same in both tapes.
Maybe some layer work in Adobe. Of course it helps to have a sense of what white, cyan, and blue look like.
The lighting in the scene doesn't make it easier.
Last edited by LMotlow; 11th May 2018 at 21:30.- My sister Ann's brother
And at the end of 1st grade the teacher puts on a kind of play, with every kid having to play a small part of a poem based on this Abecedary, and the poem is about all the letters.
I had the main part, the Abecedary itself, asking questions to all the letters, and my mom made that jacked with all the letters glued to it.
All the other kids were the letters, each of them has some letter stuck on them.
It's a nice memory
I gave the LG.avi sample a try with an averaging median filter that I saved for myself and called it FixRipsP2 (copy attached). I found the original filter posted by poisondeathray in this post: https://forum.videohelp.com/threads/343296-Transfer-of-real-bad-tape-to-pc-and-restore#post2139402. You have to be careful with this one, it can be very destructive under certain conditions and it's very slooooowwww.
I used Avisynth to fix levels and tame excess blue/cyan, then VirtualDub to tweak color, aiming for skin tones and the more natural color despite the scene's lighting. Color balance is largely a matter of personal preference. You could try poisondeathray's idea with ColorYUV to match national colors, but I'd fix the levels first to y=16-235. Of course the black borders can be y=0.
The script (FixRipsP2.avs filter is attached to this post) .
AviSource("Drive:\path\to\LG.avi") ContrastMask(enhance=2.0) ColorYUV(off_y=-2,cont_u=-100) Tweak(StartHue=270,EndHue=300,Sat=0.35,dither=true,coring=false) SmoothTweak(contrast=1.05,saturation=1.3) SmoothLevels(6,0.95,255,16,235,protect=5) SeparateFields() FixRipsp2() ReplaceFramesMC2(78,5) GradFun2DBmod(thr=1.8) BiFrost(interlaced=false) LSFmod() Weave() LoadVirtualDubPlugin("Drive:\path\to\VirtualDUb\plugins\ccd.vdf","CCD",1) LoadVirtualDubPlugin("Drive:\path\to\VirtualDUb\plugins\ColorMill.vdf","ColorMill",1) ConvertToRGB32(interlaced=true,matrix="Rec601") CCD(30,1) ColorMill(25700, 26724, 23140, 25712, 25700, 25700, 26471, 27239, 23650, 25700, 25700, 25700, 25700, 1124, 2053) Crop(16,2,-0,-8).AddBorders(8,4,8,6) ConvertToYV12(interlaced=true) return last
Last edited by LMotlow; 27th May 2018 at 21:57. Reason: post correct mpg encode- My sister Ann's brother
Wow, LMotlow, thank you so much for your help!
I've installed all the plugins and analyzed the script line by line to see what changes with each.
The CCD plugin works magic on the color noise on the walls and ColorMill does exactly what I asked for in the original post. I don't understand those numbers you used but I will study it later. Very nice.
ReplaceFramesMC2 is really nice and I noticed it is derived from RX which I found a few weeks ago and used it so far. Maybe this one is better, I will check in some frames with people dancing, that was really hard for RX
Regarding GradFun2DBmod and BiFrost, I honestly don't see any difference when using them or not, but I will leave them as they do no harm.
I've switched LSFmod to LSFmod(defaults="slow"), maybe it's better, I don't know, but I don't care about processing speed. I also found LimitedSharpenFaster and SeeSaw previously, but maybe this is better, thank you.
Regarding FixRipsp2(), it looks like a very powerful tool and I've tested it a little bit. It removes a lot of problems, but softens the image and creates some other problems too. Most noticeable on the date/time information, but also on diagonal lines. I will use it as a last resort. It's better if I use manually replace only the bad frames with ReplaceFramesMC2 instead of using this.
Now, I have only one problem with you script, and that is ColorYUV(off_y=-2,cont_u=-100). This line seems to damage the video really bad, on things that are blue.
I have attached two images of what it does, it turns some blue stuff into grey stuff. It's also in your mpg encoded file. Could this be done in any other way to limit this damage ?
Thanks again for everything. Is there any way I can repay you ?
VirtualDub .vcf file with the ColorMill settings. If you've never used a .vcf, unzip it somewhere and open VirtualDub. Click "File.." -> "load processing settings", locate the .vcf file and click OK or Open. The .vcf will load ColorMill with the settings I used. ColorMill must be in your VirtualDub plugins. I later added Camcorder Color Denoise at default settings.
- My sister Ann's brother
Thank you again!