This project is a proof of concept on 3d side by side video recording by using 2 180º fisheye cameras. The prototype built uses 2 cameras in an array mode to generate a stereographic stream (real time), with the addition of 3d navigation as result of the 3d mapping and a virtual camera within a skydome.
The App counts with 2 major functionalities: 1. Video recording: files get stored under bin/data/videos. 2. Video streaming: udp only for now.
The 180º image rectification process is based on the work presented by Paul Burke, here.
The protoype requires a custom homemade set of cameras. A pair of 180º cameras imitating the humain eyes. I used a small cardboard box with two holes and a couple of pair of screws.
The camera device looks like this...
Software in action
Watch the video:
The 3d navigation software is implemented in C++ using OpenFrameworks 0.9. Modules used:
- ofxGui for menues and settings
- ofVideoGrabber for video capture
- ofxVideoRecorder for video recording / live streamming
- ofSphere / ofBox for skydome
- OpenGL 3.2 - GLSL v150 for image rectification
- ffmpeg - video encoding / streaming
- Generate real-time video straming for mobile devices (cardboard)
- Transmit sphere texture instead of rectified captures, in order to make rectification on the mobile device and have real-time tilt/rotation.
- Build 360º views using an array of 4-5 cameras.