Skip to main content
Up and Coming
December 21, 2013

My Gopro 3+ Black 180 degree stereo rig

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-Camera-/141125167872?pt=LH_DefaultDomain_15&hash=item20dbb72b00&_uhb=1

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

    153 replies

    mediavrAuthor
    Up and Coming
    July 24, 2014
    http://ge.tt/3Dh79Gp1/v/0?c shall work with vrplayer or totalcinema360.
    the link is not working


    Here is another test video of the Alaudoptical fisheyes
    https://www.youtube.com/watch?v=njUnZcSDWiI (watch at maximum res)

    It is a exterior urban dusk scene. Direct from camera . Shot with Protune so it looks flat by default. At original 2.7K setting. It shows how much vertical coverage you can get in this 16:9 format. You get more coverage with the 1920 by 1440 video setting but the 2.7K seems like a more "raw" format to my eye - and is sharper because more hi res too.

    Here he explains resolutions and processing induced aliasing on the Gopro Black 3+
    http://abekislevitz.com/understanding-your-new-gopro/

    The image circle is 182 degrees according to the spec sheet. I havent calibrated it yet in PTGui.
    The video shows the edge sharpness and lack of color aberration of the lens. (But the original looks a lot sharper than the Youtube version unfortunately.)
    All the four lenses I got seem the same.
    Shot at 25fps (because of PAL lighting here) .
    Having partial frame coverage by the image circle is good generally because it means there is less bounced light spillage in the interior of the lens barrel/sensor camera interior and better image contrast. But smaller image circles mean less resolution of course.

    I spent quite a bit of time fine tuning the mounting and alignment of the lenses -- and focus testing to get sharp even
    focus across the field. When you remove the original lens from the Gopro the usual brute force way (rather than
    the complete disassemble and rebuild with a new lens barrel approach) the lens barrel turns out to be quite a loose fit
    for standard M12 lenses -- with some slop laterally -- which can lead to variable and uneven focus. So eventually to get good consistent focus with these lenses on the three cameras I have installed them on I made custom (wooden) little collars -- (like thick washers) to go between the lens and the camera body as it screws in. So when they are screwed in firmly, they are in precise infinity focus (actually I focus on about 2m) and parallel alignment to the camera body. I made a tool, like a custom level, with a bullseye bubble level, glued to a small cap, like a little hat, that fits over the lens and sits on it, and a leveling surface for the camera to sit on - to help with the alignment fine tuning. To focus I generally use a LCD Gopro screen with a magnifier and I set the video view to Narrow. Then I do tests with 12M stills around that point.

    One issue with having partial frame coverage with circular fisheyes is that the non-image part of the frame is black and will bias the auto exposure setting of the Gopro. You could use spot metering mode but that I find leads to exposure that varies a lot through the shot. So I stay with average mode and fix the exposure using the new EV controls in the Protune settings. Usually I set it to -0.5 or -1 EV. Here it is -1 EV. Then you are more likely to be able to retain highlights and you can bring up the overall brightness with Curves afterwards in processing. But the sample Youtube video here is the original mp4. But if you have a backlit scene you need to set it back to 0 EV or plus settings. Also in Protune settings there is maximum ISO setting. Usually I have that at the minimum 400ISO but in low light you have to set it higher to get bright pictures -- here it is at 6400ISO. Also you might choose higher ISOs when you are getting too much subject motion blur in your videos,
    Participant
    July 25, 2014
    sorry, updated link goes here:
    http://ge.tt/3Dh79Gp1?c

    If you access to a smartphone viewer, you can check this gyro enabled version: http://www.izugar.com/demo/3603d/ixi1_sbs.html

    I removed the lens by following the ifixit approach, however removing the lens from the mounting cup still need some kind of violence. I did once trying to 3D print a lens mount, but the high working temperature (upto 70c!) may affect the stability. Luckily I could find some spare mounting cup from a local repair workshop :) may be one day we shall all switching to backbone-hack for easier lens changes.
    mediavrAuthor
    Up and Coming
    July 26, 2014
    I built a rig yesterday to shoot 360/180 2D videos with my 3 Alaudoptical fisheye Gopros

    http://www.reddit.com/r/oculus/comments/2brgx2/spherical_4k_360180_videos_with_only_3_gopro/

    The new PTGui betas make it much faster to stitch 360 videos. Also I used PTGui here to stabilize the video (I was holding the cameras on top of a pole) - the point finding/calibration process is more robust and faster too.

    PTGui can be used for stitching videos with the Batch Builder tool. You need to convert your videos to frame sequences and and put them in separate folders .. then rename them with a file renamer so that you append, say, a to the first cameras files, b to the next, c to the next ... and then put all the files in the one folder and sort by alphabetical order, so they are eg. qvb001a.jpg, qvb001b.jpg, qvb001c.jpg, qvb002a.jpg, qvb002b.jpg, ... etc .. Then the Batch Builder tool will be able to create PTGui projects for the successive 3 image panoramas and send to the batch processor. (You need to solve the stitching of the first trio of images separately of course and create a template first.)

    Stabilizing with PTGui with long image sequences was frustrating til the current betas because it took so long to iterate attempts. But now it is good -- what I usually do is (I'm talking about stabilizing the stitched 360/180 frames) is first select half a dozen frames from the the start, more from the middle of the sequence, and the last half dozen. Then (after masking out action-filled foreground areas) I get PTGui to find the common points for the those frames (I set number of control points in options to maybe 6 points per frame -- normally you would use more for regular stitching). This step forces PTGui to find common points between the first frames and the last frames. If you just get PTGui to find common points from all frames at the start without this step PTGui's point finder works sequentially I think and you might end up with no common points between last and first points which can lead to a roll or pitch drift through the frames.
    ... I guess I should say the idea of the process is you stabilize the 360s by treating the first 360 frame as fixed (you have levelled it carefully when it got stitched in the stitching process) and you Optimize the roll, pitch and yaw of all the rest of the frames and then you set the stitcher to output separate files. In this case input and output formats are the same i.e. 360/180 equirectangulars.
    Up and Coming
    July 26, 2014
    The video looks really good.
    Although you can get PTGui to this it is much easier and faster to do it in VideoStitch.
    Up and Coming
    August 1, 2014
    Trying to stabilize some of my own footage. It was shot on a tripod with a fisheye lens but when I zoom in I can see a slight wobble as it plays. It is just a few pixels but I want to fix it. I am already putting the footage through PTGui to wrap the frames from fisheye to rectilinear so why not stabilize at the same time. The video is being expanded

    Choosing 20 pixels per pair create more than 160 control points connecting any one image to the rest.

    I chose a single variable to optimize to force PTGui to calculate control point distance and deleted everything over 5 pixels right from the start.

    I locked down one frame in the middle to exact YPR I want then optimized the first and last frame to match.
    Locked down those three frames and optimized the rest to match.

    The result was less stable than the original. :(
    I started to mask out the sky But there were not many clouds to place control points on. And 530 frames is too many to paste the same mask into. To have to remove them all before warping.


    I am wondering if because PTGui rounds control point distance to the nearest pixel it is causing some of this problem?
    Hugin allows to fine-turn control point distance to sub-pixel accuracy and maybe it would be a better choice. Plus it has a sequential optimization instead of global.

    Any more insight. I'll probably try Hugin in the next couple days to see if it is actually better.
    mediavrAuthor
    Up and Coming
    September 2, 2014
    Workflow stuff:

    The most recent 3d Rift videos I've made I've processed (aligned, color corrected, outputted) just with After Effects . Which is not the most precise or most versatile way to do it but it is quicker most of the time than going back and forward with AE and PTGui . It is much more possible to do this (work in AE only) if your video is level -- ie. eg. shot with a 2 axis stabilizer.

    Viewers like Whirligig and LiveViewRift support side by side fisheye formats and it is a pixel efficient format for 180/180 3d videos. Whirligig calls this 3d format Stereo Dome (you need to set the tilt to 90 degrees) and LiveViewRift calls it "equid" aka equidistant or fisheye with value 1.0 if it is a 180 fisheye circle.

    With 1440p on Gopro3+ with Alaudoptical 1.41mm lenses you get full circle fisheye coverage which calibrates to about 185 degrees in PTGui. But one of my lenses is slightly different fov to the other in my 3d rig. Which corresponds (approximately) to a slight resizing in After Effects of one video vs. the other. But otherwise the image geometry of the two lenses seems to be similar.

    So in AE with dual 1440p 3d videos I load both videos into AE and crop to 1440 by 1440 pixels. Then I take the L (top layer) video say and center it carefully in the frame so the image circle is concentric with the frame. Then I move the R video (with the L video at 50% opacity or using Difference Blend mode at 100% opacity) so it aligns in the most distant areas of the videos.
    To fine tune this I adjust the R video to the L video with Position, Rotation and Scale adjustments. Usually my R video ends up being something like 99.1% the Scale value of the L video.

    Then I temporarily apply a Optics Compensation filter (in AE) to get a very wide angle rectilinear view with the L video.

    This dewarped view I use to fine tune the roll rotations by fine rotating (both) videos together and using vertical Guide lines on scene verticals. Easier to do accurately with a rectilinear view. Then I turn off the Optics Compensation filter.

    (You can copy/paste the alignment transform values you've worked out to other videos shot with the same rig on the same occasion .. ie. the cameras in my rigs dont move relatively to each other on a given outing and I make sure I always shoot a distant scene sometime in the session that can be used for alignment purposes.)

    So then the alignment is done pretty much, and I export the L and R videos as jpg sequences and then compose them in side by side mode 180 fisheye circle (2880 by 1440) mode in a new Composition (and add the audio and export as an mp4 in Media Encoder). It is a pretty good workflow but not as accurate as you could do with PTGui steps. You havent corrected any deviations from standard equidistant fisheye geometry (PTGui a, b, c values) for instance. But my Alaudoptical lenses do not have much variation from standard fisheye geometry anyway so the Rift view still looks pretty normal (rectilinear) I think

    LiveViewRift allows very fine tuning viewing adjustments of vertical and horizontal alignment (to 0.1%) and has a "difference" viewing blend mode for doing this visually quickly and accurately. And then it remembers those values as part of the viewing session parameters. So you can be a bit more approximate with your AE alignment output if you intend to use LiveViewRift and to fine tune the alignment in that. But that is not something you could expect regular viewers using that viewer to do.

    See also this post of mine on tweaking LiveViewRift:

    http://www.reddit.com/r/oculus/comments/2f4nd4/liveviewrift_minitutorial_with_sample_1803d/

    Here are SBS fisheye 180/180 videos processed as above:

    http://www.dropbox.com/s/uhl2sc5dzu28d1h/cellofishsbs.mp4
    http://www.dropbox.com/s/0o81ryvktkerx6s/meetup1.mp4 (35 Mb)
    http://www.dropbox.com/s/iko1dzi4zl8wmkm/meetup.mp4 (50Mb)
    mediavrAuthor
    Up and Coming
    September 4, 2014
    here is a test of my Feiyutech 3 axis Gopro stabilizer on a pole with a single Gopro with the Alaud Optical lens. The Alaud Optical lens is much heavier than the standard Gopro lens so the stabilizer struggled a bit til I balanced the stabilizer for that rig. Which involved adding a couple of coins as a counterweight to one axis and shifting the camera holder back a few mm where it mounts to the immediately adjacent gimbal motor. Now it works as well as with the standard lens, except I must have shifted the gimbal sensor a few degrees which is why the video has a slight roll now. Must fix.

    Video is raw, straight from the camera, in Protune Flat mode -- which is why it looks washed out.
    https://www.youtube.com/watch?v=Ums-7RBiq4s
    mediavrAuthor
    Up and Coming
    September 9, 2014
    The Alaud Optical 1.41mm lens gives full circle coverage on Gopro and what I have been using lately.
    http://www.alaudoptical.com/en/products.asp?SortID=39 ... $40 last I asked ...

    Try shirley@alaudoptical.com
    mediavrAuthor
    Up and Coming
    September 10, 2014
    Yes you need the IR cut filter equipped version. Lens versions without the IR cut filter are used in security camera contexts where there are IR filtered light sources.
    Participant
    September 15, 2014
    Hi, I ve watched your cello video in MaxVR, dome projection and your video proportions and depths are one of the best I ve seen on dk2 so far. still, I think the videos should be shot in 4k each, even if you re getting only 10 or 12fps and workflow will be close to impossible. If you want, please send me 2 video samples and I can try to find a video format which is not so system-exhaustive.