Download Bundler + PMVS 3D reconstructions packages and feed video into them. Those packages are fairly stable and reliable and they give you 3D point cloud. After that convert 3D point cloud to surface - there are several packages which can do it, but I can't give any advice here - I don't know any *stable* package, all of them are research soft - memory leaks, random crashes, difficult parameters setting, compilation problems etc. If you want to learn algorithms himself that's at least year worth of math and computer vision (if you are not math/phys major). "Multiple View Geometry in Computer Vision" usually recommended for starters, but this book is thoroughly obsolete now. All the modern staff is in the papers.