...but now the blacks are clipped out! And many of the other samples later in this thread still show horrible clipping of whites.
I suspect the levels are all over the place with this tape. Find a proc amp setting that lets you capture all the tape without any clipping, and then use something like HDRAGC in AVIsynth to do a nice automatic fix (if you can't fix it manually).
Cheers,
David.
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 91 to 116 of 116
Thread
-
-
You're gonna laugh (or not probably) but i can't find the right settings again
what i did
MPEG2Source("Untitled.d2v", cpu=0,info=3)
# Deblocking interlaced source
par=getparity()
SeparateFields().PointResize(width,height)
Deblock_QED(24,28,uv=3)
AssumeFrameBased()
SeparateFields()
Merge(SelectEven(),SelectOdd())
par ? AssumeTFF() : AssumeBFF()
Weave()
# color yuv (to work with msu old color)
coloryuv(gain_u=-60, gain_v=60)#
SmoothLevels(0, 0.75, 255, 16, 235, Limiter=0)
The idea was to make it work with msu old color so i have gave these crazy-60/+60 values like on the picture on the msu webpage or close
msu old color (1,0,auto levels yes,accuracy 2)
Then, msu color enhancement (hdr yes,4,2)
Then color mill( that's where things are getting blurier)
and to finish get rid off the ugly blue/cyan with HSI (hue,sat,intensity) (saturation= -43)Last edited by themaster1; 5th Apr 2012 at 08:30.
*** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE -
Well you're lucky i've managed to find the right settings or very close
Download this and read the txt file:
https://forum.videohelp.com/attachment.php?attachmentid=11809&stc=1&d=1333632175*** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE -
Master what about the avs script allready on it ???
DirectShowSource("C:\Users\Admin\Documents\elmebak ken.mpg")
ConvertToYV12(interlaced =true)
AssumeTFF()
SeparateFields()
a=last
clense(reduceflicker=false).merge(last,0.5).clense (reduceflicker=false)
mot=removegrain(11,0).removegrain(20,0).DepanEstim ate(range=2)
take2=a.depaninterleave(mot,prev=2,next=2,subpixel =2)
clean1=take2.TMedian2().selectevery(5,2)
sup1 = clean1.minblur(1).removegrain(11,0).removegrain(11 ,0)
\ .mt_lutxy(clean1,"x 1 + y < x 2 + x 1 - y > x 2 - y ? ?",U=2,V=2)
\ .msuper(pel=2,sharp=0)
sup2 = a.msuper(pel=2,levels=1,sharp=2)
bv22=sup1.manalyse(isb=true, truemotion=false,global=true,delta=2,blksize=16,ov erlap=8,search=5,searchparam=4,DCT=5)
bv21=sup1.manalyse(isb=true, truemotion=false,global=true,delta=1,blksize=16,ov erlap=8,search=5,searchparam=4,DCT=5)
fv21=sup1.manalyse(isb=false,truemotion=false,glob al=true,delta=1,blksize=16,overlap=8,search=5,sear chparam=4,DCT=5)
fv22=sup1.manalyse(isb=false,truemotion=false,glob al=true,delta=2,blksize=16,overlap=8,search=5,sear chparam=4,DCT=5)
interleave(a.mcompensate(sup2,fv22),a.mcompensate( sup2,fv21),a,a.mcompensate(sup2,bv21),a.mcompensat e(sup2,bv22))
TMedian2().selectevery(5,2)
sup3 = last.msuper(pel=2,sharp=2)
bv33=sup3.manalyse(isb=true, truemotion=false,global=true,delta=3,blksize=8,ove rlap=4,search=5,searchparam=4,DCT=5)
bv32=sup3.manalyse(isb=true, truemotion=false,global=true,delta=2,blksize=8,ove rlap=4,search=5,searchparam=4,DCT=5)
bv31=sup3.manalyse(isb=true, truemotion=false,global=true,delta=1,blksize=8,ove rlap=4,search=5,searchparam=4,DCT=5)
fv31=sup3.manalyse(isb=false,truemotion=false,glob al=true,delta=1,blksize=8,overlap=4,search=5,searc hparam=4,DCT=5)
fv32=sup3.manalyse(isb=false,truemotion=false,glob al=true,delta=2,blksize=8,overlap=4,search=5,searc hparam=4,DCT=5)
fv33=sup3.manalyse(isb=false,truemotion=false,glob al=true,delta=3,blksize=8,overlap=4,search=5,searc hparam=4,DCT=5)
last.mdegrain3(sup3,bv31,fv31,bv32,fv32,bv33,fv33, thSAD=499)
Interleave()
Weave()
###
#####interpolate bad frames and residual cleaning
###
Super = msuper()
bv1 = manalyse(Super, isb=true, delta=2)
fv1 = manalyse(Super, isb=false, delta=2)
bv2 = manalyse(Super, isb=true, delta=3)
fv2 = manalyse(Super, isb=false, delta=3)
global CandidatesForN = mflowinter(Super, bv2, fv2, time=33.3, ml=100)
global CandidatesForO = mflowinter(Super, bv2, fv2, time=66.7, ml=100)
global CandidatesForC = mflowinter(Super, bv1, fv1, time=50.0, ml=100)
last
rx(104,12) #104-116 replaced
AssumeTFF()
SeparateFields()
f1=SelectEven().RemoveDirtMC(100,false).LSFMod(str ength=5)
f2=SelectOdd().RemoveDirtMC(100,false).LSFMod(stre ngth=5)
Interleave(f1,f2)
Weave()
function MinBlur(clip clp, int r, int "uv")
{
uv = default(uv,3)
uv2 = (uv==2) ? 1 : uv
rg4 = (uv==3) ? 4 : -1
rg11 = (uv==3) ? 11 : -1
rg20 = (uv==3) ? 20 : -1
medf = (uv==3) ? 1 : -200
RG11D = (r==0) ? mt_makediff(clp,clp.sbr(),U=uv2,V=uv2)
\ : (r==1) ? mt_makediff(clp,clp.removegrain(11,rg11),U=uv2,V=u v2)
\ : (r==2) ? mt_makediff(clp,clp.removegrain(11,rg11).removegra in(20,rg20),U=uv2,V=uv2)
\ : mt_makediff(clp,clp.removegrain(11,rg11).removegra in(20,rg20).removegrain(20,rg20),U=uv2,V=uv2)
RG4D = (r<=1) ? mt_makediff(clp,clp.removegrain(4,rg4),U=uv2,V=uv2 )
\ : (r==2) ? mt_makediff(clp,clp.medianblur(2,2*medf,2*medf),U= uv2,V=uv2)
\ : mt_makediff(clp,clp.medianblur(3,3*medf,3*medf),U= uv2,V=uv2)
DD = mt_lutxy(RG11D,RG4D,"x 128 - y 128 - * 0 < 128 x 128 - abs y 128 - abs < x y ? ?",U=uv2,V=uv2)
clp.mt_makediff(DD,U=uv,V=uv)
return(last)
}
# median of 5 clips from Helpers.avs by G-force
Function Median2(clip "input_1", clip "input_2", clip "input_3", clip "input_4", clip "input_5", string "chroma")
{
chroma = default(chroma,"process") #default is "process". Alternates: "copy first" or "copy second"
#MEDIAN(i1,i3,i5)
Interleave(input_1,input_3,input_5)
chroma == "process" ? Clense(reduceflicker=false) : Clense(reduceflicker=false,grey=true)
m1 = selectevery(3,1)
#MAX(MIN(i1,i3,i5),i2)
m2 = input_1.MT_Logic(input_3,"min",chroma=chroma).MT_L ogic(input_5,"min",chroma=chroma).MT_Logic(input_2 ,"max",chroma=chroma)
#MIN(MAX(i1,i3,i5),i4)
m3 = input_1.MT_Logic(input_3,"max",chroma=chroma).MT_L ogic(input_5,"max",chroma=chroma).MT_Logic(input_4 ,"min",chroma=chroma)
Interleave(m1,m2,m3)
chroma == "process" ? Clense(reduceflicker=false) : Clense(reduceflicker=false,grey=true)
selectevery(3,1)
chroma == "copy first" ? last.MergeChroma(input_1) : chroma == "copy second" ? last.MergeChroma(input_2) : last
Return(last)
}
function TMedian2(clip c) {
Median2( c.selectevery(1,-2), c.selectevery(1,-1), c, c.selectevery(1,1), c.selectevery(1,2) ) }
function RemoveDirt(clip input, int limit, bool _grey)
{
clensed=input.Clense(grey=_grey, cache=4)
alt=input.RemoveGrain(2)
return RestoreMotionBlocks(clensed,input,alternative=alt, pthreshold=6,cthreshold=8, gmthreshold=40,dist=3, dmode=2,debug=false,noise=limit,noisy=4, grey=_grey)
# Alternative settings
# return RestoreMotionBlocks(clensed,input,alternative=alt, pthreshold=4,cthreshold=6, gmthreshold=40,dist=1,dmode=2,debug=false,noise=li mit,noisy=12,grey=_grey,show=true)
# return RestoreMotionBlocks(clensed,input,alternative=alt, pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,tolerance= 12,dmode=2,debug=false,noise=limit,noisy=12,grey=_ grey,show=false)
}
function RemoveDirtMC(clip,int limit, bool "_grey")
{
_grey=default(_grey, false)
limit = default(limit,6)
i=MSuper(clip,pel=2)
bvec = MAnalyse(i,isb=false, blksize=8, delta=1, truemotion=true)
fvec = MAnalyse(i,isb=true, blksize=8, delta=1, truemotion=true)
backw = MFlow(clip,i,bvec)
forw = MFlow(clip,i,fvec)
clp=interleave(backw,clip,forw)
clp=clp.RemoveDirt(limit,_grey)
clp=clp.SelectEvery(3,1)
return clp
}
function R(clip Source, int N)
{
# N is number of the frame in Source that needs replacing.
# Frame N will be replaced.
Source.trim(0,-N) ++ CandidatesForC.trim(N-1,-1) ++ Source.trim(N+1,0)
}
function RP(clip Source, int N)
{
# N is number of the first frame in Source that needs replacing.
# Frames N and N+1(O) will be replaced.
Source.trim(0,-N) ++ CandidatesForN.trim(N-1,-1) \
++ CandidatesForO.trim(N-1,-1) ++ Source.trim(N+2,0)
}
function RX(clip Source, int N, int X)
{
# N is number of the 1st frame in Source that needs replacing.
# X is total number of frames to replace
#e.g. RX(101, 5) would replace 101,102,103,104,105 , by using 100 and 106 as reference points for mflowfps interpolation
start=Source.trim(N-1,-1) #one good frame before, used for interpolation reference point
end=Source.trim(N+X,-1) #one good frame after, used for interpolation reference point
start+end
AssumeFPS(1) #temporarily FPS=1 to use mflowfps
super = MSuper()
backward_vec = MAnalyse(super, isb = true)
forward_vec = MAnalyse(super, isb = false)
MFlowFps(super, backward_vec, forward_vec, blend=false, num=X+1, den=1) #num=X+1
AssumeFPS(FrameRate(Source)) #return back to normal source framerate for joining
Trim(1, framecount-1) #trim ends, leaving replacement frames
Source.trim(0,-N) ++ last ++ Source.trim(N+X+1,0)
}
ColorYUV(gain_y=-12,gain_v=-5,gain_u=+10)
SmoothLevels(0, 0.75, 255, 16, 235, Limiter=0)
SMoothTweak(saturation=0.8) -
Should i still use that and if so where do i put the avs script you wrote?
-
Dear asesinato he put you just example don't stack it with the previous one you will also need dll from here http://avisynth.org/mediawiki/DeBlock.
I don't know what the script should do but you deffenetly need noise reduction also badly on that source.
Don't you have the tapes any more? I admire masters dedication when it's more simple and better to recapture with correct setting and losless
why are you not doing that already?
cheers mammo1789 -
Trust me the tape looks the same, just as bad as this copy... There is nothing to gain by recaping
-
No first thing first you must use the small script i gave you in the zip ,the which you open in vdub, load the .vcf, check the msu values and save in avi lossless (lagarith, yv12)
Only then you will use that slow-large-defecstKiller script and save again in avi lossless to remove noise (with vdub again,fast recompress mode)
This large script contain a part to rebuild severely damaged frames (rx) so you will have to pick them manually
ex:
Super = msuper()
bv1 = manalyse(Super, isb=true, delta=2)
fv1 = manalyse(Super, isb=false, delta=2)
bv2 = manalyse(Super, isb=true, delta=3)
fv2 = manalyse(Super, isb=false, delta=3)
global CandidatesForN = mflowinter(Super, bv2, fv2, time=33.3, ml=100)
global CandidatesForO = mflowinter(Super, bv2, fv2, time=66.7, ml=100)
global CandidatesForC = mflowinter(Super, bv1, fv1, time=50.0, ml=100)
last
rx(6000,1) # frame 6000 is replaced
rx(104,12)#frames 104 to 116 are replaced
AssumeTFF()
SeparateFields()
f1=SelectEven().RemoveDirtMC(500,false).LSFMod(str ength=50)
f2=SelectOdd().RemoveDirtMC(500,false).LSFMod(stre ngth=50)
Interleave(f1,f2)
Weave()
Note: it's preferable you don't use it on consecutive damaged frames otherwise -> problemsLast edited by themaster1; 5th Apr 2012 at 12:08.
*** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE -
Trust me the tape looks the same, just as bad as this copy... There is nothing to gain by recaping
Listen what master is saying ( and all others for that mater ) to you and take step at a time not just trough everything on it it just don't work that way.
Patience my friend -
That deblock_qed i can only find a .avs file called that when i search google? do you have a link?
-
Dear asesinato he put you just example don't stack it with the previous one you will also need dll from here http://avisynth.org/mediawiki/DeBlock.
you put deblock_qed.avs script in plugins folder of avysinth -
Yeah mate but that dont work.... Its not what he uses in the script???
Deblock_QED(24,28,uv=3)
Its says there is not such function when even if i have put the files in deblock12.zip (45.6 KB, 0 views) in the plugins dir at avisynth -
you put deblock_qed.avs script in plugins folder of avysinth the deblock12.zip( the deblock dll is needed for the avs to work)
-
I think that my friend master confused you totally
you need the plugin and also the avs in the plugins folder so to master script can work -
Still dont work...
no such function named Deblock_QED
I have the deblock12.zip unzipped in plagins dir and deblock_qed.avs lays in there to... What im i doing wrong ? -
new error
end of file reached with a matching }
MPEG2Source("Composite_20120402_1817.d2v", cpu=0,info=3)
par=getparity()
SeparateFields().PointResize(width,height)
Deblock_QED(24,28,uv=3)
AssumeFrameBased()
SeparateFields()
Merge(SelectEven(),SelectOdd())
par ? AssumeTFF() : AssumeBFF()
Weave()
coloryuv(gain_u=-60, gain_v=60,autowhite=false,showYUV=false)#
SmoothLevels(0, 0.75, 255, 16, 235, Limiter=0) -
MPEG2Source("here put you file example c:\badvideo.d2v", cpu=0, info=3)
par=getparity()
SeparateFields().PointResize(width,height)
Deblock_QED(24,28,uv=3)
AssumeFrameBased()
SeparateFields()
Merge(SelectEven(),SelectOdd())
par ? AssumeTFF() : AssumeBFF()
Weave()
coloryuv(gain_u=-60, gain_v=60,autowhite=false,showYUV=false)#
SmoothLevels(0, 0.75, 255, 16, 235, Limiter=0)
without the "here put you file example" i guess you figure it out the mpeg2source should point to place where your file is located on the hdd -
It's more crap then before i think that we are not getting any where here
I think that my version is much better although still crapLast edited by mammo1789; 5th Apr 2012 at 13:05.
-
That's what you should get in the end mammo1789
https://forum.videohelp.com/attachment.php?attachmentid=11816&stc=1&d=1333646174
https://forum.videohelp.com/attachment.php?attachmentid=11817&stc=1&d=1333646174*** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE
Similar Threads
-
Truly awful quality VHS - need hints for best cleanup software to =>dvd
By Wills in forum RestorationReplies: 16Last Post: 14th Sep 2013, 16:49 -
VHS Cleanup, have i done enorgh?
By Asesinato in forum CapturingReplies: 24Last Post: 30th Mar 2012, 07:48 -
VHS to DVD Cleanup?
By LCE in forum RestorationReplies: 3Last Post: 19th Dec 2009, 02:35 -
cleanup on old vhs tapes
By kesuki in forum Video ConversionReplies: 1Last Post: 22nd Jun 2008, 17:33 -
Anyone doing Straight D-VHS to H.264 Capture + Post Editing / Cleanup?
By bradeso in forum RestorationReplies: 4Last Post: 22nd Apr 2008, 04:01