Virtual reality recording and streaming using the Raspberry Pi

Similar projects worth following
Using the Raspberry Pi, the PiHead will record and stream audio and video for a virtual reality experience. The setup will be mountable on one's head, either using a hat or headband, and will include two wide-angle cameras and two microphones for binaural audio recording.

Looking to build a streaming and recording rig that can be mounted onto someone's head.

Currently waiting for remaining parts to arrive, such as the camera lens mounts and second WiFi dongle.

  • 1 × Raspberry Pi 2B
  • 1 × Raspberry Pi A+
  • 2 × Sunvision CCTV 1.8mm F1.8 monofocal 170⁰ M12 mount camera lens
  • 2 × M12 mount adapter with 21mm spacing for Raspberry Pi camera
  • 1 × PNY CB1650 USB battery pack

View all 8 components

  • Testing WiFi Router and Buttons

    Costas Vav08/04/2015 at 20:25 0 comments

    The Wireless-N wifi router arrived. With a quick setup, it is working perfectly.

    Tested streaming to my laptop from both RPi at the same time at 1296x972 with 30 FPS. Result is low latency (around 200ms) and no bandwidth issues. The router fixed the issue from before. Not completely sure it is truly 30 FPS, but I will look into that later.

    While waiting for the router to arrive, I started using buttons with the RPi using Python. I have in mind to control the start and stop of streaming with buttons, along with recording and possibly other settings like brightness. Buttons appear very easy to work with and had no troubles working with the RPi.GPIO Python library. Not sure if all GPIO pins can work as input without using resistors (I know some can), so I ordered some anyways.

  • WiFi Stall

    Costas Vav07/31/2015 at 20:48 0 comments

    Attempted to setup my laptop as a WiFi access point with no success. The laptop is running Lubuntu 15. In an effort to not waste more time on fiddling with Hostapd and other Linux packages, I just ordered from a $17 WiFi-N router that runs OpenWRT. It should be here in a few days. This should clear up any possible bottlenecks due to running the WiFi network from a RPi.

  • Testing Camera and WiFi

    Costas Vav07/29/2015 at 19:47 0 comments

    Now that both M12 mounts, 2nd WiFi adapter and RPiA+ case have arrived, I have completed more testing. The mounts do not fit perfectly, so I cannot use the provided screws. A little wire works well to hold them in place, until I find a better solution.

    Test Setup:

    RPi2 as WiFi Access Point (bypass my work WiFi, which is terrible)

    RPiA+ and laptop connecting to private WiFi network

    Stream video using Gstreamer (UDP) and Netcat to laptop.


    There appears to be a bottleneck somewhere in the WiFi bandwidth. At low resolutions, e.g. 800x600 or less, the RPis can both stream to the laptop with minimal latency. Anything higher and one or both streams start lagging intensely and data is no longer delivered consistently. The RPi2 is also not receiving enough power at higher resolutions and the power is light blinking. I need to use a better USB cable, as my current one can't carry the full 2.1A of the wall charger.

    Going to switch my laptop to be the Access Point, hopefully it can handle the bandwidth better if I can get it working. Troubling, as it does not have an ethernet cable to keep internet working.

    Note on lenses:

    M12 lens ratings (FOV etc) do not translate correctly when used with the PiCamera. Probably due to the sensor size. Either that, or the lenses are not as labeled.

  • Testing Camera

    Costas Vav07/17/2015 at 19:09 0 comments

    Testing the camera's different resolutions and frame rates.

    Testing MJPEG streaming between interfaces and RPi boards.

    Testing GStreamer between RPi, Linux, and Windows.

View all 4 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates