VideoHelp Forum

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
Thread
  1. Hello guys,

    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.
    Image Attached Thumbnails Click image for larger version

Name:	1.National.bmp
Views:	32
Size:	1.19 MB
ID:	45596  

    Click image for larger version

Name:	2.LG.bmp
Views:	33
Size:	1.19 MB
ID:	45597  

    Quote Quote  
  2. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    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
    Quote Quote  
  3. 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.
    Image Attached Files
    Quote Quote  
  4. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    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
    Quote Quote  
  5. 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:
    Code:
    ColorYUV(gain_y=-20)
    Is this enough or do you think a different VCR, different video grabber would not clip the analog signals ? Both VCRs have the same problem and both the Sony camera and the USB video grabber look the same in terms of brights clipping so I don't know what else would a different card do. If it's an analog signal level problem I could reduce the level with an analog filter, a few tens of kohm resistor over the wire maybe reduces the level without filtering the signal.

    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.
    Quote Quote  
  6. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    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
    Quote Quote  
  7. 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:
    Code:
    d5=Subtract(v1,v5)
    fix_v5=Conditionalfilter(d5, v1, v5, "RGBDifference(v1,v5)", "lessthan", "6")
    This works at first glance but haven't got the time to test it very well. I have high hopes.

    A second solution is to run the Compare filter and dump the PSNR of the difference signal in a text file:
    Code:
    Compare(v1, v5, "YUV", logfile="PSNR.txt")
    I've noticed a great PSNR drop if the frames are shifted.
    Code:
    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
    After this I would parse this text file in a Python script and extract the bad frames and generate some ReplaceFrames code for those frames.

    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:
    Code:
    xv=MedianBlend(v1, v2, v3, v4, v5, low=1, high=1)
    xv.QTGMC(Preset="slow", Sharpness=1.0).LimitedSharpenFaster()
    Oh, and this MedianBlend with low=1 and high=1 excludes from the blend the frames which have dropouts that don't exist in the other captures. I get really better results with this than just always averaging the 5 captures. You could say it averages the most similar 3 captures, but it searches for them in 5 captures. This is my understanding. Some tests I've made seem to support this.
    Quote Quote  
  8. 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
    Quote Quote  
  9. Originally Posted by ghiga_andrei View Post
    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 ?
    You can use histogram("levels") as an aid to help compare and visualize

    For example smoothtweak(hue1=-1,hue2=1, saturation=1.02) shifts the U,V channels closer to the national colors if that's what you wanted

    There are many other ways to manipulate colors too
    Quote Quote  
  10. Did you win the "Spelling Bee" ? Fancy lettered jacket .
    Quote Quote  
  11. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    Originally Posted by poisondeathray View Post
    Originally Posted by ghiga_andrei View Post
    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 ?
    You can use histogram("levels") as an aid to help compare and visualize

    For example smoothtweak(hue1=-1,hue2=1, saturation=1.02) shifts the U,V channels closer to the national colors if that's what you wanted

    There are many other ways to manipulate colors too
    Waste of time. The tape has been stored under adverse conditions and the oxide layers themselves have been altered. You can reduce the saturation of cyan with Tweak using StartHue/EndHue and reduce the contrast of the U layer. But those whites are pretty much gone forever. I've seen this in the past with badly stored PAL tapes. There have ben posts in this forum showing similar effects -- in fact, several samples in several posts, two of them wedding tape restoral threads, but that was years ago.

    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
    Quote Quote  
  12. Originally Posted by poisondeathray View Post
    Did you win the "Spelling Bee" ? Fancy lettered jacket .
    I don't know if it's called the same in Canada and USA, but here in the 1st grade we have an Abecedary book with all the letter drawings, it's the main learning book.
    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
    Quote Quote  
  13. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    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) .

    Code:
    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
    The mpg sample output is encoded for PAL DVD spec.
    Image Attached Files
    Last edited by LMotlow; 27th May 2018 at 21:57. Reason: post correct mpg encode
    - My sister Ann's brother
    Quote Quote  
  14. 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 ?
    Image Attached Thumbnails Click image for larger version

Name:	art_1.bmp
Views:	27
Size:	2.37 MB
ID:	45754  

    Click image for larger version

Name:	art_2.bmp
Views:	29
Size:	2.37 MB
ID:	45755  

    Quote Quote  
  15. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    Originally Posted by ghiga_andrei View Post
    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.
    I've attached a .zip file that contains a 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.

    Originally Posted by ghiga_andrei View Post
    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.
    There appeared to be too much blue in white shadows, but perhaps as poisondeathray noted earlier the blue might belong as it is. GradFun2DBmod cleared what looked like noisy gradients in the background walls.

    Originally Posted by ghiga_andrei View Post
    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.
    FixRipsP2 is, in fact, a last resort. Using it depends on how much collateral damage you're willing to tolerate. Sometimes it isn't worth it.

    Originally Posted by ghiga_andrei View Post
    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 ?
    As I said, maybe those blues are really supposed to be there.
    Image Attached Files
    - My sister Ann's brother
    Quote Quote  
  16. Thank you again!
    Quote Quote  



Similar Threads