Shooting 360-degree video with four GoPro HD Hero cameras

Posted by ryanjackson on Feb 8, 2011 in 360 Panoramas, DIY, photos, training, video |

First off, watch my 360-degree Video of the World Record Dodgeball Game at the U of A

So last year I shot this video of the University of Alberta setting a world record for most people playing dodgeball and the video got over 650,000 hits.

I’ve seen a few 360-degree videos out there but not as many as you would think considering how freaking cool they are.
Since 360-degree videos is pretty uncharted territory in the photojournalism world I absolutely had to take the challenge.

To shoot my 360-degree dodgeball video I used four GoPro Hero HD cameras on 1280×960 mode mounted vertically. This gives enough overlap to get a full 360-degree view as well the cameras are nice and small and light. Since the cameras shoot at 30 frames per second (actually 29.97) you can think of it as 30 still pictures per second which can be stitched together into panoramas.

The short version of this story is that I shot with four GoPros, extracted still images from video, stitched the stills together into panoramas then recombined them back into video.

For the much more detailed and nerdy answer read on….

I got tips for arranging the cameras properly at
I simply used a plastic leg from a table that was the same width as the naked GoPro cameras.
I used Gaffers tape and a lot of elastics to hold the cameras in place.
In the future I may build a proper aluminum box for everything.

Setting up a fifth GoPro camera in the catwalk to be used for an overhead view for livestream of the game.

I use a Telus Aircard pluged into a Cradlepoint CTR-379 wireless router for internet for livestreams.

Here was my shooting process.

Hit record on my Olympus LS-10 PCM recorder. Say “scene one” out loud.
Hit Record on Camera 1. Say “camera one” out loud.
Hit Record on Camera 2. Say “camera two” out loud.
Hit Record on Camera 3. Say “camera three”out loud.
Hit Record on Camera 4. Say “camera four” out loud.
Now that everything is recording I clap my hands really fast or yelp really loud so that I have a sharp audio cue that I can sync all the cameras with.

Some people say “You’re crazy for putting your cameras in a dodgeball game like that!”

I say. It’s not about the camera. It’s about the end result. A camera is a tool like a hammer. If your hammer breaks, you get it fixed.

Never let your camera get in the way of a good photo.

As soon as the game ended I ingested all my footage into my MacBook Pro.  It’s always important to get video up as fast as possible if you want to get a lot of views.

I just selected the first 60-seconds of the game and plunked it into Final Cut Pro. I created a large canvas and lined up the different cameras so that they overlapped a bit.

There would be very noticeable seams between the videos but I knew people wouldn’t mind the seams if they got to see the video asap. It took an hour to render the 60-seconds of video in Final Cut Pro and another hour to export it as FLV.  The game ended around 1:30pm and I had a quick and dirty 60-second version of the panorama up on before the 6:00pm news on TV!   In comparison I think I had last year’s video up at the same time.

First year NAIT photography Student Nathan Smith was doing a ridalong with me that day and he was a HUGE help!  He also shot all these awesome photos of me. Thanks!

Okay now for the high quality version with properly stitched images.
For post-processing I created a new timeline in Final Cut Pro 7 with codec Apple Intermediate Codec and size 3840×1280.
Since the cameras are mounted vertically they are recording 960×1280 video. So 4×960=3840.

I find my audio sync point on each camera and set it to be the in-point for the video. I drag each video from each camera into my timeline and line them up so that all the audio sync points line up.

Once my video and audio is all synced then I select each clip and go to “File–>Export –>Export Using Quicktime Conversion–> Image Sequence”
Final Cut Pro 7 extracts JPEG still images for every frame of video. Each frame is about 1.2MBs and you are shooting about 120 frames per second.

That works out to 8.6GB of stills for each minute of video you shoot. Or 520GB per hour.

Since there are four cameras each “frame” of video is actually four pictures which need to be stitched together into a single panorama.

I organize all the images using Photo Mechanic and batch name them 0001a, 0001b, 0001c, 00001d, 0002a, 0002b, 0002c, 0002d, etc.

Then I used PTgui Pro to stitch all my panoramas together into equarectangular panoramas.

PTgui Pro has a great batch process where you can setup a template for your first panorama and then it will auto stitch the rest of the panoramas in file order. This meant that (0001a, 0001b, 0001c, 00001d)–>Panorama1.jpg , (0002a, 0002b, 0002c, 0002d)–>Panorama2.jpg, etc.

I stitched them together in the highest resolution so that each panorama would be 3561×1308 pixels big. About 5MB per panorama. You are now at 18GB per minute of video or about a Terabyte per hour.

This process took the longest. I had three MacBook Pro laptops and my home server all going at the same time. The laptops took around 12 seconds per panorama to stitch.

If you do the math that works out six hours to stitch one minute worth of panoramas together!

I basically had four laptops crunching for 24 hours straight to make all the panoramas.

Once the tens of thousands of panoramas were stitched together I used Quicktime Pro   File–>Open Image Sequence (at 29.97) to open all the still panorama images as a video. I then exported the video as .mov’s in Apple Intermediate Codec  3561×1308 at 280Mb/sec

I then created a new sequence in Final Cut Pro 7 with the same settings and dragged back in the .mov files and synced them with the .wav audio from my Olympus LS-10.

I chose about 17 minutes of footage in total to convert to panoramas and I then cut that down to the best 5 mins and exported as full-quality Apple Intermediate Codec.

I then used Adobe Flash Video Encoder to convert and downsize my video to FLV 2722×1000, On2 VP6, 2000kb video, 96kb audio which I find to be a good balance of quality to file size.  It took about 8hrs for my 2.6GHz MacBook Pro to compress 5 minutes of video into 2722×1000 On2 VP6 Flash video.

Here is my puppy Mr. Woofertons napping while I wait for my video to compress.

Once the video is done compressing into FLV I then used KrPano as the flash panorama player to display the panoramic video as a 360-degree video.

It’s THAT easy!  :)

I actually did this same process for my Murder of Crows time lapse last year  but this was way more intense.

Next time I do this though I will wire the GoPro’s together so that I can trigger them all at the same time. My Olympus LS-10 has a remote trigger port too so I should be able to trigger all four cameras and my audio recorder at the same time which saves time syncing the videos in Final Cut Pro.

There may also be a way to get KrPano to play .mp4 instead of .flv so I could use an Elgato turbo.264 HD to speed up exporting the final video.

You could also write a few simple Applescripts to speed up the file renaming and automate Quicktime Pro. This could eliminate the need for Photo Mechanic and manually moving files around.

What did all this cost?

Four GoPro HD’s would be 4 x $300 = $1,200
Final Cut Pro is $1,000
Quicktime Pro is $30
Photo Mechanic is $150
PTgui Pro is $210
Adobe Flash is $700
KrPano is $150

Cheaper than a $6,000 Ladybug camera and a better field of view and higher resolution than a Pano Pro mirror. Though a PanoPro would be much much easier to use.
As crazy complicated as this may sound I wouldn’t be surprised if whatever Smartphone we all use in a couple years will do this with a 99-cent app.

What I love about 360-video is that almost everyone who sees it is blown away. I love how it opens your mind to new and exiting ways to tell stories.

Be Sociable, Share!


Thomas Hayden
Feb 9, 2011 at 11:44 am

Brilliant Job, Ryan! The end result is spectacular and learning about your process is fascinating. A key advantage of your Go Pro technique is that you can shoot video in wet conditions (audio may still be a problem). As someone who has been working with 360 video since long before we could share them online, seeing your enthusiasm for this new medium brings back the old excitement I had when I first began shooting it (if that excitement was actually ever lost). I’ll be sharing this with David McCutchen, the inventor of the Immersive Media camera, and I’m sure he will appreciate this clever approach. Go Go Pro! Do you mind if I poach this post for my 360 video blog?

Matt R
Feb 9, 2011 at 12:31 pm


One of my favorite parts is that you call your dog Mr. Woofertons.

Feb 9, 2011 at 1:06 pm

@Thomas Hayden If by “poach” you mean take a small excerpt with a screen shot and link to it then yes. I’d be honored to be featured on your blog :)

Thank you very much for the kind words.

Feb 9, 2011 at 1:49 pm

cool setting, hard work. like it ;-) we use the ladybug2 now @ a RC helicopter see

Thomas Hayden
Feb 9, 2011 at 5:17 pm

@ryanjackson Yep, that’s exactly what I mean. Is there an embed code for the video, too? If not, links will work well. Thanks.


Feb 10, 2011 at 6:16 pm

So freaking awesome…

Steve I Andersen
Feb 11, 2011 at 2:55 pm

Hi Ryan,

Thank you for this post! Cool! Lots of respect!


Sam Rohn
Feb 26, 2011 at 12:02 pm

awsome project & great how to, i guess this is what being in the front lines feels like :)

Marvin A
Mar 7, 2011 at 10:42 pm

Great job.

I also made a video panoramic rig using GoProHDs.
Similar to yours but in a closer configuration.

My stitching workflow is:
Convert to image sequence (Adobe Media Encoder)
Batch Rename files to 0000A,0000B,0000C, and 000D (Adobe Bridge)
Batch Stitch fies to panoramic sequence(PTGui Pro)
Convert stitched sequence to .mp4 video( Adobe Premiere)
Create panoramic video (Pano2VR)

Same process but different software as yours.

Anyways, have you attempted to perfect the seams?

Marvin A
Mar 7, 2011 at 11:02 pm

Forgot to mention, I used some sort of blackened lid over all the lenses. (CD Spool Case)
To get a sync point I swiftly removed the lid .

I suppose you could que your recorder with a noise simultaneously.

DJ Vegh
Mar 28, 2011 at 7:32 pm

Nice work! we designed and built some power and distribution boards that supply each camera with power so no individual batteries are required and the distribution board also distributes the trigger signal for up to five cameras.

We use it in our aerial 360 video rig which has five gopro HD cameras hanging underneath our multi-rotor aircraft.

Here’s our distribution board if interested:

and here’s our pentagon array camera mount for gopro cameras

Chad Wright
Mar 31, 2011 at 2:18 pm

Ryan you are amazing! and very through…awesome tutorial. How much more difficult would it be to mount a 5th GoPro at the top of your rig facing toward the ceiling? I’m extremely curious about this.

Thank you for any input.


Apr 19, 2011 at 8:30 am

A little colour grading would have helped to get the footage even but other than that a very good effort.
Just goes to show that a little enthusiasm and some balls can create some real magic. We recently got a quote from Yellowbird to shoot a car race and produce a final 2 minute 360 video and their quote came in at $25,000 that was without Air fares to Australia and Hotel accommodation. I thought of buying the Ladybug3 at $14,000 but the fact that it only shoots at 15fps is a concern. Yellowbird system costs $25,000 Euros while the Immersive Media rig is a cool $65,000 US for the entire kit which is very awesome.

After seeing your effort here, it gives me the confidence that with a bit of careful planing and investment into a specialised 6 camera GoPro rig we could have something that will be more than adequate for our clients.

Well done once again… Respect!

May 15, 2011 at 5:59 am

This is other little experiment with Gopro
Two small videos 360º (cilindric). May 2010


May 15, 2011 at 10:32 am

Hello Ryan
This is way COOL
Thanks so much for sharing all your experience.
I loved the post.
If someday flying to RIO, give me a call :-)

May 17, 2011 at 4:25 am

Hi Ryan,
I have advertised in your work flashpanorama Groups and you have deleted my comment, do not understand.

May 17, 2011 at 4:29 am

I Sorry I can now see. it had disappeared for a moment.

May 22, 2011 at 1:30 pm

“… I wouldn’t be surprised if whatever Smartphone we all use in a couple years will do this with a 99-cent app”

How about a couple of months, two Kickstarter initiatives around now are planning this with iPhone rigs, one mirror an a Palnon lense. It will not even come close quality wise but the ease of use is tremendous!

Great project though!! Are there no video-editors that can do the video deforming/warping based upon a PTGui template? Would save you quite some steps.

Jun 14, 2011 at 2:49 am

but i still don’t understand if you exported each frame for each video or just the frames of that big video of that 4 cameras?
Example: did u exported 4×30 frames or just 1x30fps?

Rob H.
Jun 23, 2011 at 2:27 pm

Great page, very cool. I want to make one!

Rob H.
Jun 24, 2011 at 11:30 am

Did you try it with 3 cameras first? According to their website the GoPro HD has a 170-degree field of view. With that you should be able to get away with only three and still have plenty of overlap.

Jun 24, 2011 at 12:20 pm

i tried with 5 cameras…it should be better for PTGUI, when Ryan will check my frames i’ll let u know!

Jun 27, 2011 at 6:21 pm

Great Job! thanks for sharing this information.

Henry Stuart
Jun 28, 2011 at 8:02 am

Cudos, very cool project and thanks for sharing, I’m actually in the process of building a similar rig. Fascinating to hear how you did it.

Jun 28, 2011 at 7:14 pm

Meu site esta em desenvolvimento…

Parabens pelo iniciativa, estou com um projeto parecido .. mas pretendo utilizar 2 fisheye fc-e8 em cameras com fullHD… e estou pensando usar as dicas do site Ryubin … mas rapido e pratico…. aqui no Brasil e muito dificil e caro comprar os equipamentos…tendo que quase sempre importar nao podendo fazer muitos testes.. para ter uma ideia .. 1x GoPro aqui $ 500 ..
Mais uma vez parabens pelo trabalho .. e por postar tudo de forma clara….

Rob H.
Jul 27, 2011 at 4:54 pm

Can I ask what settings you used in PTGui for the camera? It asks for the sensor size and focal length. I’m having trouble finding this info, including asking the GoPro people. When I try to stitch the images PTGui doesn’t seem able to figure it out. Part of it might be that objects are too close and causing parallax error though.

Aug 3, 2011 at 11:37 am

try it with 16 and crop 1

Aug 4, 2011 at 4:58 am

Owesome story!
Aug 4, 2011 at 4:59 am

Owesome story!

Rob H.
Aug 7, 2011 at 4:03 am

Mac OSX Automator (comes with the OS) will also rename the pics in series like you want them, and it’s free.

Sep 17, 2011 at 8:57 am

Owesome ,nice guide.

Nov 10, 2011 at 8:41 am

Incredible. i ask how you do for embedd the video 360… thanks

bob Loblaw
Dec 9, 2011 at 1:10 pm

what were the quicktime settings you used for export?

tiago cobra
Dec 19, 2011 at 12:13 pm

Thx man nice post

Jan 7, 2012 at 10:54 am

I don’t understand how to batch name files for batch stitching. Do i need to sort them in folders for the batch stitching? Any help would be appriciated.

Feb 2, 2012 at 3:19 pm

Fascinating! I have to remember this one! Sparkles all kind of ideas seeing this ;-)
didn’t you think about techniques like ‘’ ? Would 3 camera’s do the trick also, or are ‘more better’?? The new GoPro HD2 even has higher quality,… and funny enough, you could stream ‘live’ then (has an optional WiFi connector)…. man… opens a lot of possibilities… nice, nice, nice… Thnx that you shared this! Going to look for 4 GoPro’s now! ;-)

Feb 6, 2012 at 9:28 am

Hello Ryan
His technique is fascinating.
I wrote an email to you recently.
Would you like a hint its about a project I’m developing.
Thank you.

Feb 16, 2012 at 4:47 pm

Hi Ryan,

Was hoping you could shed some light on how to upload the final .flv video to the krpano player. Can these files be local or do you need to have them stream from a website.

Thanks in advance!

Feb 18, 2012 at 10:59 am

Excellent. You have such a compact rig that I think you could mount the whole thing on a helmet.

Mar 18, 2012 at 4:23 pm

Sadly, with the GoPro HD2 you cannot get the overlap anymore in the 960 mode … Looks like there is a difference in the ‘old’ 960 on the Hero and even the HD vs the HD2

I discovered this also, because I tried to re’play’ your setting with 4 GoPro HD2, and I cannot get the overlap needed for stitching… so… I’ll probably need an extra GoPro.. (or do it on ‘landscape’, HD is overcourse already ‘big’, but you loose the extra space top/bottom.. quite a lot actually)….

So I’m probably going to use 5 GoPro’s… btw, also slight difference for Windows users, who use Adobe Premiere, like me, you cannot ‘just’ convert video to images, for all 4 sequences at once (at least, I couldn’t find it)… seems you have to select 1 video sequence at the time, and convert that to JPEG… (btw, quality fetishists, you also could use PNG, but be ware, takes 10-20times more time!!) . If somebody is interested, I could post the way to do it in Media Encoder… Btw, rename is a breeze in Bridge, so don’t loose money on that. On windows there are numerouse other free tools out there.

In the example you linked, that DIY streetview, there is also a cam for ‘the sky’.. how is that one used in this all? Do you need one?

PS the HD2 is waaaaay better then the old HD…. so if you want the extra sharpness and way better perfomance indoors, pay the extra for the HD2…. and…. remote controlling multiple GoPro’s as ‘addition’… allthough I haven’t seen it yet, seems production is slow (I had to wait 1 month for that HD2 also)…

Aug 2, 2012 at 3:57 am

Fantastic goods from you, man. I’ve understand your stuff previous to and you are just extremely wonderful. I really like what you’ve acquired here, certainly like what you’re stating and the way in which you say it. You make it entertaining and you still take care of to keep it wise. I can not wait to read much more from you. This is really a wonderful website. Check out my website to get more info about forex, if you like.

James Fabian
Sep 22, 2012 at 1:21 am

“…As crazy complicated as this may sound I wouldn’t be surprised if whatever Smartphone we all use in a couple years will do this with a 99-cent app…”

It’s already here since 2011. The GoPano lens for iPhone :)

Jan 15, 2013 at 9:43 am

On the market after summer 2013

Tony Nordeen
Jan 15, 2013 at 10:56 pm

Me and my friend used this technique to make a 360 degree music video. We zoomed in digitally and then used the motion effect to pan around the room in post production. It was cool because it made it look we had a camera on a motor, but we had total control of where the camera was going to focus on at what time. Very cool concept. If your interested take a look at how it turned out.

Thanks for sharing this tutorial!!

Feb 17, 2013 at 10:15 pm

I have a dumb question, could you not take the 4 videos, import and align them into an After Effect composition that is 3561×1308 and render out as a FLV for the krpano flash player to render/play?
May 27, 2013 at 8:45 pm

Hey there! Do you know if they make any plugins to
assist with Search Engine Optimization? I’m trying to get my blog to rank for some targeted keywords but I’m
not seeing very good results. If you know of any please share.

Many thanks!

Jun 8, 2013 at 4:06 am

@Ryan Jackson

I had similar similar issue when doing such kind of videos with GoPro and 5D Mark II on the past, this is why I create a software for this :

I would love to have your feedback, if you’re still doing 360 videos ;-)

String Quartet Events
Jun 23, 2013 at 11:47 am

Hello there, just became alert to your blog through Google, and
found that it’s truly informative. I am going to watch out for brussels. I’ll appreciate
if you continue this in future. A lot of people will be benefited from your writing.

Jul 15, 2013 at 9:32 pm

Incredible work! Inspirational! Thanks for sharing (:

Aloe Vera Hair
Jul 21, 2013 at 3:48 am

Wow, superb blog layout! How lengthy have you ever been running a blog for?
you made blogging glance easy. The full look of your website is great, let alone
the content material!
Aug 7, 2013 at 5:46 am

awesome – take much time… :)
Dec 6, 2013 at 1:01 pm

There might be some relief in the forecast things
will be that much better as the water temps have made for good fish upside down
fishing on both surface and sub-surface fly patterns. Over the next three
and a half hours.
Feb 19, 2014 at 8:03 pm

Hi there i am kavin, its my first occasion to commenting anywhere, when i read this piece
of writing i thought i could also create comment due to this sensible piece of writing.
Apr 13, 2014 at 5:44 pm

It’s very easy to find out any matter on net as compared to books,
as I found this paragraph at this web site.

top it certifications 2013 in india
May 2, 2014 at 12:22 pm

Because the admin of this web site is working,
no uncertainty very rapidly it will be renowned, due to its feature contents.

May 12, 2014 at 12:27 am

Really great read and a wonderful end result, thanks! :)

2014 World Cup Brazil betting odds
May 19, 2014 at 10:12 am

Hello, Neat post. There is an issue together with your site
in web explorer, may check this? IE nonetheless is the marketplace chief and a huge portion of other people will pass
over your great writing due to this problem.

lingerie sexy bombasse
May 28, 2014 at 5:01 pm

Je me permets d’écrire un com uniquement pour
féliciter le webmaster

james S
Oct 11, 2014 at 8:04 am

you are my Hero :) thx for sharing your knowledge .
i sure you know that now you can “hijack” (not crack ) apG ou ptgui to stich in after effect or even another compoisting packages nuke … .

great thx

Jan 22, 2015 at 2:48 pm

im interested on doing some videos and photos with a 360 panoramic view for architectural purposes. all this installed on a dii s900 drone. can you help me to give infos and prices.
best regards




Copyright © 2015 Ryan Jackson Photography All rights reserved. Theme by Laptop Geek.