VideoHelp Forum

Our website is made possible by displaying online advertisements to our visitors. Consider supporting us by disable your adblocker or Try ConvertXtoDVD and convert all your movies to DVD. Free trial ! :)
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 39
Thread
  1. I used Canopus ADVC110 to capture these VHS tapes. I'm going to convert them to DVD. Can avisynth improve audio quality too?
    I'm a newbie. What avisynth script should I use for these videos?

    http://www.mediafire.com/watch/v316eq78lo7j3j3/blackwhitevideo.avi
    Black and white video of just text. A lot of static/video noise. Background audio noise. Garbage at bottom

    http://www.mediafire.com/watch/9kzlnwirxyai3w3/reunion.avi
    Normal video, nothing seems wrong. Garbage at bottom.
    Last edited by digicube; 23rd Sep 2015 at 20:38.
    Quote Quote  
  2. My first bit of advice would be to go back and start over. Don't you have a way to adjust the levels/brightness/contrast? That should always be done before capping. The blacks are crushed and the whites badly blown out.

    The second bit of advice would be to get a line TBC in there somewhere.

    I work on audio using Audacity and rejoin the audio with the video when authoring.

    Using this script:

    AviSource("reunion.avi",False)
    ColorYUV(Analyze=True).Limiter(Show="Luma")


    shows the blacks and whites outside of 16-235.
    Image Attached Thumbnails Click image for larger version

Name:	Capture.jpg
Views:	576
Size:	112.3 KB
ID:	33810  

    Quote Quote  
  3. I don't have a TBC VCR. My VCR is SONY SLV-N88. Looks like there's nothing avisynth filters can do to make blackwhitevideo.avi look any better. I thought it was possible because of the many amazing avisynth restoration examples I have seen on the internet. Maybe those are applicable for films only.
    Quote Quote  
  4. Originally Posted by digicube View Post
    I don't have a TBC VCR. My VCR is SONY SLV-N88. Looks like there's nothing avisynth filters can do to make blackwhitevideo.avi look any better. I thought it was possible because of the many amazing avisynth restoration examples I have seen on the internet. Maybe those are applicable for films only.
    He didn't say you can't make it look better. He's just suggesting you do a proper capture first. Which is great advice and always the first best step
    Quote Quote  
  5. But I don't have a TBC VCR. I can't do anything different capture wise.
    reunion.avi looks good, I don't think it needs any restoration. My concern is with blackwhitevideo.avi.
    Quote Quote  
  6. This is the same video you posted over at doom9.org. I won't repeat everything I posted there, but just to add the excellent advice you are getting here (unlike the snark at doom9.org), even if you can't get a TBC (although they aren't that expensive), you should be able to do a better job with the video levels. You told us what VCR you are using, but what is your capture device, and how does it connect to your PC? Perhaps that setup can be improved.

    The reason people are telling you that you can't do much improvement with AVISynth is that your levels are so crushed that a lot of the darker parts of the video have been mapped to pure black. Once a pixel is pure black, there is no longer any way you can know how to adjust it back up to a brighter level and still be able to recover detail. Those "magic" results you see with some AVISynth scripts rely on having a least a few pixels that are a little brighter than pure black, and then using the slight differences between adjacent dark, but not pure-black pixels, to reconstruct detail.
    Quote Quote  
  7. From the comments over at doom9.org, there's nothing that can be done EASILY to restore blackwhitevideo.avi. Garbage in, garbage out, I assume. Thanks anyway.
    Quote Quote  
  8. Although I have a good VCR with a built-in line TBC for PAL captures, for the NTSC ones I have a DVD recorder (a Panasonic DMR-ES15) installed between an ordinary VCR and my Canopus box. You should be able to find one (or the maybe slightly better ES10) for $100 or so on EBay.

    But even without all that, and even with that not-so-good capture you have, you can get back some of the detail:

    Before (top) pic:

    AviSource("reunion.avi",False)
    ColorYUV(Analyze=True)


    After (bottom) pic:

    AviSource("reunion.avi",False)
    Tweak(Bright=12,Cont=0.75,Coring=False)
    YLevelsS(0,1.8,255,0,255)
    ColorYUV(Analyze=True)


    This isn't set in stone and tweak them any way you like, or use ColorYUV instead and other filters if you like, boost the saturation if you like, adjust the colors if you like (is everything slightly too red?). Me, I crop the crap at the bottom (most of the time), left, and right, add fresh black and resize usually. If you resize, be very careful with it because your tapes are interlaced. Others cover the crap with black using Crop/AddBorders and/or Letterbox.

    From the comments over at doom9.org, there's nothing that can be done EASILY to restore blackwhitevideo.avi.
    The text can be made to look quite good, but it'll take some work.
    Image Attached Thumbnails Click image for larger version

Name:	Before.jpg
Views:	443
Size:	88.0 KB
ID:	33811  

    Click image for larger version

Name:	After.jpg
Views:	447
Size:	88.8 KB
ID:	33812  

    Quote Quote  
  9. Originally Posted by digicube View Post
    From the comments over at doom9.org, there's nothing that can be done EASILY to restore blackwhitevideo.avi. Garbage in, garbage out, I assume. Thanks anyway.
    Did you really want to "restore" that part ? I would do what jmac at doom9 suggested and just recreate the titles - how long is the text sequence ? Or does it have many text sequences in between other sections ?

    Or maybe that's "too clean" ? maybe you wanted to preserve the nostalgic VHS look ? (don't laugh - there are people that want this)
    Quote Quote  
  10. Originally Posted by poisondeathray View Post

    Did you really want to "restore" that part ? I would do what jmac at doom9 suggested and just recreate the titles - how long is the text sequence ? Or does it have many text sequences in between other sections ?

    Or maybe that's "too clean" ? maybe you wanted to preserve the nostalgic VHS look ? (don't laugh - there are people that want this)
    I'm converting for a friend for free so I'll leave it as it is. I thought there was a avisynth script that I can just copy and paste.
    Quote Quote  
  11. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    The ripples and jitter in that video can't be fixed with Avisynth or other software. You need a line tbc at capture time to repair scanline timing errors.
    - My sister Ann's brother
    Quote Quote  
  12. TBC is that awesome? It fixes most VHS picture problems? Considering it's such as old technology, I'm surprised today there is no software that emulate it.
    Quote Quote  
  13. Originally Posted by digicube View Post
    TBC is that awesome? It fixes most VHS picture problems? Considering it's such as old technology, I'm surprised today there is no software that emulate it.
    The process of digitizing (capturing) bakes-in and masks the timing errors that need correcting. That's why it has to be done pre-capture. If there was a reliable way to do it in post, someone would have found it by now.
    Quote Quote  
  14. I downloaded masktools2.dll for avisynth 2.6 from http://avisynth.nl/index.php/MaskTools2 and placed in plugin directory but I cannot render the video when using YLevelsS(0,1.8,255,0,255)
    Quote Quote  
  15. The black white video is just text on a background. It's not some great artistic piece that needs to be preserved. You can mangle it quite a lot. What matters is that its readable and not too ugly.

    Code:
    AviSource("G:\blackwhitevideo.avi") 
    
    Crop(0,0,-0,-12) # get rid of head switching noise
    AddBorders(0,0,0,12) # restore frame height
    ColorYUV(cont_y=60, cont_u=-256, cont_v=-256)  # kill ghoshting, greyscale
    ColorYUV(opt="coring") # back to legal levels
    
    Santiag() # antialiasing -- gets rid of most line jitter
    Santiag() # a little more
    
    Merge(SelectEven(),SelectOdd()) # noise reduction, less jitter
    Merge(SelectEven(),SelectOdd()) # noise reduction, less jitter
    ConvertFPS(framerate*2) # restore frame rate
    ConvertFPS(framerate*2) #restore frame rate
    There's still a little wiggle and the text isn't perfectly formed (if you want that you should just recreate the segment from scratch). The script ignores the fact that the video is interlaced -- it doesn't matter, there's no motion. The exact timing of the fades is a little off but I don't think that matters either.
    Image Attached Files
    Quote Quote  
  16. A quick hack for the color video:

    Code:
    AviSource("G:\reunion.avi") 
    ConvertToYV12(interlaced=true)
    
    ColorYUV(gamma_y=100, off_y=-16, cont_y=-20, cont_u=40, cont_v=40)
    ConvertToRGB(interlaced=true)
    RGBAdjust(r=0.90, b=1.1)
    ConvertToYV12(interlaced=true)
    
    Spline64Resize(width/2, height)
    QTGMC(preset="fast")
    Dehalo_alpha(rx=2, ry=1)
    TemporalDegrain(SAD1=200, SAD2=150, sigma=8)
    TurnRight().nnedi3(dh=true).TurnLeft()
    aWarpSharp(depth=5)
    Sharpen(0.3, 0.0)
    Crop(0,0,0,-6).AddBorders(0,0,0,6)
    The output is 60p, of course. If you want it back to 30i just add
    Code:
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    to the end of the script.

    This is far from prefect but should give you some ideas.
    Image Attached Files
    Quote Quote  
  17. Originally Posted by digicube View Post
    I downloaded masktools2.dll for avisynth 2.6 from http://avisynth.nl/index.php/MaskTools2 and placed in plugin directory but I cannot render the video when using YLevelsS(0,1.8,255,0,255)
    Always post the exact error message. Did you get the YLevels function as well? At the bottom of the YLevels page is a link to the Doom9 thread on it and in the first post when going there is the function itself. If you don't know what to do with it, just ask.

    http://avisynth.nl/index.php/Ylevels
    Quote Quote  
  18. @manono I'm a total n00b. I don't know any coding but thanks for the hints. I got it to work to work by copy and paste the function into the avs script and downloading the required MaskTools.dll.
    Can I load http://avisynth.nl/images/TemporalDegrain.avs using a command or do I have to copy and paste the functions into the avs script?
    Quote Quote  
  19. @jagabo Wow This is the answer I'm looking for. Both videos definitely looks much better. I'm using your script. Thank you.
    Should the output be progressive or interlaced? I'm converting them to DVD?
    Last edited by digicube; 24th Sep 2015 at 16:03.
    Quote Quote  
  20. You load TemporalDegrain like this:

    Code:
    import("C:\Program Files (x86)\AviSynth 2.5\plugins\TemporalDegrain.avs")
    You may need to change the path to the file.

    Beware that my script was just an "average" adjustment for the entire clip. It may not be appropriate for other shots. You should make adjustments for different shots. You might want to go lighter on the noise reduction.
    Last edited by jagabo; 24th Sep 2015 at 16:13.
    Quote Quote  
  21. Originally Posted by digicube View Post
    Should the output be progressive or interlaced? I'm converting them to DVD?
    He made a 59.94fps video as an example so you can't use that framerate for DVD. Most people suggest reinterlacing such things, so you'd add the reinterlacing section he showed you to the bottom of your script.

    But if you decide you want it progressive, then add:

    SelectEven()

    to the bottom of the script and encode as progressive 29.97fps.
    Quote Quote  
  22. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    Originally Posted by manono View Post
    Originally Posted by digicube View Post
    Should the output be progressive or interlaced? I'm converting them to DVD?
    He made a 59.94fps video as an example so you can't use that framerate for DVD. Most people suggest reinterlacing such things, so you'd add the reinterlacing section he showed you to the bottom of your script.

    But if you decide you want it progressive, then add:

    SelectEven()

    to the bottom of the script and encode as progressive 29.97fps.
    Drop alternate frames? For home video with camera motion and lots of pan shots? Really?

    Come to think of it, you're probably right. VHS to DV never reinterlaces properly, has aliasing and edge buzz . I guess he's stuck with throwing away half the video if he wants DVD or similar standard formats.
    Last edited by LMotlow; 24th Sep 2015 at 20:42.
    - My sister Ann's brother
    Quote Quote  
  23. Originally Posted by jagabo View Post
    A quick hack for the color video:

    Code:
    AviSource("G:\reunion.avi") 
    ConvertToYV12(interlaced=true)
    
    ColorYUV(gamma_y=100, off_y=-16, cont_y=-20, cont_u=40, cont_v=40)
    ConvertToRGB(interlaced=true)
    RGBAdjust(r=0.90, b=1.1)
    ConvertToYV12(interlaced=true)
    
    Spline64Resize(width/2, height)
    QTGMC(preset="fast")
    Dehalo_alpha(rx=2, ry=1)
    TemporalDegrain(SAD1=200, SAD2=150, sigma=8)
    TurnRight().nnedi3(dh=true).TurnLeft()
    aWarpSharp(depth=5)
    Sharpen(0.3, 0.0)
    Crop(0,0,0,-6).AddBorders(0,0,0,6)
    The output is 60p, of course. If you want it back to 30i just add
    Code:
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    to the end of the script.

    This is far from prefect but should give you some ideas.

    I'm using this script and it's 3 fps using AVStoDVD HCenc 2-pass.
    I have an i7 2600K CPU. Is there anyway to make it go faster like 15-30 fps? Which of the commands is causing the biggest slowdown?
    Last edited by digicube; 24th Sep 2015 at 22:48.
    Quote Quote  
  24. Originally Posted by LMotlow View Post
    Drop alternate frames? For home video with camera motion and lots of pan shots? Really?
    I was just covering the possibilities. You'll note I did say, "Most people suggest reinterlacing such things, so you'd add the reinterlacing section he showed you to the bottom of your script."
    VHS to DV never reinterlaces properly
    Of course it'll reinterlace properly.
    ...has aliasing and edge buzz.
    He can add a vertical blur if necessary.
    I guess he's stuck with throwing away half the video if he wants DVD or similar standard formats.
    He's not stuck with anything. He can do whatever he wishes. You're letting your distaste of DV-AVI cloud your judgement. jagabo filtered away any problems that might be caused by having DV-AVI as a source. As do I for my own captures.
    Quote Quote  
  25. Originally Posted by LMotlow View Post
    VHS to DV never reinterlaces properly, has aliasing and edge buzz.
    I too would like to know more about that. I have done all my VHS captures to DV and have never seen a problem, but I'd sure like to know if I'm missing something so I can do it better in the future.
    Quote Quote  
  26. Originally Posted by digicube View Post
    I have an i7 2600K CPU. Is there anyway to make it go faster like 15-30 fps?
    Use a multithreaded build of AviSynth. Some people have problems with that though. I'm getting about 15 fps with a i5 2500K and multithreaded AviSynth 2.6.

    Originally Posted by digicube View Post
    Which of the commands is causing the biggest slowdown?
    QTGMC and TemporalDegrain.
    Quote Quote  
  27. @jagabo I get this error after installing Avisyth 2.6 MT, "cache getchild cache mode". It works fine if I remove QTGMC and TemporalDegrain.

    Edit: Go it fix by adding this

    SetMemoryMax(512)
    SetMTMode(3,8)
    source_filter()
    SetMTMode(2)
    processing_filters()
    distributor()

    I'm getting 11 fps. Can I speed it up further? Although it's already using 8 cores and 75% CPU.
    If I use HCenc 1 pass, will it be significantly lower quality than HCenc 2 pass?
    Last edited by digicube; 25th Sep 2015 at 04:52.
    Quote Quote  
  28. You may be able to get more speed by setting the thread count higher. Try 10 or 12.

    Hcenc might be your limiting factor. In my experience it doesn't scale as well as x264, the encoder I was using.
    Quote Quote  
  29. Anything more than 8 will crash HCenc, I think it's because my CPU has a maximum of 8 threads.
    Quote Quote  
  30. Did you try without distributor() ? Some programs work better with it, some without it. For example, x264 works better without, ffmpeg works better with - not sure about hcenc

    You can try "faster" or "very fast" for QTGMC. The quality difference between them won't be noticeable when watching, but it will be slightly faster

    If you have a decent GPU with openCL performance, you might be able to replace temporaldegrain with KNLMeansCL used in temporal mode - you'll have to play with the settings a bit to get similar results. But it's one of the stable fast GPU filters in avisynth/vapoursynth . T

    There is a GPU accelerated version of NNEDI3 - but it can be faster OR slower depending on the situation - but you might want to check it out (NNEDI3 is used twice times in that script - QTGMC relies on it, and it's called separately)

    A good way to diagnose script bottlenecks is to use avsmeter (you take change/remove filters and look at the benchmark)
    Quote Quote  



Similar Threads