Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#1 | Link |
Guest
Posts: n/a
|
What processing is recommended for VHS captures these days?
Sample: http://www.sendspace.com/file/2o1osf
Source is interlaced PAL VHS, captured on a DVD recorder. Final desired format is DVD-video. It's not a bad source, really - I was thinking of applying a median of three captures to eliminate video dropouts, a levels correction to reduce the brightness and clipped whites, then just letterbox() over the head switching noise at the bottom. Any other thoughts? |
![]() |
![]() |
#2 | Link |
Registered User
Join Date: Nov 2006
Posts: 768
|
i can see a few white/ black lines but nothing that necessitate the use of 3 captures+ a median imo, if you have the time and will why not. One remark though: the 3caps+median require a perfect alignment so you should work with lossless sources not mpeg
|
![]() |
![]() |
![]() |
#3 | Link |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,632
|
It looks like you are capturing using a setup that lacks a time base corrector. The biggest improvement you will get is if you have a TBC in the capture chain. Given what I see in your sample, I strongly recommend that you consider upgrading your capture setup to include a TBC. There are lots of options, including getting an old Digital8 camcorder that has pass-through. Most of those included a rudimentary TBC.
As far as 3caps, I've "been there, done that." It does produce good results, but Mounir is absolutely correct: it requires perfect alignment, and you will have to adjust this alignment many times during the length of even a short capture. This is amazingly tedious and complex. If I were doing work for the National Archives, I might consider doing this, but otherwise, forget it. Also, without using a TBC, I think you will find that all those wavy lines that are showing on vertical objects (like the columns on the palace) will not appear in the same place during each capture, and the average of three captures will be very fuzzy and not particularly appealing. There was some work, in this forum, on trying to do an approximation to true TBC using an AVISynth script, but despite heroic work, I'm not sure it ever got to the point where it could be used to reliably to correct TBC errors. The dropouts can be removed with Despot used inside of a motion estimation or mask. I have a function that I developed, using bits and pieces found here on the forum. I used it once and it worked for that one source, but I hesitate to post it because I haven't tested it much. However, you are welcome to use this as a starting point for removing those "tearing" dropouts. In looking at it, it doesn't appear to be configured for interlaced video, so it would have to be adapted to work with interlaced video. The simple way would be to call it from the second function shown below. Code:
function Remove_Tears(clip source) { #Create mask ml = 100 # mask scale scene_change = 400 # scene change super = MSuper(source,pel=2, sharp=1) vf = MAnalyse(super,isb=false) # forward vectors vb = MAnalyse(super,isb=true) # backward vectors cf = MFlow(source,super,vf,thSCD1=scene_change) # previous compensated forward cb = MFlow(source,super,vb,thSCD1=scene_change) # next compensated backward sadf = MMask(super,vf, ml=100,kind=1,gamma=1, thSCD1 = scene_change) msadf= sadf.Binarize() # binary inverted forward SAD mask sadb = MMask(super,vb, ml=ml, gamma=1, kind=1, thSCD1 = scene_change) # backward SAD mask msadb= sadb.Binarize() # binary inverted backward SAD mask msad = Logic(msadf,msadb,"OR") # combined inverted SAD mask msad = msad.Expand() # expanded inverted SAD mask msadi = Interleave(msad, msad, msad) # interleaved 3-frame inverted SAD mask Interleave(cf,source,cb) # interleave forward compensated, source, and backward compensated #DeSpot(show=0,p1percent=10,dilate=1,maxpts=400,p2=12,mthres=18,p1=24,pwidth=40,pheight=12,mwidth=7,mheight=5,merode=33,interlaced=false,seg=1,sign=1,ranked=true,extmask=msadi) DeSpot(show=0,p1percent=3,dilate=3,maxpts=400,p2=6,mthres=9,p1=12,pwidth=140,pheight=4,mwidth=7,mheight=5,merode=33,interlaced=false,seg=1,sign=-1,ranked=true) SelectEvery(3,1) } Code:
function ApplyInterlacedFilter(clip v1, string filter) { v2 = separatefields(v1) selecteven(v2) even = Eval(filter) selectodd(v2) odd = Eval(filter) interleave(even,odd) return weave() } Last edited by johnmeyer; 4th January 2013 at 19:29. Reason: Changed "walls of the palace" to "columns on the palace" |
![]() |
![]() |
![]() |
#4 | Link |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,632
|
I meant to post a link to the TBC thread, but forgot to do so. Here it is:
New Script: Software TBC 0.6 & Sample (was Fast Line Shifter 0.53) As I said in my previous post, I'm not sure whether anyone got this to work well, but it was a very interesting idea, and a lot of work went into it. Doing the capture using a TBC will produce good results; the script may produce good results. That's the difference. Last edited by johnmeyer; 4th January 2013 at 23:46. Reason: Added last sentence. |
![]() |
![]() |
![]() |
#5 | Link |
Guest
Posts: n/a
|
Actually my deck includes a built-in TBC. Are you sure that the "wavy lines that are showing on vertical objects" are not just because the video is interlaced?
The spatial alignment between captures is not prefect, but good enough IMO to remove dropouts without looking "fuzzy". ![]() ![]() As for temporal alignment, you are correct - one capture does go out by one frame some time in the middle, then comes back into sync near the end. I don't think howver it's going to be tedious and complex to fix this. |
![]() |
![]() |
#6 | Link |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,632
|
Just as a quick check, what is the exact model of your capture deck? I ask this because I had a semi-pro Panasonic deck many years ago (around 1989). It claimed to have a TBC, but it most definitely did not provide the normal TBC correction.
|
![]() |
![]() |
![]() |
#8 | Link | |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,632
|
I stand corrected about the TBC issue.
I've posted several times before what I use as the starting point for VHS denoising. I've copied that starting script below. If you want to use the RemoveTears function, you can call it from within the MDegrain2i2 function, since it is doing a "separatefields" and therefore will let the dropout removal be done on fields rather than frames. Quote:
|
|
![]() |
![]() |
![]() |
Tags |
tbc, vhs capture |
Thread Tools | Search this Thread |
Display Modes | |
|
|