The Interactive & Immersive HQ

Harness Your Smartphone Camera

Who would have thought 10 years ago that the best camera most people would have would fit in their pocket and was also their phone? Not only is it the best camera most people have, but smartphones have objectively great cameras in them. Every year the new iPhones, OnePlus, Samsungs, and etc, all get upgraded cameras. They have great resolution, wide angle lenses and telephoto lenses built in, great low-light performance, and more. But there has also been one missing link…how can you harness this camera in your day-to-day creative coding or in an interactive installation?

My setup

The setup I have recently gotten up and running is quite simple. I found an app on my iPhone that can transmit the video signal from the camera over USB to my computer. I capture that in OBS, then expose that to the rest of my computer as a virtual webcam.

In practice, this entails downloading OBS Camera from this link on your iOS device. Then downloading OBS Studio from their official website. If you haven’t worked with OBS before, it’s quite an incredible piece of software. It has built-in connections to tons of live streaming platforms including Facebook, YouTube, Twitch, and tons more. You can grab video and audio sources, mix them together, and even do some basic compositing of graphics. Best of all: it’s free! Once you have OBS installed, the OBS Camera app has it’s own plugin for OBS that allows it to pickup the video stream from the iOS device. You install that and follow the directions in their documentation, and you should start seeing your iOS device transmitting to OBS. The final step is to expose the output of OBS Studio as a virtual webcam so it can be seen by all of your favourite applications. You can do this with another plugin for OBS (do you see a pattern here of amazing plugins??) that is called OBS-VirtualCam and can be found here.

Once that’s all setup, you’ll have something that looks like this:

Then in any of the applications you use, such as Zoom, TouchDesigner, Processing, Notch, etc, you can access the mobile phone camera as if it was just a regular old webcam.

What about Android?

If you’re on Android, you can almost certainly find similar applications to OBS Camera for iOS. I don’t have an Android phone to experiment with those apps but be sure to read the reviews to see what features and capabilities the apps have. I imagine there will be even more variety of apps for Android as the Android operating system is a bit more open for things like this from my understanding.

Get Our 7 Core TouchDesigner Templates, FREE

We’re making our 7 core project file templates available – for free.

These templates shed light into the most useful and sometimes obtuse features of TouchDesigner.

They’re designed to be immediately applicable for the complete TouchDesigner beginner, while also providing inspiration for the advanced user.

Network setup

So you’ve got this setup and you’re wondering to yourself “How do I get off the wire??” Well, you’re in luck. While I was researching this setup, I found a ton of applications that took the camera feed from the smartphone and sent them out over NDI. If you haven’t used NDI yet, it’s an incredible network protocol for sending video data between devices. It’s fast, easy to use, and performs quite well. OBS Camera for iOS features NDI transmission as well if you wanted to use it. Then you could even skip the OBS stage if you wanted and pickup the video signal directly in TouchDesigner’s NDI In TOP or in Notch or similar.

The additional interesting elements about NDI are that as long as you have available network bandwidth, you can add more devices! You could have you and all of your friends mobile phones streaming their cameras into TouchDesigner and create a mobile virtual studio setup by giving each one of their iOS devices a different NDI stream name.

Another app worth checking out if NDI sounds better for your situation is NDI’s official iOS apps here. This come directly from Newtek (the makers of the NDI protocol) so I would like to think there’s a high level of quality assurance that goes into making it. Similarly, there will be tons of apps you can find on the Google Play Store that take the camera feed and stream it out over NDI.

Quick tip!

Fellow TouchDesigner developer Robert Erdos sent us a nice message with a fix for a problem some folks may experience where the capture in Zoom from OBS virtual camera might stop working. If you encounter that issue, you can check out the link below from the OBS forums on how to get Zoom working again after recent updates:

https://obsproject.com/forum/threads/obs-zoom-no-video-capture.113834/?fbclid=IwAR0-PB8o7Bhvgpvukpf-iMIQ5OaxF_of8A_jZ0hfa3okxwQz_4lWT-gDYiU#post-431128

Wrap up

Whether you’re looking to start a livestream in your downtime or implement some smartphone live camera feeds in your next project, this post should give you two different approaches to that. If you’re looking for the most reliability with the least amount of overhead on your network, I’d suggest using the direct USB connection. If you’re looking for wireless connections that can pipe straight into any NDI-capable application, then NDI will be the solution for you. Enjoy!