cancel
Showing results for 
Search instead for 
Did you mean: 

My Gopro 3+ Black 180 degree stereo rig

mediavr
Level 4
Here is a 180 equirectangular stereo movie done with a twin Gopro 3+ Black rig
https://www.dropbox.com/s/gslyccr43c8whwy/eveleighmarkets.mp4

In VR Player under Media you need to set Format to Side by Side and Projection to Dome

Until recently there was no way to get good synchronization reliably with recent Gopros for stereo but there is now a sync cable you can buy from http://3dguy.tv/ which works well. I am not sure if the concept behind it can be extended to work with more than 2 cameras

Basically my rig for this video looks like this http://www.mediavr.com/gopro3plusfisheyestereorig.jpg
with replacement Sunex lenses to get about 180 by 150 degree coverage on the 1920 by 1440 format on the Gopros

It is very simple to shoot 3d for the Rift with this because all you need to do is hold the camera level and point it generally in the right direction.

For more accurate composition I can plug a Gopro LCD Backpak into the cable or I can plug a 7" monitor into the HDMI socket of one or other of the Gopros -- I have this one
http://www.ebay.com.au/itm/FEELWORLD-7-TFT-LCD-HDMI-Monitor-FW678-HD-O-W-Sun-Shield-Shoe-Mount-f-Cam...

With two LCD Backpaks connected you can get stereo previewing of the video if you arrange some optics (spare Rift lenses maybe).
153 REPLIES 153

flyingndiving
Level 2
Very cool! I plan on making a stereoscopic paragliding vid this spring, and will use a couple of hd hero 3s for it.

For synch, couldn't you use an audio cue to tie the two cameras together with?

Regards,

Mark

geekmaster
Level 4
"flyingndiving" wrote:
Very cool! I plan on making a stereoscopic paragliding vid this spring, and will use a couple of hd hero 3s for it.

For synch, couldn't you use an audio cue to tie the two cameras together with?

Regards,

Mark

"At variable framerate. As in, the timecode is actually accurate enough between the cameras, but when th...



This may be obvious to you, but in case it can help even a little, I will add my "two cents worth" to this discussion:

The "old school" solution to this back in the analog days was to record a timecode with your video. I have an old 8-bit ISA MIDI card that could read and write SMPTE timecodes to an audio track, but these days it is usually written to the VBI (where things like Closed Captions are also commonly stored). Digital cameras may be able to interleave timecodes into the digital video stream. Beware that the timecode needs to be sinewave modulated (like my MIDI card did) or the square wave harmonics will not record well on a compressed audio track.

Here are some people recording audio timecodes with goPro cameras:
http://jwsoundgroup.net/index.php?/topic/15114-audio-and-timecode-onto-a-gopro/

Essentially, you can use one of the audio tracks to hold a (sinewave modulated) timecode on each camera. It can even be subsonic (not accurate to an individual frame) so you can still put audio on all tracks, and filter out the timecodes later...

The problem with using the internal timecode generator in video cameras is that they are NOT genlocked and can drift. It is much better to use a single timecode generator to keep them all genlocked (often an output from one of the cameras that is fed into the others). For cameras that do not support genlock, these days you could use a little embedded processor like an arduino to generate the common SMPTE audio signal that gets recorded on one audio track on each of the video cameras.

More on timecodes:
http://campbellcameras.blogspot.com/2011/08/importance-of-time-code.html

mediavr
Level 4
Re sync
I think it is very important. With the Gopro 2 3d Kit the linked Backpac units provide a synced video start and then it relies on the cameras having no relative drift to stay in sync -- which they do in my experience. With the sync cable from 3dguy.tv the principle seems to be the same, except it works with Gopro Black 3 and 3+ (maybe other 3 models too). The sync is as good as with the 3dkit for the Gopro 2 I would say. There are inconveniences though with having to use scripts on the cards, and having to pre-choose the duration of each sequence (30sec, 5 minutes etc).

Also if you want to get the closest interaxial with the Gopro3s-- cameras horizontal, one inverted relative to other -- you are out of luck for fast action scenes as the rolling shutter is different and you get missyncs. The closest you can get otherwise is with the cameras vertical, and both up the same way. Also mp4 compression can introduce missyncs sometimes even if everything else is ok.

For audio syncing it is simple to line up audio tracks in After Effects etc if you have sharp sounds. People use Pluraleyes a lot to automate this. But the sync is only to a frame accuracy, not subframe which is what you need. I think the sync error should be less than 1/500 ideally. As the Rifts get higher res missyncs will be more and more painful

mediavr
Level 4
Here are a couple of pics of a side by side vertical Gopro Black 3+ rig
http://www.mediavr.com/verticalgopro3drig.jpg
http://www.mediavr.com/verticalgopro3drig2.jpg
This works well as a handheld rig where you look through the magnifer at the LCD Backpac image from one camera with one eye while the other eye monitors a bubble level

and here is a short video shot with it
https://www.dropbox.com/s/e7ipoxoii8ccci4/woolworths.mp4 (23Meg)

(In VR Player under Media you need to set Format to Side by Side and Projection to Dome)

The closer lens interaxial helps when people get very close to the camera

One issue with shooting full circle fisheye views with Gopros is that the camera sees a lot of black around the image circle and thinks the scene is dark and often overexposes it. It does this even if you choose spot metering mode. Lately there is a hack for the autoexec file you put on the memory cards (for the syncing). You need to add a line at the start of the script which locks the exposure for video - so you point the camera somewhere bright at the start and it locks the exposure at a darker setting.
See https://github.com/KonradIT/autoexechack/tree/GoPro/LockVideoExposure

This works great and removes an aggravating glitch for shooting 180 3d movies with Gopro 3+ stereo rigs.

3dguy
Level 3
Looks good! I am working on a 3D printed Oculus Rift Rig. Anyone interested please contact me. 8-)

mediavr
Level 4
I was asked to write an article about 3d panoramic videoing for the Rift by Stereoscopynews ..
here it is
http://www.stereoscopynews.com/hotnews/3d-technology/software-a-hardware-tools/3493-a-vertical-3d-ri...

someone on Reddit/Oculus asked why my videos were short ... short attention span maybe .. but I gave this answer too ...

The workflow for converting the fisheye videos into side by side movies in a format for VRPlayer for the Rift has quite a few steps -- so it is time consuming to do longer movies. This is what I typically do- load both videos into After Effects and trim off bits of the videos I dont want. Align the videos (using distant features in the views) in After Effects. Export both videos as image sequences (plus a sound track). Batch process each of the image sequences in Photoshop to improve the image quality -- denoise, color correction etc. Load the first of the L images and the first of the R images into PTGui Pro (a panorama stitching program). Get the program to find common features in distant areas (using masking to constrain point finding to distant areas). Using the first L shot as the reference get PTGui to work out the roll, pitch, and yaw, and H and V shift values of the first R shot to bring it into exact alignment with the first L shot for the distant areas. Save this data as a template. Then you use the intrinsic lens values you have for the first L shot (fov, a, b and c distortion factors - by a precalibration process with a panorama head) to apply to all the L shots. Export from PTGui all the L shots in a 180 by 180 equirectangular format. Then load all the R shots, set the roll, pitch and yaw values and H and V values (shift) and intrinsic lens characteristics values you have obtained by precalibration to all the R shots and export those. Then load both new L and R image sequences into After Effects, use the Mesh Warp distort filter to fine tune vertical alignment in local areas, and export as another image sequence. Then load both new image sequences into After Effects again, arrange in side by side mode, add the sound track and export as an mp4 for VRPlayer and upload it to Dropbox.
As you can see there can be quite a lot of processing steps in After Effects, Photoshop and PTGui Pro -- some of which can be slow, though generally each step is fast as the images are small -- so for demonstration purposes I am inclined to make shorter movies, especially as it is hard to see if will work well til you finish.
One reason why it is so convoluted is that Gopros have quite loose tolerances in the assembly of the sensor units so often the lens barrel is off centre (by many pixels) in respect to the sensor (the sensor is just taped on to the sensor barrel). So the vertical and horizontal alignment of Gopro shots , even from exactly the same position will be very different generally in two cameras , requiring quite rigorous alignment processing for good results.
Yes I should do a proper tutorial on all this -- but at least the process is very replicable, and a precise rig gives good starting points and the good sync and exposure lock now possible with the latest Gopros is very motivating.

mediavr
Level 4
I have been experimenting with hyperstereo lens separations -- like 20cm for this video
https://www.dropbox.com/s/t6sfuw6tt435lek/pittstmime.zip (64Meg)
After you load the video with VRPlayer go ... Tools/Load Preset and select the file with the "json" extension

This 180 degree wide 3d video was shot with the aid of a pole with the cameras about 4 meters in the air. With too much separation you get "toyification" where everyone looks like a doll but this looks pretty natural to me. I had the cameras tilted down a bit so there is a quite a bit of detail at the nadir. With scenes like this with a lot to look at at the nadir it is more comfortable to be standing rather than sitting sometimes.

mediavr
Level 4
Here is a slow motion test with my cameras at 48fps and played back at 24fps.
http://www.reddit.com/r/oculus/comments/1vw43t/slomo_180_degree_3d_video_with_gopros_3_black/

CyborgMcloud
Level 2
I think this should also be relevant for stereoscopy video recording:

http://www.indiegogo.com/projects/3d-webcam/x/6220875