I guess I can upload a snippet if that will help determine which settings I should use. Will do that soon...
Understood, but of course I will be keeping an interlaced master anyway that's in 720x576. To make it more watchable and a better framerate, I am deinterlacing and upscaling, and just trying to keep it as accurate to the source while doing so. Might do a second copy that is a lot more processed (sharpened, maybe even AI upscaled etc.) sometime. My logic for upscaling, is that I reckon most TVs, software players etc. will not upscale the 720x576 in the best way while watching, whereas if I scale it myself, I can choose something high quality like Spline64 and then the players wouldn't have to do their own upscaling on the fly. Or am I being silly here.
[QUOTE=Sharc;2788426]
Signalling: Means the encode has to include instruction for the player how to decode it (means applying the same color matrix as the source). In the hope that the decoder respects these instructions.I have no idea about colourspace, never thought about that before. What does 'signaling' it do and how do I do that? (I assume I need it to retain a 601 colourspace after conversion?)
Conversion: Means you convert the colorspace to the "HD" standard (720+ pixels vertical) so the decoder - when using its "HD defaults" (709 colorspace) - will return the correct RGB colors.
Leave as is, and revert when you have doubts about your encode, or post your full script so someone may comment.
Welp seeing as Alwyn just told me how to do the 709 colourspace, and it seems easy, I guess there's no reason for me not to do it now
Will post my code here soon.
Almost. I am still figuring out if I need to crop to 704 or 702. I want the most accurate proportions, which I believe means doing 702 (for my 1440x1080 upscale). When I tried to preview this though, AvsPmod threw an error I don't understand: "YUV Image can only be cropped by Mod 2 (left side)". So I might have to just do 704. Not sure it really matters or if there's any other downsides doing 704, and I doubt I'd notice the imperfect proportions...
+ Reply to Thread
Results 91 to 120 of 165
-
Last edited by WhiteboyUltima; 16th Dec 2025 at 11:23.
-
Reread post#79:
Crop in even numbers (=mod2).
The reason is the color subsampling 4:2:2. Another subject of its own you may want to study in future. For now just believe it.
No, as has been commented a couple of times. Neither 702 nor 704 are 100.0000% accurate, but one cannot crop in fractions of pixels. So understand it as rounding issues, depending how these numbers have been developped. Focus on the essentials now.Not sure it really matters or if there's any other downsides doing 704 -
-
At last, I've made a 2 min sample capture (no audio) from my 40 minute birthday tape, for context. It's probably longer than it needs to be but shows a bit of variation of lighting, motion etc. This is my AmarecTV capture without processing (so still interlaced), saved using HuffyUV, from my Pana ES35V S-Video and GV-USB2. The S-video of course, removed Hanover Bars (the actual topic of this thread in case we've forgot!)
Does the footage look about right? Any glaring issues?
[Watching in the google drive video player is AWFUL, please download the file instead]
https://drive.google.com/file/d/161Ul8qEHf--3GVfXB4oH9VOTFyV0BYv3/view?usp=sharing
My code for this birthday one is going to be something like:
I will save in VDub as 709 colourspace, compressing with x264 to 8-bit H.264 mp4 AAC audio. I'll have to play with the strength/options of the compression, anyone got a good suggestion for that?Code:AVISource("G:\Video\Birthday Capture.avi") AssumeTFF() QTGMC( Preset="Fast", SourceMatch=3, Lossless=2, Sharpness=0.1, MatchEnhance=0.75) #I will play with the sharpness setting, hopefully other settings are ok Crop(8, 0, -8, -0) #Cropping in even numbers. This crops the video to 704x576, removing black borders on sides and giving a more accurate final aspect ratio when upscaled to 1440x1080 compared to keeping 720 width (I think???) Lanczos4Resize(1440, 1080) #Might do Spline64 or some other resize filter, need to do more research
This is 1 tape of 3, from about 1989. The other tape is from the year 2000 so even cleaner. And the final tape is a wedding from 1983, footage from that is obviously nosier and not as smooth, more film artifacts etc. and half of that video is just a slideshow of photos. So I am not sure which QTGMC settings to tweak for that one (I assume it would be different from the other 2). I can post a snippet of that video too if required. -
The capture is correct interlaced YUV 4:2:2, TFF. So that's good. Congratulation. Your script is ok. You could add as last line at the end ConvertToYV12() for best encoder and playback compatibility. It converts YUV 4:2:2 to YUV 4:2:0 which is used by DVD's and BluRays.
These indoor shots have difficult lighting conditions. Your capture has clipped/crushed brights where all details are lost and can't be recovered in post processing. I don't know how much this is due to the camera's overexposure or how much is due to the capture setup/settings. In a next step you may want to learn about your capture devices (GV-USB2, AFAIK) proc-amp settings and see if you can recover some of the brights. If the clipping is due to camera overexposure and burned onto the tape there is nothing you can do.
Capture levels adjustment is another topic of its own. There are plenty of posts in the forum about it. I do it via AmarecTV and Avisynth's histogram and waveform monitor functions. However, user Alwyn has a guide how to do it in Vdub which you may find more convenient. Check it out. At this stage it's more important than fiddling with QTGMC settings or worrying about 5 digit 4:3 accuracy, IMO. No critism, just a hint. Keep an eye on it.Last edited by Sharc; 16th Dec 2025 at 14:26.
-
That's good feedback thanks... don't think I wanted to go down the rabbit hole of worrying about colours/levels etc. but that's good insight. I will probably just watch the tape on my TV to see if the crushed brights are baked into the tape i.e. from the video camera. If not, and if it shows a lot more detail than my capture, then I will consider playing with proc amp settings (I just had them on default) and probably go the VDub route and follow Alywn's guide...
As for adding the ConvertToYV12() line after resizing. I thought that I am already converting to YUV 4:2:0 by selecting these options in VDub (while also changing colourspace to 709)? So this line won't be required if I do that right?
[Attachment 90290 - Click to enlarge] -
Assuming your TV settings (brightness and contrast) are properly set, or you may end up in wrong conclusions. TV defaults are often made for the shops. You may have to reduce contrast to see the details in the brights.
Usually I have to reduce the proc-amp contrast by a few notches for the GV-USB2 to prevent clipping or having "too much" in the 236....255 luma range.... then I will consider playing with proc amp settings (I just had them on default)
The source for the encoder (=output of your current script) is YUV 4:2:2. The output (destination) of the encoder should be YUV 4:2:0 (=YV12). Someone more familiar with Vdub may comment its settings. I prefer to do the conversions in the script, but double stitching should do no harm. Just avoid conflicting settings or one reversing the other.As for adding the ConvertToYV12() line after resizing. I thought that I am already converting to YUV 4:2:0 by selecting these options in VDub (while also changing colourspace to 709)? So this line won't be required if I do that right?Last edited by Sharc; 17th Dec 2025 at 02:54.
-
I've now watched back my tapes on my TV, playing with the TV's contrast and brightness settings. Side by side with my captured footage (albeit viewing on different displays), it's obvious the camera itself had some overexposure as it's not got any more detail than my capture 99% of the time. There are very slight differences in particular bright/white areas of certain scenes where the capture is more blown out than the tape, but it's only a little and there are very rarely lost details, and when there are it is very slight and not in important areas. E.g. in your example screenshots with highlighted areas, those areas don't look any better in the original tape.
In fact, the capture brings out better details in many things e.g. you can see more of people's faces in less well lit rooms, and for darker scenes where playing the tape on my TV is just a muddy black void e.g. someone's black clothing or a black background, watching my capture you can actually see the texture of the clothing and see things like brown furniture that the tape doesn't show at all. I guess that's the proc amp brightness working well, or maybe my TV just sucks... it's a modern-ish Panasonic LCD that I am very happy with but it's no OLED. Also, the colours look nicer overall on my capture - a little more saturated than the tape but not overdone and the wife and I prefer it.
So I don't feel that re-capturing would be worth it at this stage really. Playing with capture settings could perhaps make some things look better while at the same time making other things looks worse - not something I want to mess with as I'm very happy overall with my captures. Might be something to consider for future captures of other tapes, though.
These are the defaults - not sure what yours defaulted to (might vary by date, firmware, version etc.). As you can see (if I'm interpreting it correctly and 128 is the 'middle' value for most attributes), the contrast comes already slightly reduced, and a slight amount of sharpening is applied. Perhaps if I ever capture tapes again, I'll reduce contrast little more.
[Attachment 90293 - Click to enlarge]
Cool, yes Alwyn already mentioned (well, screenshotted) using VDub to change colourspace to 709 and select YUV420 (YV12). If I use the script ConvertToYV12(), it seems like I would have to select 'No change' in the VDub Pixel settings to save processing time from doing a redundant second conversion to the same thing (and still select 709 colourspace). Is that right @Alwyn? I might as well convert to YUV420 in the script rather than VDub if that's the case, since that will also mean I can preview the colour conversion in AvsPmod.Last edited by WhiteboyUltima; 17th Dec 2025 at 10:17.
-
I'm not a wizz on this colour stuff, but yes, if you know your output is going to be HD ie 720 or above, you can change to 709 in the script. My workflow is a little different to some here: I only use AVISynth for deinterlacing and sometimes fixing other tricky issues but then export in lossless AVI and then do all my work in my NLE. It changes the colour automatically if I export to an HD size. On the odd occasion where I do it all in VDub, I just change the colour on export to HD as I did above in my screenshot.Originally Posted by WhiteboyUltima
-
Agree with your conclusion. Apart from the brights issues for these critical lighting conditions your capture is very clean. The tape and player are in good condition it seems, no signs of glitches, dropouts, comets etc. Good to go. Proc-amp setting (contrast) may be revisited for future (daylight) captures. I usually reduce it to from the default 105 -> ~90....95. Depends on tape and VCR though.
-
As Sharc says, it can depend on the tape. My YT video shows how to use the Brightness and Contrast controls in the ProAmp to set the levels. IIRC, I have had a capture where my GV Contrast is way up around 140.Perhaps if I ever capture tapes again, I'll reduce contrast little more.
https://www.youtube.com/watch?v=XYlNS3s0ZN0
You'll quickly get the hang of what "looks right", but the Histo is a good guide, especially when starting out. -
-
I'm leaning towards just doing both the colourspace conversion (to 709) and converting from YUV 4:2:2 to YUV 4:2:0 in VDub's Pixel settings, as per your screenshot earlier. Sharc suggested doing it in script - seems to me there's no real difference but I've taken a liking to VDub.
Thanks for the video link, I watched it, good to know for future ref. Simpler than I thought too, but I guess the tricky part is endlessly trying different settings until you're happy - I don't fancy doing that haha. Thanks for all your help mate!
I've certainly changed my workflow from what I started with initially (doing the capture and everything else including YADIF in OBS Studio, and using composite connection through a HDMI capture device). Now I use S-video with Diga Stabilisation, GV-USB2 and AmarecTV for capture, AvsPmod to write and test Avisynth scripts to deinterlace, crop, and resize, and finally VDub again to do any trimming and run the script and encode to mp4. What a massive difference. That guide I initially wrote to myself in the beginning needs a complete overhaul
-
That's fine. I would just check the "Source..." setting as well. It should be YUV422 for your script. I think Vdub sets it automatically though.
[Attachment 90301 - Click to enlarge]
Edit1:
Hmmm.... now thinking about it, I am not sure whether Vdub really converts to 709 or only flags it as 709. If it just flags it should be left at 601, otherwise it gets wrongly flagged - or do the conversion to 709 in the script.
Maybe someone more knowledgeable with Vdub may clarify this.
Anyway, if it is wrong it is usually not catastrophic (for homemade VHS videos).
Edit2:
Doing a colorbar test indicated that it converts and flags correctly. So yes, select Rec. 709 (HD) as per screenshot if you upscale.Last edited by Sharc; 18th Dec 2025 at 05:29.
-
-
I've never fiddled with the left hand side of that screen. AVI captures always come in as 422 and x264 always export as 420.
-
Always? unless one captures differently, e.g. as RGB etc. Most codecs have a format setting option. And there is the Decode Format .... menu in Vdub which allows to set/force the decompression format (including 'Autoselect') and save as new defaults.
Always? Vdub initial default yes, but one can encode 4:2:2, 4:4:4, RGB, B&W as well. And one can set and save new defaults. Check out the encoder configuration.and x264 always export as 420.Last edited by Sharc; 18th Dec 2025 at 07:01. Reason: details added
-
Ok ok, replace "always" with "normally, if you don't fiddle with anything (why would you)". x264 as 444? Really? Why?
-
A while ago all your Huffyuv captures came out as RGB for whatever odd reason. You said you can't change it to YUV, do you remember?
RGB (captures) may be converted to YUV 4:4:4 for archiving or for YUV master copies for example.
Color subsampling is a "lossy" process - although one may not readily see the losses. Also keep in mind that x264 has been developped as a general purpose encoder rather than for the encoding of low quality (S-)VHS video only - for which anything beyond (8bit) 4:2:2 is pretty much ovekill given the (S-)VHS native analog chroma bandwidth constraints.Last edited by Sharc; 18th Dec 2025 at 09:30. Reason: additions
-
I don't use HUFF.A while ago all your Huffyuv captures came out as RGB for whatever odd reason. You said you can't change it to YUV, do you remember?
Not "normal".RGB (captures) may be converted to YUV 4:4:4 for archiving or for YUV master copies for example.
Not relevant. Normal x264 (if you don't fiddle) is 420.Color subsampling is a "lossy" process - although one may not readily see the losses. Also keep in mind that x264 has been developped as a general purpose encoder rather than for the encoding of low quality (S-)VHS video only - for which anything beyond (8bit) 4:2:2 is pretty much ovekill given the (S-)VHS native analog chroma bandwidth constraints.
I don't understand why you latch onto these fringe cases and harp on about them. For vast majority of users who don't mess with the settings, AVI captures are 422 and x264 exports are 420 and don't need to be anything different. That was my point to Whiteboyultima. -
You did an failed, got stuck to RGB and then gave up. @Whiteboy did and succeeded - as many others.
Not "normal".Your world of video is "normal"?Normal x264 (if you don't fiddle) is 420.
Because YOU have been asking for the why and when. I tried to give you some answers - my bad, obviously, I regret.I don't understand why you latch onto these fringe cases and harp on about them.
I wouldn't dare to assume what the "vast majority of users" is doing. Some may mess and learn, some may never learn. One should just know what one is doing - even when using a GUI like Vdub. I gave the hint to convert the color space when upscaling and made some test with Vdub to be sure that it is done correctly. You blindly trust in some defaults - I prefer to understand (and sometimes try to explain) the context. That's all.For vast majority of users who don't mess with the settings .....Last edited by Sharc; 18th Dec 2025 at 17:38.
-
Getting back to things... I've thought maybe doing some light de-noising might be beneficial especially considering I'm upscaling my footage.
Would adding these to my QTGMC process work well?
Keep in mind my other QTGMC settings (which may slightly change) are: Preset="Fast", SourceMatch=3, Lossless=2, Sharpness=0.1, MatchEnhance=0.75.Code:EzDenoise=1.5, DenoiseMC=true
Google AI says that my SourceMatch=3 and Lossless=2 settings might fight against the denoise if that value is too high, so somewhere in between 1 and 2 is recommended. Also, I might bump up my Sharpness from 0.1 to something as high as 1.
What is the general best approach here? I want to achieve something that looks as natural/close to the source as it can, while also removing some noise and making things look a little less blurry (but not anywhere near 'HD' levels of sharp. If I wanted to make everything look 'modern'/4k, I'd run some AI restoration software over the whole thing instead).
Also, I am torn between Lanczos3 and Spline64 for the upscale - what are your recommendations there?Last edited by WhiteboyUltima; 18th Dec 2025 at 20:49.
-
A "general best xy" does not exist.
Maybe read through this. It is more enlightening and educational than some AI babble which is basically a distillate of right and wrong statements made in the past. AI has no eyes for your footage. Make your own distillate which suits you.
https://forum.videohelp.com/threads/404164-Why-is-QTGMC-so-destructive-and-why-do-so-m...l-recommend-it
For VHS you may try something simple like
Code:QTGMC(preset="fast") #deinterlace MCDegrainSharp() # noise reduction and sharpening
Search, read, experiment, learn, and trust your own eyes. Yes, it is tedious and time consuming, but if you can't decide, why does it matter?Also, I am torn between Lanczos3 and Spline64 for the upscale - what are your recommendations there?
Also, watch the results on your TV. TV's often add their own "magic" .......
Seasons greetingsLast edited by Sharc; 19th Dec 2025 at 05:20.
-
The TemporalDegrain2 filter works well. I leave the notes with the code so I don't have to track it down each time.
For sharpening, LSFMOD is a good AVISynth sharpener and in VDub2, the Sharpen filter works well (don't set it too high or the grain will reappear; use the Preview).Code:TemporalDegrain2(degrainTR=3) #Light noise: #TemporalDegrain2(degrainTR=3,grainLevel=1,postFFT=0) /* https://forum.videohelp.com/threads/360829-Panasonic-VCR-Settings/page2#post2758937 Lollo: "In general, TemporalDegrain2 works quite well with degrainTR=3, so start with that, and experiment (with) lower values. The post-processing options in TD2 are there to provide additional denoise, which is rarely required. For very bad sources with residual noise after TD2 you can try a spatial denoiser like KNLMeansCL, enabling it inside TD2 (with postFFT and postSigma) or in stand-alone mode (preferred, so you have full control of all parameters)." From the wiki: Suggested settings for removing the grain, sorted by increasing source grain degrainTR=0,postFFT=0 (aka Undot) degrainTR=0,postFFT=1,postSigma=value between 0 and 1 degrainTR=1,grainLevel=-1,postFFT=0 degrainTR=1,grainLevel=0,postFFT=0 degrainTR=1,grainLevel=0,postFFT=1,postSigma=value between 0 and 1 degrainTR=1,grainLevel=1,postFFT=0 degrainTR=1,grainLevel=1,postFFT=1,postSigma=value between 0 and 2 degrainTR=1,grainLevel=2,postFFT=0 degrainTR=1,grainLevel=2,postFFT=1,postSigma=value between 0 and 2 degrainTR=2,grainLevel=2,postFFT=1,postSigma=value between 0 and 2 degrainTR=2,grainLevel=3,postFFT=1,postSigma=value between 0 and 2 */
-
Ok, so should I use that instead of EzDenoise=1.5, DenoiseMC=true in the QTGMC settings or are they about the same? And if I use TemporalDegrain2, at which stage in the process should I use it.
For sharpening I was just going to use the Sharpen setting in QTGMC so it happens during deinterlacing which makes sense to me. I guess any final extra sharpening can be done at the very end after the resize/upscale (with LSFMOD?) but hopefully I won't need to do this.Last edited by WhiteboyUltima; 19th Dec 2025 at 10:27.
-
Thanks. I read through that topic... doesn't seem entirely conclusive, but maybe that is the conclusion itself.
I've been playing with the Sharpness= v.s. EzDenoise= settings in my QTGMC line for a while now, finding a good balance. Nothing is quite perfect, but I've found something that works a lot better than the default QTGMC settings. Are these 2 settings alone fine to play with or should I be doing more e.g. Alwyn's suggestions (TemporalDegrain2 to remove noise and LSFMOD to sharpen)? Really getting to the point where I feel out of my depth with so many plugins and fine tuning etc.
The main issue to me right now is, there's some kind of 'signal' present on certain areas that I can smooth away (EzDenoise) at the cost of facial details etc. so I've just lightly smoothed it away to find a balance (see pic which has just a default 'Slower' preset, no other settings). There's also a few edge artifacts that the pic shows, on the child's hand and shoulder. Changing the preset to 'Slower' actually makes this signal worse - 'Fast' somewhat blurs it away so I've stuck with that. Is this the right approach?
[Attachment 90329 - Click to enlarge]
Here is my current QTGMC script for ref:
And here's the same frame with that script applied. Notice the 'signal' I'm talking about is reduced.Code:QTGMC(Preset="Fast", SourceMatch=3, Lossless=2, Sharpness=0.2, MatchEnhance=0.75, EzDenoise=2, DenoiseMC=true)
[Attachment 90330 - Click to enlarge] -
Just briefly: I don't find the time now to verify your QTGMC attempts.
I suggest to remove the QTGMC denoising and sharpening tweaks and make a test with the separate noise filter like the suggested (slow but high performing) Temporaldegrain2(...) or the fast but less strong MCDegrainSharp(frames=3,...). Also, KNLMeansCL(...) or SMDegrain(....) should perform reasonably well with your birthday party clip. You should readily spot the difference in denoising quality.
AvsPMod is an excellent tool for experimenting with filters and their settings. Switching between Tabs or using Avisynth StackHorizontal(clip1,clip2) or Interleave(clip1,clip2) makes the differences more eyecatching.Last edited by Sharc; 19th Dec 2025 at 12:03.
-
Keep in mind that using QTGMC's SourceMatch and Lossless settings diminish it's ability to calm buzzing edges and other aliasing.
-
Is it better to just keep these off then? If I do that I'll be left with no parameters at all except Preset="Slow". I think I prefer them on (to my eyes) - I wanted to try and reinsert as much of the original detail as possible while interlacing, and I don't really need to do anti-aliasing so it should be ok to keep these right?
Similar Threads
-
Horizontal lines in an old video
By Andreselos in forum RestorationReplies: 9Last Post: 16th Mar 2024, 15:48 -
Looking for the best deinterlacing for near-horizontal lines
By Bwaak in forum Video ConversionReplies: 8Last Post: 2nd Feb 2024, 00:09 -
Red/Green arrows
By weybrew in forum Newbie / General discussionsReplies: 4Last Post: 1st May 2022, 00:29 -
Are NTSC SMPTE colorbars pure red, green, and blue?
By Lathe26 in forum Video ConversionReplies: 28Last Post: 8th Mar 2022, 15:11 -
How to remove horizontal lines
By ziggy1971 in forum Video ConversionReplies: 17Last Post: 26th Jan 2021, 08:49




Quote
Will see if I can post the final script here and a snippet of my processed output once I get around to it.