AviSynth is a great tool to have in your arsenal, as with any software there is a learning curve when you first start using it.
# Define orig
orig = last# Remove Noise/Grain
temp=orig.TemporalSoften(7,255,255,25,2)
rep=Repair(temp,orig,mode=16).TemporalSoften(1,255,255,25,2)# Merge DeNoised/DeGrained Frames into one sequence (3 frames for every 1 original frame)
source=Interleave(rep,orig,rep)# Stabilize Video
mdata=DePanEstimate(source, range=1, trust=0, dxmax=1, dymax=1)
DePan(source, data=mdata, offset=1)# Every 3 frames discard the 1st and 2nd frame
SelectEvery(3,2)
You probably don’t need all of the above, I’ve added comments to explain whats happening at each stage.
# Stabilize Video
source = last
mdata=DePanEstimate(source, range=1, trust=0, dxmax=1, dymax=1)
DePan(source, data=mdata, offset=1)
This is the stabilization part. If it’s not making a difference you may need to try playing with the settings, here is the explanation for the DePan plugin: http://avisynth.org.ru/depan/depan.html
Good Luck!