I have played around with this before. Having recently set up Mapnik again to render Openstreetmap data. Currently it is using the standard Openstreetmap osm.xml file so should look like the mad used on the main website.
This animation is created by rendering each frame with Mapnik. The script is based on a hack of the standard generate_image.py script that comes with Mapnik. It simply loops, and for each loop a new bounds is calculated to provide the zoom effect.
The next step is to make an animation based on a GPX file. That will take a GPX file as input and provide a zooming animation that shows the start, and an overview of the whole GPX track.