You should get Virtualdub. It's the best tool out there for the job, it's free, and it's easy to use.
Then, what you need to get, are filters for it. Specifically, temporal, and spatial filters.
A temporal filter looks at how each pixel changes over time, and smooths those changes out.
A spatial filter looks at how a pixel differs from its neighbors and smoothes things out based on that.
Virtualdub comes with both types, but they're worthless. And there are many variations on these which you can download through their site, but you'd have to do a lot of work to find out which ones are good and which ones, not so much.
Lucky for you, I've done that work for you already!
This is the filter you want:
http://compression.ru/video/denoising/index_en.htmlThis filter does both temporal AND spatial denoising. I think it uses a wavelett based algorithm. It does a great job.
You may also want to pick up their smart sharpen filter. It too is excellent:
http://compression.ru/video/smart_sharpen/index_en.htmlI wouldn't bother downloading any other filters of these types, because there's a billion of these filters and the vast majority are total crap. They're either incredibly slow, or too complicated to use, and they almost invariably do a far worse job than the two I linked to.