#1  
11-03-2018, 03:49 PM
rks84093 rks84093 is offline
Free Member
 
Join Date: Oct 2018
Posts: 10
Thanked 0 Times in 0 Posts
Attached is some footage very typical of the family movies I am converting from VHS. I'd very much appreciate feedback from the brain trust here about how you would approach improving the footage.

My workflow is: Panasonic AG-1980 > TBC-3000 > Diamond VC500 (usb stick) > VirtualDub > Lagarith AVI > Audacity for audio filtering (if needed) > AVISynth/VirtualDub to improve quality and save to mp4 --OR-- Avidemux (but the de-interlacing is not impressive) to improve quality and save to mp4. Everything is running on both Windows 10 and Windows 7 (two different PCs)

As convenient as Avidemux is, it seems AVISynth is something I need to get comfortable with to do the job well (mostly for de-interlacing -- I'm pretty ok with the Avidemux filters I've played around with). I've played around with AVISynth scripts a bit, but I really need guidance on the core set of tools to use -- I'm anxiously awaiting lordsmurf's sample scripts!

1. Most of the movies seem to need cropping/resizing to remove the vertical magenta stripe on the left side; many have horizontal noise on the bottom as well. -- Should I crop and resize (seems the answer is NO from what I've read here)? Should I add black bands to cover them up?

2. I'm thinking I should de-interlace as I'm leaning toward distributing as mp4/mkv. I assume I should use QTGMC to do this -- but I'm still a little confused about when in the sequence I should run it? Before color correction or after -- before adding black bands or after -- before using any kind of noise reduction or after?

3. I've played a little with AVISynth, but not sure I have the right filter package installed. I have been able to execute a few simple scripts -- but could use a few good example scripts for the 5-6 "go-to edits" that get used over and over. Cropping/Color/Brightness-Contrast/Noise/De-Interlace, etc...

Thank you!


Attached Files
File Type: avi Sample 1b.avi (84.00 MB, 110 downloads)
Reply With Quote
Someday, 12:01 PM
admin's Avatar
Ads / Sponsors
 
Join Date: ∞
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
  #2  
11-04-2018, 06:54 PM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,307 Times in 982 Posts
Hello, and thanks for the sample.
It's getting late where I am, but I've been working on some filter suggestions and an Avisynth filter toolkit that I'll be posting tomorrow. Sorry for the delay,.

-- merged --

Thanks again for your sample avi.

Quote:
Originally Posted by rks84093 View Post
My workflow is: Panasonic AG-1980 > TBC-3000 > Diamond VC500 (usb stick) > VirtualDub > Lagarith AVI > Audacity for audio filtering (if needed) > AVISynth/VirtualDub to improve quality and save to mp4 --OR-- Avidemux (but the de-interlacing is not impressive) to improve quality and save to mp4. Everything is running on both Windows 10 and Windows 7
Nice workflow. Most users don't operate Avidemux as a restoration platform. It's basically a quickie encoder/converter. Avisynth and VirtualDub have much more to offer for repair and restoration.

As convenient as Avidemux is, it seems AVISynth is something I need to get comfortable with to do the job well (mostly for de-interlacing[/quote]Why are you deinterlacing? I ask because it seems that newcomers to video processing seem to obessively target deinterlacing as their number one objective. Experienced users and pros will deliver a different story: in itself, software deinterlacing entails a quality hit. Interpolation complexities, rounding errors, and artifact generation are involved. The fact that media players, external boxes and TV's are designed to deinterlace better than you can do it in software doesn't seem to deter people from insisting on doing it anyway, often using filters and pricey NLE's that make deinterlaced videos look worse than the originals. Obviously deinterlacing is required for internet mounting, which is where precision tools like QTGMC come in -- but don't go thinking that QTGMC is perfect. A well-designed player or TV often gets even better results.

That said, other than 'net posting there are reasons why competent deinterlacing is sometimes needed. One common situation is sloppy interlacing and noisy distortions caused by many consumer cameras. If you look at the early frames of your sample, at the right-hand side there's a ramp leading onto the freeway. When played as interlaced, notice the sawtooth edges and aliasing on the edges of that lead-in ramp. In this case, interlacing itself isn't the villain. It's the camera to blame, and aliasing during motion is a common glitch in amateur videos.

To bypass many such distortions, there are two ways to deinterlace. One way is to discard alternate fields to maintain the original 29.97fps frame rate. This method sacrifices 50% of the original temporal resolution, so motion isn't as smooth. But at that frame rate the progressive video can be encoded with interlace flags for valid DVD or BluRay authoring. The other deinterlace method is double-rate deinterlacing that retains all fields and plays at 59.94 fps -- not valid for disc authoring, and not all internet sites will accept it, but you keep the original temporal pacing. The number of frames doubles and file size increases. The attached mp4 uses the first method of deinteralcing and plays as progressive 29.97fps.

Of course the best result is keeping or restoring the original interlaced structure -- that is, if other considerations don't make it unfeasible. Otherwise double-rate 59.94 fps is second best for temporal resolution despite the errors inherent in software deinterlacing.

Another common mistake of amateur photogs is believing that digital video can render jumpy motion as quickly and cleanly as analog video or film. We all wish that were true, but digital video is much slower than analog and is relatively clumsy at rendering motion. Jumpy motion that gives analog little trouble requires higher than normal digital bitrates for satisfactory playback.

Cropping and resizing: cropping off dirty or uneven borders and replacing them with clean new pixels to maintain the original frame size and aspect ratio is the way it's done in Avisynth, usually not altering the original image content. There are strict rules for cropping, as shown in the chart near the bottom of this wiki page for the Crop() function: http://avisynth.nl/index.php/Crop. A purist wouldn't resize to fill the edges, but they have their reasons: resizing has a quality cost, especially for low-resolution sources. Besides, the far edges will be masked by overscan anyway on today's TV's unless overscan is disabled (and, yes, today's TV's do use overscan by default and many won't let you disable it).

As always, there are exceptions. In your sample the left border is so ugly that about 4 pixels defied cleanup and was thus cropped off and replaced with new black pixels. Also, motion is so frantic that a stabilizer was used to calm the image about 4 pixels in each direction, which does cost a few edge pixels for keeping the image centered. But playback looks less annoying. The bottom-border head switching noise is useless, replaced with new black pixels.

Color: shooting video thru glass is one way to get odd-looking video, but tinted glass makes it worse. It's too late to correct that now, of course, but obviously the glass causes a color cast (greenish), distorts other colors, cuts away at detail, reduces saturation, and delivers a convoluted histogram in which correcting one color results in un-correcting some other color. During capture You apparently held input signal levels in check admirably well (congratulations!), even if the second shot has crushed dark greens and a different color balance, thanks to the camera. It's common with VHS and home movies that some segments require different treatment and are processed separately.

The color spectrum is quite nonlinear because of the glass, so I did all color correction in RGB in VirtualDub. You can correct color to a certain extent in Avisynth but it's more difficult to target specific color segments in YUV. The VDub filters and settings I used were saved in a .vcf file, which is attached as "sample1b_VDub_Settings.vcf". You can use a .vcf to load the same filters and settings that I used for the mp4 sample. Download and save the vcf. Load your sample video into VirtualDub, then use "File..." =-> "Load processing settings", locate the .vcf and click "Open". The two filters I used must be in your VirtualDub plugins folder. In case you don't have them, the filters were:
- Color Camcorder Denoise (aka "CCD") v.1.7: http://www.digitalfaq.com/forum/atta...ove-ccd_v17zip
- ColorMill v2.1: http://www.digitalfaq.com/forum/atta...colormill21zip

Before we get to the script (which I'll review in the post following this), and before you go any further, you should build up a toolkit of some of Avisynth's most useful filters. You'll see these filters everywhere, both for videos that need just a little work and for disasters that require heavy hitters. It's the heavy hitters that require extra support files, most of which are standalone filters in their own right.

When you download Avisynth and VirtualDub filters, don't load their .zip or other package directly into your plugin folders. You'll soon have a mess of dysfunctional plugins. Instead, make a main folder for your downloads, then make subfolders for each plugin to contain the filter and its matching documents. Then just copy the relevant plugin into the plugins folder. Be sure to keep a backup of those subfolders in case of disaster. It would be painful trying to relocate all that stuff!

The prime mover everyone wants is the QTGMC deinterlacer, often used as a denoiser, which you'll see referred to as a "smart bobber". That nickname aside, QTGMC can also incorporate a lesser but popular deinterlacer called yadif, which you can use alone or as a quick deinterlace tester. This same yadif is also built-in with Virtualdub.

The QTGMC filter package is in QTGMC_new.zip at http://www.digitalfaq.com/forum/atta...g-qtgmc_newzip. It contains the original QTGMC.avsi plugin plus a dozen support files and all their documentation. It also has links to the required Micro$oft VisualC++ runtimes you'll need for this and many other plugins. The .zip contains a few subfolders and complete setup instructions in two short text files. Don't ignore them. The installation is a simple copy job, not rocket science.

Once you have the QTGMC package under your belt, you have a slew of useful plugins. But there's more. Another package you'll need is the blockbuster MCTemporalDenoise, or MCTD for short (when a filter is so popular that it's known by an acronym, it must have something to offer for the masses). MCTD is at http://avisynth.nl/index.php/MCTemporalDenoise. It requires several support files and auxiliary filters:
- MvTools.dll, or motion vector tools. MVTools is supplied with the QTGMC package.
- MaskTools2, or masking tools. MaskTools2 is supplied with the QTGMC package.

- LSFmod, a sophisticated sharpener. http://avisynth.nl/index.php/LSFmod. This plugin also has some requirements, all of which are filters you'll see everywhere:
- - MaskTools2, supplied with the QTGMC package.
- - RgTools, or the RemoveGrain/RemoveDirt package, supplied with QTGMC.
- - VariableBlur, in VariableBlur_070.zip at
http://www.digitalfaq.com/forum/atta...bleblur_070zip
- - Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) (http://www.microsoft.com/en-us/downl...s.aspx?id=8328)
- - The 32-bit libfftwf3-3.dll Windows system library, supplied with QTGMC.
- - aWarpSharp2 in aWarpSharp2_2015.zip at
http://www.digitalfaq.com/forum/atta...sharp2_2015zip.
- - Microsoft Visual C++ 2008 SP1 Redistributable (vcredist_x86.exe) at http://www.microsoft.com/en-us/downl....aspx?id=26368.

- FFT3DFilter and FFTW system library, supplied with QTGMC.
- TTempSmooth at http://avisynth.nl/index.php/TTempSmooth.
- Microsoft Visual C++ 2015 Redistributable (x86 / x64), links supplied with QTGMC.
- Microsoft Visual C++ 2012 Redistributable (x86 / x64), links supplied with QTGMC.
- Microsoft Visual C++ 2005 Redistributable (x86 / x64), links supplied with QTGMC.
- DeBlock.dll to smooth macroblocks and several compression artifacts, in DeBlock_13.zip at
http://www.digitalfaq.com/forum/atta...-deblock_13zip.
- DeBlock_QED.dll in DeBlock_QED.zip at
http://www.digitalfaq.com/forum/atta...deblock_qedzip.
- DctFilter denoiser in DCT_Filter_0150.zip at
http://www.digitalfaq.com/forum/atta...filter_0150zip.
- EEDI2, another deinterlacer, supplied with QTGMC.
- SangNom, an anti-alias filter, at http://avisynth.nl/index.php/SangNom.
- GradFun2dBmod, to prevent hard banding edges and macroblocks, in GradFun2Dbmod.zip at
http://www.digitalfaq.com/forum/atta...adfun2dbmodzip.
- GradFun2DB.dll original, included with the above GradFun2Dbmod.zip.
- AddGrainC, included with QTGMC.

Whew! That batch will set you up royally with a lot of good plugins you'll never have to find again. They'll be handy with noisy home-made videos, which are very troublesome indeed.

Now on to something challenging that puts all of them to use......next post.


Attached Files
File Type: vcf sample1b_VDub_Settings.vcf (983 Bytes, 38 downloads)
File Type: mp4 Sample1b_29.97p.mp4 (7.36 MB, 85 downloads)
Reply With Quote
The following users thank sanlyn for this useful post: homefire (11-30-2019), Mejnour (12-21-2018)
  #3  
11-05-2018, 06:11 PM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,307 Times in 982 Posts
Your avi sample is a proper capture in terms of format and other factors. It's a low-detail video, likely the camera's fault and the tape used. But it also has a fairly low noise level for home-made video. The bug in the ointment is the magenta stain, a glitch present with many tapes.

Below is the script I used for the mp4 rework. I've included some more links for popular plugins and for documentation on some Avisynth functions. Sometimes the docs can be pretty technical, but you only have to get a general idea of what's going on. A lot of the programming involved is beyond most users, so don't feel intimidated.

Code:
# --- alter the path below to match your system --- #
Import("D:\Avisynth 2.5\plugins\Chubbyrain2.avs")
Import("D:\Avisynth 2.5\plugins\Stab.avs")
Import("D:\Avisynth 2.5\plugins\LimitedSharpenFaster.avs")

# --- alter the path below to match your system --- #
AVISource("E:\forum\faq\rks84093\Sample 1b.avi")
AssumeTFF()
ConvertToYV12(interlaced=true)
ChromaShift(L=-4,C=-4)

# --- special routine for the magenta left border -- #
separatefields
a=last
 
a
chubbyrain2()
smoothuv(radius=7)
MergeChroma(MCTemporaldenoise(settings="very high"))
SmoothTweak(hue2=-4,hue1=-6)
crop(0,0,-688,0,true)
b=last
 
overlay(a,b)
weave()
# =-- end of left border routine -- #

QTGMC(preset="super fast",EZDenoise=8,denoiser="dfttest",ChromaMotion=true,\
   border=true,ChromaNoise=true,DenoiseMC=true,GrainRestore=0.3,FPSDivisor=2)
Stab()
DeHalo_Alpha()
LimitedSharpenFaster()
AddGrainC(1.25,1.25)
Crop(20,2,-8,-8).AddBorders(14,4,14,6)
ConvertToRGB32(interlaced=false)
return last
script details:

The script begins with three Import() statements that import the code for three Avisynth plugins that are in .avs script format. Many popular filters are published in this format, for reasons best known to the developers. Plugins are also published as dll's and as .avsi files, which are loaded automatically when your script calls for them. Plain text .avs files must be imported explicitly, or you can copy their entire contents into your own script. But be careful doing that: QTGMC and many other plugins have hundreds of lines of code!
http://avisynth.nl/index.php/Internal_functions#Import

AviSource("E:\forum\faq\rks84093\Sample 1b.avi") opens and decodes the video file. AviSource can do this with your .avi sample if the video and audio codecs you used are present.
http://avisynth.nl/index.php/AviSource.

AssumeTFF()
Because deinterlacing will be used later, you must tell AVisynth what field order priority will be used. Avisynth's default is BFF (Bottom Field First), which is incorrect for your sample and will cause problems. AssumeTFF() = Top Field First, the usual field parity for most videos except certain DV formats.
http://avisynth.nl/index.php/Parity.

ConvertToYV12(interlaced=true)
ChromaShift(L=-4,C=-4)

You captured correctly using YUY2 color for VHS, but the filters being used here work with YV12. There is a chroma difference between YUY2 and YV12, but Avisynth manages colorspace conversions with greater precision than you'll find in most editors (in particular, NLE's such as Adobe aren't so careful). Avisynth filters can work with many color systems. You'll almost always use YUY2, YV12, or RGB. In any case, you must tell Avisynth whether the current state of your video is interlaced or not. At this point in the script the video is still interlaced, so we add "(interlaced=true)". http://avisynth.nl/index.php/Convert.

The video has some color shift, with chroma displaced outside an object's edges. You can see the shift in the orange of the traffic sign along the road's right edge and somewhat on the hood of the car. ChromaShift makes a correction of 4 pixels upward (L=-4) and 4 to the left (C=-4). The syntax for signals you can use to direct ChromaShift are on the filter's wiki page and in its documentation: http://avisynth.nl/index.php/ChromaShift. In YUV colorspaces ChromaShift must use groups of at least 2 pixels. The image below shows the original orange chroma shift on the road sign (left), and the result of corrections in the mp4 rework (right).



# --- special routine for the magenta left border -- #
separatefields()
a=last

These lines begin a special routine for a special problem: the strong magenta stain on the left border. SeparateFields() is a form of deinterlace, in which the two half-height fields in the interlaced frame are separated into a non-interlaced stream. This new stream of fields is assigned the name of "a", which is purely an arbitrary name that I invented. The "a" is used to name the new video that was created from the "last" step the script performed, which was to separate the interlaced fields.
http://avisynth.nl/index.php/SeparateFields

a
chubbyrain2()
smoothuv(radius=7)
MergeChroma(MCTemporaldenoise(settings="very high"))
SmoothTweak(hue2=-4,hue1=-6)
crop(0,0,-688,0,true)
b=last

The "a" is now mentioned explicitly to focus processing on the new "a" video. The first filter used on "a" is an old standy de-rainbow cleaner, chubbyrain2. The origin of its name was lost years ago. It's followed by another rainbow cleaner, SmoothUV. It's followed again by an industrial-strength denoiser (MCTemporalDenoise, or MCTD for short) which works only on the chroma factor because it works within bounds of the MergeChroma() function. MergeChroma takes the work MCTD does on the chroma (color channels)and joins it with the luma (luminance channel) from the original "a" video. Otherwise, MCTD working on this soft video would soften it far too much, especially since MCTD is used here at full strength. This illustrates another important characteristic of YUV colorspaces: you can work on luma and chroma separately, which you can't do with RGB.

We now have an "a" video that has been de-rainbowed somewhat, but some facets of the color balance have changed so we must do a bit of color matching to match the cleaned portions with the background colors. The filter for this is SmoothTweak, which is a function in the SmoothAdjust.dll plugin. It makes a couple of hue changes to further reduce remnants of the the magenta stain, adding some slight green (Hue2) and some slight yellow (hue1). Now that we have this cleaned image, we really just want the portion of the image that contained the magenta stain, not the entire reprocessed frame. So Crop() is used to chop off the right-hand 688 pixels, and we're left with the 32 left-hand pixels that have been cleaned. This narrow strip of video is now named "b", which is another name I used off the cuff.

chubbyrain2.avs is at http://avisynth.nl/index.php/ChubbyRain2. It requires a support file called BiFrost, which you can get in Bifrost_v2.zip at
http://www.digitalfaq.com/forum/atta...-bifrost_v2zip. In turn, BiFrost requires another old standby, CNR2. You can get CNR 2 at http://avisynth.nl/index.php/Cnr2. The last support file you'll need for chubbyrain2 and its mates is MaskTools2, which is already supplied with the QTGMC package mentioned earlier.

SmoothUV.dll is a chroma cleaner available at http://avisynth.nl/index.php/SmoothUV.

Links for MCTemporalDenoise (MCTD) and its support files are in my previous post.

SmoothTweak is a function in the popular SmoothAdjust plugin, which has several functions for massaging luma and chroma levels. Complete instructions are in its readme.txt file. you'll find SmoothAdjust used in many posted projects. It comes only from a doom9.org post which has been going down a lot lately, so the complete plugin package is attached to this post as SmoothAdjust320.zip.

overlay(a,b)
weave()

The script has now created two versions of the video: an "a" version that represents the original input, and a cleaned and cropped "b" version that consists of the 32 left-hand pixels of the filtered version. The overlay() function will overlay the narrow left-hand "b" onto the full-sized "a". This move covers up a lot of the magenta stain, although at this point it's not 100% cleared. The next step is to restore the original interlaced structure by using weave() to re-weave the separated fields back into interlaced frames.
See Overlay() at http://avisynth.nl/index.php/Overlay.
See Weave(0 at http://avisynth.nl/index.php/Weave.

QTGMC(preset="super fast",EZDenoise=8,denoiser="dfttest",ChromaMotion= true,\
border=true,ChromaNoise=true,DenoiseMC=true,GrainR estore=0.3,FPSDivisor=2)

This statement deinterlaces using QTGMC with some of its defaults overridden for extra chroma noise cleaning. QTGMC's "super fast" default can be used all by itself by typing "QTGMC(preset="super fast") and let QTGMC let go at default settings, but super-fast doesn't do much cleaning. On the other hand you could use one of QTGMC's slowest presets (QTGMC(preset="slow") and clean up a lot, but IMO that would be overkill for this video and it has so little fine detail that it would look seriously over-filtered and somewhat like jello.

EZDenoise activates extra cleaning that isn't normally done at the super-fast preset. "dfttest" is specified as the denoiser (dfttest comes with the QTGMC package). ChromaMotion=true and ChromaNoise=true tell QTGMC to clean chroma noise as well as luma noise, border=true tells QTGMC to use special resizing so that top and bottom borders don't get too thick/thin or flicker after half-sized fields are resized into full-size frames. GrainRestore=0.3 restores just a small amount of the original grain to prevent an over-filtered look, and DenoiseMC activates motion analysis for denoising. Finally, FPSDivisor=2 drops alternate fields to maintain 29.97fps playback, and does it while interpolating new progressive frames from the original interlaced fields. QTGMC's presets and other parameters are explained in the documentation html and in the avsi script itself, both of which come with the QTGMC package described and linked in the previous post.

With special QTGMC denoising enabled and with MCTemporalDenoise used earlier at full strength, this script runs very sloooowly, poking along at about 3fps on my 3.4GHz i5 system. There's really no way around this slow performance because of the unusual noise problems. Without MCTD working on that stain at full power and with less denoisinbg by QTGMC, this script would process at about 10 to 15fps.

Stab()
This is an optional step, but it helps to effect a bit of mild stabilization in face of so much jumpy camera motion. For one thing, it will help the filters that follow the stab() plugin. You can omit this step if you want. The Stab.avs plugin is in stab.zip at http://www.digitalfaq.com/forum/attachment.php?attachmentid=8698&stc=1&d=153144248 3. Stab() requires the DePan tools of Depan and DepanEstimate in DePan_Tools_1_13_1.zip at
http://www.digitalfaq.com/forum/atta...1&d=1531396979.

DeHalo_Alpha()
LimitedSharpenFaster()
AddGrainC(1.25,1.25)

There are some mild bright sharpening halos along the edges of some verticals, such as posts on the roadway. DeHalo_Alpha is used here at default to avoid too much softening. Edge halos are a common problem with analog tapes. LimitedSharpenfaster is a favorite sharpener that doesn't overly enhance edges or cause new sharpening halos. It's used here at mild default settings. AddGrainC comes last, to add a layer of very fine film-like grain to avoid a waxy, over-smooothed look.

DeHalo_Alpha in its original .avsi format with its html documentation is attached below as DeHaloAlpha.zip. It requires MaskTools2 and RemoveGrain (part of RGTools), both of which are in the QTGMC package

LimitedSharpenFaster.avs and its text file doc are in LimitedSharpenFaster.zip at
http://www.digitalfaq.com/forum/atta...arpenfasterzip. It requires MaskTools2 and Rgtools, both of which are in the QTGMC package. It also requires aWarpSharp, which is one of the support files for MCTemporalDenoise discussed in the previous post, or in aWarpSharp2_2015.zip at
http://www.digitalfaq.com/forum/atta...sharp2_2015zip.

AddGrainC comes with the QTGMC package.

Crop(20,2,-8,-8).AddBorders(14,4,14,6)
This Crop() statement crops borders and adjusts new borders to center the core image. The right-hand border has a bright halo along its edge, so that's part of the image that should be cropped off. On the left-hand border stain, some of the pink striped noise remains and is too dark for any of the filters used, so a few extra pixels have to be dropped from the left-hand side. Adding black border pixels ensures that all black edges around the image will blend with the black backgrounds on monitors and TV's the same way a 4:3 broadcast or DVD would blend. There was also an extra 2 pixels of cropping on 2 edges for the Stab() stabilization step, which shifted the image and borders inside the frame. AddBorders() adds new black pixels in this order: 14 at the left, 4 across the top, 14 at the right, and 6 along the bottom, thus restoring the frame to 720x480.
Crop(): http://avisynth.nl/index.php/Crop
AddBorders(): http://avisynth.nl/index.php/Crop

The resized 4:3 images below show how the crop and border functions worked to omit the worst part of the pink stain and to rebuild the frame to its original 720x480 dimensions.

(A) original frame with left border stain and 1-pixel bright halo on right border, plus head-switching noise across bottom


(B) stain filtered and partial color correction.


(C) final frame with stain, color, mild stabilizing, and border correction.


ConvertToRGB32(interlaced=false)
return last

The last two lines prepare the output for RGB filters in Virtualdub and tell Avisynth to return the results of the "last" step performed, which was conversion to RGB. As usual, you must specify the interlace state when making conversions. At this point the output video was not interlaced, so "interlaced=false" is included.

The VirtualDub filtering that I applied to the output of this script was done while VirtualDub was running the script. The filters used and their settings were saved in a VirtualDub .vcf file, which was attached to my previous post and is described there.

For more details about scripting and for some pics and demos of using various VirtuaLDub filters, browse the project postings in an older thread, such as VirtualDub filter details in post #19, color and levels correction in post #17, and correcting camera exposure errors in post #21 of that thread.


Attached Images
File Type: jpg shift and color correction.jpg (57.7 KB, 505 downloads)
File Type: jpg A_ stain - original.jpg (31.5 KB, 501 downloads)
File Type: jpg B_ stain filtered and partial color correct.jpg (32.0 KB, 509 downloads)
File Type: jpg C_ stain with color and border correction.jpg (33.5 KB, 511 downloads)
Attached Files
File Type: zip SmoothAdjust320.zip (1.28 MB, 29 downloads)
File Type: zip DeHaloAlpha.zip (6.1 KB, 38 downloads)
Reply With Quote
The following users thank sanlyn for this useful post: Delta (04-27-2021), homefire (11-30-2019), juiceycow (03-02-2021), lordsmurf (11-09-2018), wimvs (11-06-2018)
  #4  
11-06-2018, 04:47 PM
rks84093 rks84093 is offline
Free Member
 
Join Date: Oct 2018
Posts: 10
Thanked 0 Times in 0 Posts
Wow! Very thorough. Thank you 1000 times! Based on feedback from this forum, we've decided to create DVD compilations from the 60 ninety-minute VHS tapes -- dropping a lot of very boring footage -- who really thought anyone would like to see 15 minutes of highway travel?????

With this in mind, some questions:

Why fix the stain rather than just writing over it with a black border? Its great education (thanks!), but what if I just AddBorders() and maintain the proper aspect... Is there a downside to such an approach?

I won't be de-interlacing, but should I still DeNoise? If so, should I use the QTGMC scripts or other?

As far as encoding the MPEG-2 -- I would probably use TMPGenc unless you steer me elsewhere. Don't know if it is worth the time investment to encode with two-pass VBR. What do you think?

Also, I'm having trouble getting Avidemux to read the Huffyuv files created by VDub -- Lagarith was fine. I was using it to replace bad audio tracks with edited WAV files from Audacity, but now I'm a bit stuck on finding a tool that works. Maybe TMPGenc will work -- I'll have to look. I don't have a lot of this audio work to do, maybe 15% of the tapes. Your thoughts?

Maybe I should ditch the Huffyuv and go back to Lagarith? Lagarith was working but I switched because most forum wizards seem to be using Huffyuv.

Thank you!
Reply With Quote
  #5  
12-21-2018, 09:59 AM
Mejnour Mejnour is offline
Free Member
 
Join Date: Dec 2011
Posts: 277
Thanked 12 Times in 12 Posts
Thanks Salyn for the huge work,

I will take this thread as my reference to begin working with virtualdub and avisynth as editing tools.
Reply With Quote
  #6  
12-21-2018, 11:23 AM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,307 Times in 982 Posts
Quote:
Originally Posted by sanlyn View Post
The QTGMC filter package is in QTGMC_new.zip at http://www.digitalfaq.com/forum/atta...g-qtgmc_newzip. It contains the original QTGMC.avsi plugin plus a dozen support files and all their documentation. It also has links to the required Micro$oft VisualC++ runtimes you'll need for this and many other plugins. The .zip contains a few subfolders and complete setup instructions in two short text files. Don't ignore them. The installation is a simple copy job, not rocket science.
Unfortunately I've discovered that the QTGMC_new.zip download was not replaced with all of updated support files. There's a newer version with updated support files for QTGMC v3.32 here: http://www.digitalfaq.com/forum/atta...kagenov2017zip.
Reply With Quote
  #7  
01-09-2019, 04:35 PM
Mejnour Mejnour is offline
Free Member
 
Join Date: Dec 2011
Posts: 277
Thanked 12 Times in 12 Posts
Quote:
Originally Posted by sanlyn View Post
Unfortunately I've discovered that the QTGMC_new.zip download was not replaced with all of updated support files. There's a newer version with updated support files for QTGMC v3.32 here: http://www.digitalfaq.com/forum/atta...kagenov2017zip.
Thanks Sanlyn,

I am trying to learn avisynth (QTGMC) with the script that you have explain above. Now I just realize that I downloaded avisynth 2.6 but apparently I cannot find any of the plugings in the avisynth folder "stab.avs" or "limitedsharperfaster.avs".

Before getting I just wondering if there is a "better" avisynth version with a bunch of plugins that I should download (a little bit like the virtualdub 1.9.11 that came with a bunch of recommanded filters.

Thanks
Reply With Quote
  #8  
01-09-2019, 11:15 PM
sanlyn sanlyn is offline
Premium Member
 
Join Date: Aug 2009
Location: N. Carolina and NY, USA
Posts: 3,648
Thanked 1,307 Times in 982 Posts
We all wish that every version of Avisynth could be packaged with a set of plugins, but Avisynth now comes in a dozen geeky versions (some of which have the same names but different code and download links !!) and it's getting to be a hassle. Most people still use tried-and-true Avisynth 2.6 and many older standbys such as the original QTGMC, MCTemporalDenoise, or Temporaldegrain, etc. The download links in this thread could serve as a fairly comprehensive collection of avs 2.6 plugins that are still in popular use and haven't been gummed up with new supercharged versions that explode in many users' setups.

You can play with the 64-bit updates and hyper Avisynth versions all you want. Even the old-timers have a tough go with them, and doom9 posts are now mostly updates to updates that have been updated for the debugged versions of the previous updates. As a former programmer I don't see anything wrong with developing new-and-improved toothpaste versions, but developers ought to make sure the new versions don't melt your tooth enamel before the products are released. During the past year there have been seven new versions of masktools alone, which is ridiculous.
Reply With Quote
The following users thank sanlyn for this useful post: sirbyron (01-12-2019)
  #9  
01-09-2019, 11:28 PM
lordsmurf's Avatar
lordsmurf lordsmurf is offline
Site Staff | Video
 
Join Date: Dec 2002
Posts: 13,503
Thanked 2,448 Times in 2,080 Posts
You really cannot go wrong with official original Avisynth 2.6.

Impatience most breeds the others. The MT version is what I have installed, but often can't use the MT switches because of weird stuff in the output video. Forcing the RAM doesn't always work.

Avisynth+ x64 is nice, but only for some filters. Mostly to make QTGMC faster, even more than MT (but without errors), or to use special filters like KNLmeansCL.

FYI, this is why I often process in multiple steps. Intermediary with few filters, start over. I don't have the stupid "you must do everything in one script" mentality.

Yeah, I notice that about doom9 threads myself, with most being about problems and updates, far less about actual usage these days.

I was making an Avisynth install/usage guide until I saw +x64, and it complicated matters. I still intend to make that guide, finish it, but am still sidetracked on other parts of the site right now, few other guides. It all takes time.

- Did my advice help you? Then become a Premium Member and support this site.
- For sale in the marketplace: TBCs, workflows, capture cards, VCRs
Reply With Quote
The following users thank lordsmurf for this useful post: sirbyron (01-12-2019)
Reply




Similar Threads
Thread Thread Starter Forum Replies Last Post
Avisynth deinterlace, improve some quality, VHS captures? mlesic Restore, Filter, Improve Quality 22 10-20-2018 03:30 PM
How much will SSD improve video editing performance? hopkins802 Computers 9 04-26-2016 01:19 AM
Improve quality of video already transfered from VHS to DVD? rocko Restore, Filter, Improve Quality 1 04-04-2015 06:08 AM
Is it possible to improve that Rare Concert video lounisproduction Restore, Filter, Improve Quality 1 01-31-2010 08:47 PM
Improve quality of digital 8 video klassal Restore, Filter, Improve Quality 3 12-10-2009 02:11 AM

Thread Tools



 
All times are GMT -5. The time now is 11:10 AM