Log in

View Full Version : Script for converting VHS capture to H.264


yup
19th March 2013, 10:58
Hi All!
global MeGUI_darx=4
global MeGUI_dary=3
SetMemoryMax(2048)
SetmtMode(3,8)
AVISource("tape1.avi").Trim(2591,12591)
SetmtMode(2,8)
AssumeTFF()
GetChannel(1)
Crop(16,12,-16,-12).ConvertToYV12(interlaced=true)
Separatefields() #
SetmtMode(5,8)
NLMeansCL(A=10,Ay=10,S=1,Sy=1,B=0,aa=10000,h=2.5, hc=4.0,plane=4)
SetmtMode(2,8)
ColorYUV(autogain=true, autowhite=true)
Weave()
ReduceFlicker(strength=3)
bobnn=nnedi3(field=-2,threads=1)
Edibob=bobnn.unsharp(varY=310,strength=0.25,nthreads=1).nnedi3_rpow2(2,nsize=4,cshift="Spline36Resize",fwidth=720,fheight=576,threads=1)
source=Edibob.SeparateFields().SelectEvery(4,0,3).Weave().AssumeTFF()
source.QTGMC(Tuning= "DV-SD",preset="Slow", Ediext=Edibob, Edithreads=1, EZDenoise=8.0, Denoiser="dfttest", ChromaNoise=true, DenoiseMC=true, NoiseTR=2,chromamotion=false, dct=5)
SeparateFields().SelectEvery(4,0,3).Weave().AssumeTFF()
DelayAudio(-0.04)

This script load to x264 for making mp4 and after mkv file.
I need advice about filter sequence. Source indoor shooting with fluoroscent lighting. Noise with heavy tail ((not normal distribution), also flicker due to power saving lamp.
Current sequence give speed 2000-2300 Mbs at crf=21.
I reamain source interlaced for smooth motion and BD compliance.
Any suggestion please welcome.
100 frames sample https://www.dropbox.com/s/wyc1o6ygvxbuv8a/samplevhs.avi

yup.

yup
10th April 2013, 12:24
Hi all!
Little change filters order and replace simle reduceflicker to mototion compensated, increase search parameter for MAnalyse.
global MeGUI_darx=4
global MeGUI_dary=3
SetMemoryMax(2048)
SetmtMode(3,8)
AVISource("tape1.avi").Trim(2591,12591)#.Trim(2591,83195)
SetmtMode(2,8)
AssumeTFF()
GetChannel(1)
Crop(16,12,-16,-12).ConvertToYV12(interlaced=true)
Separatefields()
SetmtMode(5,8)
NLMeansCL(A=10,Ay=10,S=1,Sy=1,B=0,aa=10000,h=2.5, hc=4.0,plane=4)
SetmtMode(2,8)
source=last
super=source.MSuper(pel=2, sharp=1)
backward_vec1 = MAnalyse(super, isb = true, delta = 2, blksize=16, overlap=8, chroma=false, dct=5, search=5, badsad=1500)
forward_vec1 = MAnalyse(super, isb = false, delta = 2, blksize=16, overlap=8, chroma=false, dct=5, search=5, badsad=1500)
backward_vec2 = MAnalyse(super, isb = true, delta = 4, blksize=16, overlap=8, chroma=false, dct=5, search=5, badsad=1500)
forward_vec2 = MAnalyse(super, isb = false, delta = 4, blksize=16, overlap=8, chroma=false, dct=5, search=5, badsad=1500)
backward_vec3 = MAnalyse(super, isb = true, delta = 6, blksize=16, overlap=8, chroma=false, dct=5, search=5, badsad=1500)
forward_vec3 = MAnalyse(super, isb = false, delta = 6, blksize=16, overlap=8, chroma=false, dct=5, search=5, badsad=1500)
bc1 = source.MCompensate(super, backward_vec1, thSAD=1000)
fc1 = source.MCompensate(super, forward_vec1, thSAD=1000)
bc2 = source.MCompensate(super, backward_vec2, thSAD=1000)
fc2 = source.MCompensate(super, forward_vec2, thSAD=1000)
bc3 = source.MCompensate(super, backward_vec3, thSAD=1000)
fc3 = source.MCompensate(super, forward_vec3, thSAD=1000)
Interleave(bc3,bc2,bc1,source,fc1,fc2,fc3)
ReduceFlicker(strength=3)
SelectEvery(7,3)
weave()
bobnn=nnedi3(field=-2,threads=1)
Edibob=bobnn#.nnedi3_rpow2(2,nsize=4,cshift="Spline36Resize",fwidth=720,fheight=576,threads=1)
source=Edibob.SeparateFields().SelectEvery(4,0,3).Weave().AssumeTFF()
source.QTGMC(Tuning= "DV-SD",preset="Slow", Ediext=Edibob, Edithreads=1, EZDenoise=8.0, Denoiser="dfttest", ChromaNoise=true, DenoiseMC=true, NoiseTR=2,dct=5, search=5)
ColorYUV(autogain=true, autowhite=true).unsharp(varY=310,varC=155,strength=0.15,U=3,V=3,nthreads=1)
SeparateFields().SelectEvery(4,0,3).Weave().AssumeTFF()
AddBorders(16,12,16,12)
DelayAudio(-0.04)
Size file decrease down 20% and quality little better.
Any advice.
yup.