VideoHelp Forum
+ Reply to Thread
Results 1 to 9 of 9
Thread
  1. Member
    Join Date
    Feb 2017
    Location
    United States
    Search Comp PM
    This is my first foray into video restoration...trying to save and enhance some 30 yr old marching band VHS tapes.

    https://drive.google.com/drive/folders/0B8PLU0W4Qdg2RFpESE91aGZ1MDA?usp=sharing
    2 vids in there, a sample of the raw avi capture and a compressed mp4 version of the filtered result. If I need to post something different or turn on permissions, let me know...

    This is my setup flow:
    JVC HR-S9911U (s-vid)
    TBC (http://www.ebay.com/itm/250889809126) (s-vid)
    ATI TV Wonder 650 PCI (s-vid)

    I'm capturing with UTVideo 'uly2' compression in VDub. I've also come to realize that the TBC I bought is kind of a piece of junk. It doesn't really do 'any' TBC work (the option on the JVC works better). About all it's worth is as a proc amp, but I'm beginning to lean towards using software corrections since I can preview those on the final display device. I don't want this to be a discussion about hardware, but rather the script below.

    Here is my avisynth script. (I have a bunch of stuff commented out for tweaking with multiple vids)
    Code:
    AVISource("1992_State_Extras_Awards.avi").AssumeTFF()
    #KillAudio()
    #cut
    Trim(133, 7131)
    fadein(15)
    
    #levels
    #--brightness and contrast measurement--
    #--saturation measurement---
    #find something RED to adjust v
    saturation_v = 1.3 
    cv = - (1-saturation_v)*256
    #find something BLUE (or skin) to adjust u
    saturation_u = 1.5
    cu = - (1-saturation_u)*256
    #opt="coring" keeps YUV in a valid range (16-235)
    ColorYUV(off_y=-10, gain_y=30, cont_u=cu, cont_v=cv, opt="coring")
    #ConvertToYV12() #needed for histogram
    #Histogram() #adjust off_y in a black region and gain_y in a bright region to fill the luminance range
    #VideoScope("both", true, "U", "V", "UV")
    
    #color correction (hue)
    #Tweak(hue=1)
    #Levels(0, 0.8, 255, 0, 255) #lower gamma
    
    #chroma noise
    #cnr2(mode="xoo", ln=0, lm=194, un=255, um=255, vn=194,vm=255)
    #cnr2(mode="oxx", ln=16, lm=191, un=100, um=255, vn=32, vm=255)
    
    #chroma shift(bleed), droop, & blur
    #it's easier to see what you're doing with punched up saturation
    #Tweak(sat=2)
    #chroma "blur"
    ConvertToYV12(interlaced=true)
    luma=last
    SeparateFields()
    BicubicResize(width/3,height*2)
    aWarpSharp2(depth=25)
    Spline64Resize(width*3,height/2)
    aWarpSharp2(depth=25)
    Weave()
    MergeChroma(luma,last)
    ChromaShift(L=0,C=-2) #L=Y up/down C=UV L/R
    #StackHorizontal(last, StackVertical(UtoY(), VtoY()))
    #ConvertToYUY2()
    
    #deinterlace
    #denoise/chroma noise
    QTGMC( Preset="Slow", EZDenoise=2.5, NoisePreset="Slow", \
    ChromaNoise=true, Sharpness=1.0)#, ShowNoise=true, showsettings=true)
    
    #sharpen
    LSFmod(strength=125)
    
    #crop and upscale
    #top, bot, L, R
    letterbox(6,10,6,12)
    BicubicResize(1080,720)
    #ConvertToYUY2()
    fadeout(15)
    My final desired result is a Blu-ray. I know there will be comments about deinterlacing...I just like the output result of 60 fps and progressive. I also don't like a lot of hardware players deinterlacers and feel like this is the better, more supported/future proof route, so please don't turn this into a discussion about that either. I just want some advice on enhancing, sorry if that comes off rude!

    My questions:
    What can I do to make it sharper?
    I can't seem to fix some ghosting/chroma shift either, is it possible? (note the field commander in blue at the end)
    Am I applying the right kinds of filters, too many, in the right order?
    I feel like the raw capture is a little oversaturated or something, the whites are blooming, what can I do to reduce that "VHS haze"?
    I also probably messed up and made it too dark...I realize it looks a little lighter on a TV which is my final output anyway.
    Basically, help me. I want to make these look the best I can. I have about 2 decades of footage to go through.
    Quote Quote  
  2. Everyone has different tastes and different goals and objectives. Here is my reaction to what you've done.

    1. I see no reason to upscale the output. It gains absolutely nothing in quality, causes your script to take longer, and may introduce small errors. I think you can put it on Blu-Ray in 720x480 format, although I have no experience making Blu-Ray discs. Whatever improvement you might get from doing the scaling in software is never going to be seen, given that you're starting with a VHS capture. Your goals when dealing with VHS should be quite different than when you are starting with pristine HD.

    2. You say that you want more sharpening, but to my eye, your MP4 already has too much sharpening applied. I'd use less.

    3. The contrast on the MP4 is too high.

    4. The whites and blacks seem to be too white and too black (somewhat related to #3), possibly out of range.

    5. Your original capture looks really good.

    I don't deinterlace, but you don't want that discussion, so I won't say more.

    You might want to consider different denoising or different settings. You are losing quite a bit of detail in flat surfaces, like the blue on the uniforms, or the Astroturf in the background.

    Here are two frames, the first from your original, and the second from the enhanced version. I most definitely prefer the original. The staircasing on the "original" is due to the fact that I deinterlaced and re-sized in my photo program, and it did a lousy job. I wanted to make sure both photos display in the forum software at the same size.

    Original


    Enhanced


    Look at how the white reflections on the seatbacks of the empty seats are blooming in your enhanced version. Note the lack of detail in the Astroturf and the other flat surfaces. Note how all the detail is gone from the white piping on the uniforms.

    I can go on, but I think most of your problems come from turning up the settings too high.

    I'll end with the same thing I always say about enhancement and restoration: less is more.
    Quote Quote  
  3. Member
    Join Date
    Feb 2017
    Location
    United States
    Search Comp PM
    Ah yes, the other comment I was expecting to catch about resizing...That one is due to the authoring program I was going to use, TMPGenc Authoring Works. For some stupid reason it requires video in 1280x720 in order to keep the 59.97fps. Anything less and it falls back to the DVD standard of 29.97 and the playback isn't as smooth. I was testing to see if 1080x720 would work for it's requirements, otherwise, I don't really want to upscale, you're right, it adds nothing.

    I agree this first run is overdone. Too much sharpening, denoising, and contrast.

    Thanks for your comments.
    Quote Quote  
  4. Originally Posted by schroeder View Post
    Anything less and it falls back to the DVD standard of 29.97 and the playback isn't as smooth.
    It is if you keep it interlaced.

    Originally Posted by schroeder View Post
    I don't really want to upscale, you're right, it adds nothing.
    Actually, a good software upscale (nnedi3_rpow2() for example) is better than any player or TV can achieve.

    Otherwise, I agree with johnmeyer, the video is over processed.
    Last edited by jagabo; 28th Feb 2017 at 08:01.
    Quote Quote  
  5. That is one long Avisynth script and one of the many reasons I prefer NLE's. But I digress.

    I have authored plenty of BD's using SD content. Many, like john, will tell you that it is a waste of time. But, all modern TVs are native progressive, just like their computer brethren, and SD displays have gone the way of the dodo. This means you can either leave the de-interlacing and upscaling to the TV hw (YMMV, or someone else's, depending on the brand) or do it yourself using the best sw de-interlacers and scalers. You are on the right track with QTGMC and converting to 59.94p. If you have a lot of footage, I would definitely investigate using the multi-threaded version of QTGMC. It is a little tricky to set up, but not impossible and well worth the effort if you have a multi-core cpu. I get around 6x fps in MT vs ST, not a trivial speedup. Secondly, your rescale is a bit odd. There is only one 59.94p HD resolution that is BD compliant, namely 1280x720 (maybe your script is a typo?), which is only a 1.5x increase in horizontal resolution. Plus, I am not sure using the bicubic algo will get you the best results. I haven't downloaded your footage, but one method for intermediate scales is to first do a 2x upscale using nnedi3 following by a downrez to your target using Spline, Lanczos, Blackman, etc. The only thing you can do is test different methods and see which one works best on your footage. Lastly, without going into a lot of detail, HD is Rec.709 while SD is Rec.601. Therefore, I highly recommend doing this conversion yourself rather than leaving it to the encoder otherwise as you can get unwanted color shifts.

    That is the technical discussion. Now for the artistic discussion. VHS footage is undersaturated, often poorly exposed, and soft compared to what our eyes are used to seeing now. Therefore, it always benefits from boosting the saturation, correcting WB/temperature, increasing the gamma/contrast (while being careful not to clip the highlights), and sharpening. That is what is called a primary grade. Also, VHS footage can usually benefit from secondary grading to fix skin tones, washed out skies, maybe a vignette, etc. Almost all of this is impossible to do without a full fledged NLE and you can only do so much because you are working with 8-bit color, not 10-bit. But your script seems to be attempting some of this. And from the screen shots posted, the footage looks much too cool and could be warmed up considerably unless you are going for some Michael Bay look, but even then, the skin tones look horrible and need fixing.

    Just my 2 cents.
    Quote Quote  
  6. Member
    Join Date
    Feb 2017
    Location
    United States
    Search Comp PM
    Ignore the upscaling. It's a test to see if the authoring program can add black borders to make it 1280x720 or if it will try to change the aspect ratio.

    I have several other tapes and samples I'll post in a few days to get some more feedback on. Thanks, keep em coming.
    Quote Quote  
  7. Member
    Join Date
    Feb 2017
    Location
    United States
    Search Comp PM
    I want to mention too that the Blu-ray format decision wasn't because I expect SD content to "look like HD", it was more for the amount of space/length of footage. I'm trying to fit about 20 years of shows on one disc. Another reason was specifically the 60fps support with the authoring tool. Also, I can do cool things like pop-up menus that I can't with DVD.
    Quote Quote  
  8. If your goal is to fit as much as possible onto one disc, then you might still want to reconsider the decision to upscale. As you probably know, the ONLY thing which determines the size of a video file is its bitrate. You also probably already know that to avoid getting artifacts during the encoding process, you need to use a higher bitrate when you encode video at a higher resolution because it takes more bits to chase around all those extra pixels. That's not a very scientific explanation, but it's true.

    The relationship between total pixels and bitrate to produce the identical output quality (which is somewhat subjective) is not linear, and I'm not sure I've ever seen a graph or chart showing what it is. However, I am guessing that you would need at least twice the bitrate to encode your 1280x720 in order to not increase the severity of artifacts compared to encoding the original material at its native 720x480.

    Therefore, your decision to upscale to 1280x720 will almost certainly mean that you will have to use at least twice the number of discs to hold all your content.
    Last edited by johnmeyer; 28th Feb 2017 at 11:48. Reason: typo
    Quote Quote  
  9. As a rule, I never allow the authoring program to transcode the video stream whether DVD or BD. I don't know which authoring program you are using (must be fairly advanced if it supports BD-J), but I have no trust in whatever bundled encoder comes with X program. Rather, encode your video using one of the x264 bluray compliant scripts (480p59.94 is not compliant which is the main reason you need to upscale to 1280x720 unless you leave it interlaced) and just add the letter/pillar boxing needed to your Avisynth script to maintain the proper AR. If you really want to be picky, you can make sure the borders align with the macroblocks. And don't be afraid to crop your video. All the HD video I shoot these days gets cropped to 2.35 AR for final delivery. Nobody will notice that your video is not exactly 4:3. Then make sure the authoring program accepts the .264 stream without triggering a transcode. You will have to encode the audio stream separately. And when it comes to SD content, you can squish that drastically using x264 without much loss in detail versus the less efficient mpeg2 used for DVD. So, a ~4 Mbps (vs 9 Mbps mpeg2 DVD) encode would allow about 13 hours of content on one SL BD. That's an enormous amount of footage on one disc and would need a massive menu system just to make it watchable, not really the purpose of an authored BD imho.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!