Hi, I have flickering problem with multiple VHS captures and couldn’t find a solution which gives me the result I want. Here are two sample images:
[Attachment 55377 - Click to enlarge]
[Attachment 55378 - Click to enlarge]
The first one has good colors, the second has a purple/green tint and this goes on like this over the whole capture. I tried multiple avisynth scripts /cnr2, MCTemporalDenoise/, Neat Video’s antiflicker option, Virtualdub + chroma noise reduction filter. I could correct the flickering with all of them but the problem with these solutions is that the two frames simply meet in the middle and this results in incorrect colors. Is there a software or a script where I can set a frame as source and the second frame matches the first one?
Thanks in advance
+ Reply to Thread
Results 1 to 6 of 6
I don't see a simple transform that will make the colors similar. But a video sample (no filtering, not reencoded) would be more usefule.
Thanks for the response, here is a small clip
ttempsmooth is the right tool for this, see below:
U = UToY().ttempsmooth(maxr=1,lthresh=150, strength=1)
AviSource("capt10.avi") AssumeBFF() even = SelectEven() odd = SelectOdd() odd = odd.Tweak(hue=-30).ColorYUV(cont_u=80, cont_v=-40).Tweak(Hue=30) Interleave(even,odd) U = UToY().ttempsmooth(maxr=1,lthresh=150, strength=1) V=VToY().ttempsmooth(maxr=1,lthresh=150, strength=1) YToUV(U,V,last)
Here's another option: replace the chroma of the odd (bad color) frames, with chroma motion interpolated from the even (good color) frames. If this was progressive video it would be very easy. Being interlaced makes it a bit harder.
AviSource("capt10.avi") AssumeBFF() even = SelectEven() odd = SelectOdd() QTGMC(even) Interframe(GPU=false, Tuning="film", NewNum=75, NewDen=1, cores=4) #return(SelectEvery(6, 0,3,4,5)) # see full motion sequence SelectEvery(6, 4,5) SeparateFields() SelectEvery(4,0,3) oddchroma = Weave() odd = MergeChroma(odd, oddchroma) Interleave(even, odd) QTGMC()