StreamCam User Page

StreamCam allows Mac users to obtain a high resolution video feed of their iOS camera with no obstructions. Although it’s now been sherlocked in MacOS Ventura, it was a valuable tool during the pandemic.

What problem does StreamCam solve?

In 2020 our church was looking for a way to stream live video to our congregation stuck at home. We (naively) believed this would only be for a few weeks, so we didn’t want to spend too much on a camera, and we were looking for a solution that could use the good enough cameras in our iPhones.

Connecting an iOS device to a Mac will provide a high resolution screen mirror, which I wanted to use to display the output of the device’s camera. Unfortunately there’s no way to remove the UI overlays of the stock camera, so I began working on a solution using AVFoundation.

The only function of the app is to provide an unobstructed camera viewfinder, that the user can manipulate in a Mac application such as OBS.

Building StreamCam

Although I’d learned Swift as a language a few years earlier, this was my first real project.

The initial viewfinder was very easy to implement using boilerplate AVFoundation code and UIKit, and so the main challenge was figuring out an interface that would be intuitive to the user, but show nothing on screen when using the app.

Users needed to be able to switch between the front and rear cameras, and on devices that supported it, switch between camera lenses.

user interface
User interface

The final interface always appears on app launch, but disappears with a tap. Users can double tap to switch between front and rear cameras, and single tap to focus as normal. There’s a concise help screen with customised SF Symbols icons to give users an overview of the control scheme.

help screen
Help screen

StreamCam is a niche tool, but has consistent traction in the App Store, although I expect that to tail off with the release of Continuity Camera in MacOS Ventura.

Updated: