Fly through?

Is there a way to create a virtual fly through a 3D map? It would be nice to define a start point, altitude, waypoints, (virtual) camera angle turns, point of interest pause, and ending point. Upload to YouTube would be cool to show to potential clients of created maps and projects.