We had some time recently between projects to play with our shiny new Ricoh Theta, which we used to photograph the levels in our latest app, Tiny Eye. After a fun brainstorming session with some other Yetis (wherein we were mostly clueless as to the realistic capabilities of the Theta) about cool things we could do with it, we decided to start small and test out the livestreaming capabilities of the Theta - particularly how smooth the experience was with VR goggles on.
For such a new piece of technology, there are quite a few resources available already, and much of the painful experimentation has been taken care of by the writers of those tutorials, but I thought I'd chronicle my own short quest to set up livestreaming, in the hopes of making the process even more painless. This post might seem intimidatingly long, but it should only take you about thirty minutes max to get everything set up.
- Unofficial Guide by Craig Oda - Livestreaming
- Livestreaming with UVC Theta
- Livestreaming on YouTube with OBS (Open Broadcaster Studio)
- How to Stream to YouTube
Deciding What Livestreaming Method to Try
If you take a look at Craig Oda's tutorial, he's put together a great chart of the four different types of livestreaming that you can set up with the Theta. If you simply want to see your camera working, there are slightly faster approaches, but I'm going to skip them - the dual-fisheye view wasn't super exciting to me as I have no idea how to stitch the two feeds together:
What I wanted, and what I'll assume you want, is the "Equirectangular feed", since that's the format we'll need in order to view our feed in VR:
There are a few important things I should mention before going any further, though (also minor plot spoilers!):
- If your VR Goggles are a Cardboard (or similar) + Smart Phone, you'll need to download the Cardboard app, which will then add a Cardboard icon to 360 videos on YouTube. Unfortunately, this functionality only exists on Android phones currently.
- If you have an iPhone, you'll still be able to "look around" the video by moving the phone, you just won't be able to put it into goggles for the full experience.
- We'll be streaming to YouTube - it's very easy to set up, and has built-in support for 360 cameras. I also tried Twitch, but that did not support 360, and also, Twitch is primarily a gaming platform, so it seemed like a worse fit. If you know of other services that support 360 video, please let me know in the comments!
- Unfortunately, streaming with HDMI does not currently support Equirectangular view (but is being developed), so you'll need to connect via Micro USB.
Before You Start
You'll need to download and install the following:
- Basic Theta Livestreaming App
- Theta Blender (adds Equirectangular functionality)
Although the first page has a link to download both the Basic App and the Livestreaming App, when downloading the Mac versions, both links downloaded the same file, so I needed to do a Google search to find the working Blender link. If you get a warning on mac that you're unable to open either of the files because they're from unknown developers, instead "Right Click" on the file and select "Open" from the menu.
Equirectangular Livestream Prep
You'll want a computer (I'm using a Macbook), the Ricoh Theta S, and a micro USB cable to connect the two of them. Do NOT connect the two just yet - the Theta will not let you activate livestreaming after it's been connected.
- Now that you've installed both of the above applications, restart your computer. You'll need to register the Theta to your computer, but it won't be detected without a restart.
- Make sure that the Theta is powered OFF. On the right side of the camera, when the shutter button is facing you, there are three buttons - Power, Wifi, and Camera/Video. If powered ON, there will be a red LED light that has lit up, so you should see this:
- After restarting, rerun the Blender app, and connect your UNPOWERED Theta to your computer via Micro USB. A pop-up should appear, stating that it is registering your device. For a more detailed explanation of these steps, see Craig Oda's post here.
- Feel free to fire up a Google Hangout (or similar) at this point to check that the Blender has been properly registered. See this step for an explanation on how to set up your camera.
Turning the Theta On in Livestream Mode
Unplug your Theta from the computer again and turn it off. Then, simultaneously press-and-hold the top and bottom buttons (Power and Camera/Video).
This turns on the camera in livestream mode - just like in the picture, you should see the red power light, as well as the "Camera" and "Live" icons. Once you see the "Live" light, you can go ahead and connect the Theta to your computer via USB.
Creating a YouTube Livestream
Go to YouTube - there should be an "Upload" button in the upper right (log in if necessary). Click it.
You should now see this screen. On the right, underneath of "Live Streaming", click on the "Get Started" button.
Now, you'll see a somewhat intimidating dashboard, but ignore most of that and look at the menu on the left, and under "Live Streaming", click on "Events".
Ah, a much less complicated screen. Click on the "New Live Event" button on the right.
In the first column, in the field directly under "Basic info", give your livestream a title. You can also change "Type" in the second column to "Custom", but we're not going to worry about that for now, so leave it as "Quick". No other fields here need to be selected, so now click on the "Advanced Settings" tab next to "Basic Info".
In the second column of the "Advanced Settings" view, towards the bottom of the options, you should see an unchecked option titled "360 video". Check it. You can ignore all other options, and then click the blue "Go live now" button.
Click "OK" when the popup tells you that a Google Hangout will be starting.
A new window containing the Google Hangout video feed should open. At the top there should be a set of options. If the Camera icon (third from left) is red, click it to enable your webcam. Then, click on the Settings gear icon (fifth from left).
Click on the first option in the menu that opens - we don't want to use the FaceTime camera, we want to use our Theta!
Select "THETA UVC Blender" from the dropdown options. In the preview, you should see an Equirectangular video. For reference, "RICOH THETA S" is the dual fishbowl view. Then click the blue "Save" button at the bottom.
Back in the Hangout, you should see a green "Start Broadcast" button, or a loading icon. Just click the green button to start broadcasting!
If you're curious, you can open the livestream in another tab to view yourself in action, or send the link to all of your friends! Click the "Links" button to get the URL to your livestream. You can also get the URL back on the Live Events YouTube page.
Since you're broadcasting in 360, viewers are able to click-and-hold on the video to change the viewpoint. Pretty neat!
If you've got an Android phone, and you've downloaded the Cardboard app, you can load up the stream (or the video that is saved after) on your phone and put it your headset!
But wait! If you've got an iPhone, all hope is not lost! Although you can't use the official YouTube app, there is an app called in360Tube that will allow you to view 360 videos (but not livestreams) on YouTube with you goggles. Give it a look if you're curious.
I've embedded one of my test streams here - it isn't very exciting; we're all sitting around talking about how streaming went - but feel free to watch it if you're curious!
This was a fun experiment, but as I'm sure you've noticed, the video quality isn't the greatest, and there is a significant delay between when you, the streamer, do something, and your audience sees it (10-20 seconds). Although there are some things you can do to increase performance - such as setting "Custom" options when creating your stream, rather than selecting the "Quick" route, or increasing your bandwidth - with my (admittedly limited) fiddling with settings, I wasn't able to make any drastic changes. If you have any tips, please let me know in the comments!
Where to go next?
Craig Oda's unofficial guide (linked above) is a great resource! The next thing I'd recommend would be downloading OBN and playing around with custom streaming settings. This video is a great walkthrough getting everything set up.
After that, assuming you're comfortable with programming, or are curious to learn, I'd recommend looking at the unofficial guide's API section and getting your computer to talk to the Theta! Start with #3 (Connect Computer to Theta S) and then go from there!
At the time of writing, you could not view 360 degree YouTube videos on the iPhone + Cardboard. Earlier this week, Google released an update to the YouTube app that adds that functionality. There will be a Cardboard icon in the lower right corner of the video if you're viewing it on your phone. Enjoy VR!
Alex Lin is a Software Engineer at Yeti. He's the master of writing Love Letters and orchestrating Coups.