Golden Gate Bridge through the eyes of Google
June 7th, 2007
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 (H.264/MPEG-4), seen through the eyes of the Google Street View car.
Oh, and here's a nice panoramic video of Las Vegas Boulevard (H.264/MPEG-4) that I prepared earlier.
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.
UPDATE: It appears as though the videos aren't playing properly in Quicktime (or the Quicktime browser plugin). They work fine in VLC and mplayer, though. I used the following command to do the MJPEG -> H.264/MPEG-4 conversion:
ffmpeg -y -i raw.mjpeg -an -f mp4 -vcodec h264 output.mp4
If you know of any way to fix these issues, please comment below :).
UPDATE 2: Given that the videos aren't working in Quicktime for some people, I've uploaded them to a new TileFile Grid.
June 7th, 2007 at 11:05 AM
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" codebase="http://www.apple.com/qtactivex/qtplugin.cab" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="320"> <param name="src" value="http://progsoc.org/<sub>ndvries/streetview/golden_gate_2×1.mp4”> <PARAM NAME=" autoplay>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>June 7th, 2007 at 11:07 AM
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.
June 7th, 2007 at 11:26 AM
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
June 7th, 2007 at 12:46 PM
Please, elaborate. I’m interested as why the video should be embedded.
June 7th, 2007 at 01:03 PM
@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 :)
June 7th, 2007 at 01:51 PM
nice
July 13th, 2007 at 02:09 AM
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
August 17th, 2007 at 05:14 AM
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?
August 24th, 2007 at 11:29 AM
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 ?
October 25th, 2007 at 01:22 AM
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,
October 25th, 2007 at 10:40 PM
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.