UPDATE: I've removed the link to the now defunct Tilefile videos, as well as the links to the raw H.264 MPEG4s. The videos are now available on Vimeo, and embedded in the article.

I love time lapse photography, so the minute I saw Google Street View my first thought was that now I could create timelapse style videos of places I've never been!

Behold, the Golden Gate Bridge, seen through the eyes of the Google Street View car:


Golden Gate Bridge via Google Street View from Nathan de Vries on Vimeo.

Oh, and here's a nice panoramic video of Las Vegas Boulevard that I prepared earlier:


Las Vegas Boulevard via Google Street View from Nathan de Vries on Vimeo.

Code will come later, but to give you a brief idea of how this is done - I've written a crawler in Ruby which builds a matrix of panorama nodes. I then traverse the graph to find paths that can potentially produce nice videos, stitch the multi-image frames together with ImageMagick's montage application, and then create a MJPEG stream by concatenating each individual frame into a single file. This then gets encoded as an H.264/MPEG-4 video using FFMPEG.

I'll probably get more time to play on the weekend and release the source then when it's in a more usable state.

16 Responses to “Golden Gate Bridge through the eyes of Google”

  1. Charles Says:

    You can’t just pop up a link to a new page containing only an mp4 file, for a variety of obscure reasons. You need to embed it inside HTML code that invokes QuickTime. I’ll attempt to paste an appropriate batch of code here, although your comment system will probably ruin it.

    <object height="236" width="320"> <param>ndvries/streetview/golden_gate_2×1.mp4” WIDTH=1024 HEIGHT=526 AUTOPLAY=false CONTROLLER=true LOOP=false PLUGINSPAGE=”http://www.apple.com/quicktime/”> </embed> </object>
  2. Charles Says:

    Oops, sorry, that wasn’t the problem, there’s something in the file encoding itself. But you really should use the embedding anyway (well, once you get the encoding fixed), for reasons too obscure to go into here.

  3. Andre Says:

    I think google street views are pretty damn cool. There are so many weird things on there like this really small suv!

    Small SUV in the World

  4. Rob Says:

    You can’t just pop up a link to a new page containing only an mp4 file, for a variety of obscure reasons.

    Please, elaborate. I’m interested as why the video should be embedded.

  5. Nathan de Vrise Says:

    @charles: Yeah, sorry about that. If you look at the end of the post I’ve added a link where you can view both videos in a Flash player. The video won’t be as high-quality as the H.264/MPEG-4, but it’s still pretty good.

    Disclaimer: I work for TileFile :)

  6. Andrei Railean Says:

    nice

  7. Andre Says:

    i would like to know how you get the images, if you have a script or some code, could you share it? I woud like to get some images for a project.

    Thanks

  8. Peter Hulst Says:

    Hi Nathan,

    this is very cool… I wonder how easy it would be to turn google driving directions (or a route created with google earth or mymaps) automatically into a time lapse video of a trip?! Are you planning on open sourcing this, or are you planning on building a web service that uses this?

  9. Nathan de Vries Says:

    I very much plan on releasing the script I’ve written, however time isn’t exactly on my side at the moment. So busy!

    What are your plans with http://www.geoholic.com ?

  10. Darryl Says:

    Anyone know how to get the full size tile jpg? This one gives very small version:

    http://cbk0.google.com/cbk?output=tile&panoid=SLSd51hZiwtZ9sPszyM0Ug&zoom=0&x=0&y=0

    Thanks,

  11. Nathan de Vries Says:

    Darryl: You need to up the zoom level to 3, and fetch multiple images for different values of x & y. Then you need to stitch them together in a grid formation to produce a full resolution image.

  12. Michael Says:

    Are you able to rehost the videos, I would love to check them out. How did you get around the distortion in the images due to the perspective (i.e. curved buildings instead of straight etc) Did you apply a projection of some sort to the stitched image? Very interested in any information or code you would like to share about this project.

  13. Michael Says:

    Sorry the videos seem to be working fine, but any code or information would be much appreciated.

  14. alibabouin Says:

    Hi, Really nice job. Care to post some source code ?

  15. swilsonmc Says:

    Nathan, as I mentioned on the flickr post, your implementation here is top-notch. I would love to have you save myself and others here the time of reinventing the wheel.

    Would you be willing to post your code along with a clear notice that for support in using your code we should not bug you about it, but learn Ruby ourselves? I’m guessing part of your reluctance is due to the fear of being inundated with ???’s about your code. thx.

  16. swilsonmc Says:

    Nathan, it took me a while, but I’ve cooked up a way to do this using PHP, ImageMagick & ffmpeg. Anyone interested can learn more here.

Leave a Reply