Two free apps · one USB cable

Your iPhone, instead of a webcam.

For calls, recordings and streams on your Mac. Connect your iPhone over USB, then choose TetherCam in Zoom, Teams or Meet. No Wi-Fi, cloud or account.

Download for Mac .dmg · macOS 14+ Get the iPhone app App Store · iOS 17+

You need both apps. The Mac app is signed and notarized; enable its camera extension once. See the setup.

Recording in OBS? The OBS plugin replaces the Mac app and brings the phone’s microphone along.

Your iPhone becomes the camera TetherCam

The camera picker of a Mac video-call app such as Zoom: next to “FaceTime HD Camera” and “OBS Virtual Camera” the camera “TetherCam” is selected, with the iPhone preview beside it showing the status capsule “Streaming 1080p30”.
This is what it looks like in Zoom, Microsoft Teams, Google Meet or FaceTime: the camera is called “TetherCam”. Schematic of the picker; the preview is a generated studio scene.

App 2 of 2 · the Mac app

Choose TetherCam in your call app

The Mac app receives the camera picture and makes it available to your apps. It lives in the menu bar, with no OBS running.

TetherCam-mac.dmg v0.4.0, signed and notarized Checksum TetherCam-mac.dmg.sha256

Free and open source (MIT), macOS 14 or newer, Apple silicon and Intel. Not on the Mac App Store. Prefer a cask? brew tap kanevry/tethercam then brew install --cask tethercam.

Enable the camera once, then choose TetherCam in your call app. Keep the iPhone connected with its app open.

1080p at 30 fps, video only. Choose your microphone separately in the call. The Mac app and OBS plugin cannot receive at the same time.

Quick start · Camera approval and troubleshooting

Two ways to receive it

Mac app or OBS plugin

Same phone, same cable, same iPhone app. What differs is what receives the picture on the Mac: the Mac app for every app on the machine, the plugin for OBS Studio. Pick one at a time, the phone serves a single receiver and the second one gets BUSY.

The two receivers on the Mac, side by side. Both are free and open source, and both need the TetherCam app open in the foreground on the iPhone.
  Mac app OBS plugin
Works in Mac apps with a system-camera picker, including Zoom, Teams, Meet and FaceTime OBS Studio, as its own source on the canvas
Audio from the phone No. A macOS camera extension carries video only Yes, since 0.2.0, straight into the audio mixer
Needs macOS 14 or newer, and one approval of the camera extension in System Settings (administrator password once) macOS 12 or newer and OBS Studio 30 or newer. Installs into your home folder, no administrator rights
Best for Calls, meetings, recordings in any app. The default path Streaming and recording in OBS, where the phone’s microphone should come along. The pro path

Both paths are set up the same way on the phone: install TetherCam from the App Store, plug the cable in, keep the app in the foreground.

Measured, not promised

  • ~1 msPing round trip over USB
  • ~90 msTo the first frame after connect
  • ~1.3 sReconnect after a cable pull
  • 1080p301080p60 in OBS
  • 0Frames buffered in the plugin

Measured with an iPhone 15 Pro Max, M4 Pro Mac and OBS 32.2.2. Ping and time to first frame are not end-to-end video latency; that has not been measured here.

Demo

Fifty-four seconds, cable to canvas

The OBS source TetherCam showing a live 1080p picture from an iPhone 15 Pro Max over the USB cable
Live 1080p from an iPhone 15 Pro Max, decoded in OBS. The stream never leaves the cable. Shot on an earlier build; the Tools menu entry now names the source “TetherCam iPhone”.

One take, no cuts: the iPhone goes on the cable, the app says Streaming 1080p30, and the picture lands on the OBS canvas.

What the video shows, in order: the iPhone is plugged into the Mac with a data cable and the TetherCam app is opened; the app switches to a full-screen preview with the status line Streaming 1080p30; in OBS the Tools menu entry adds the TetherCam source to the current scene; the live 1080p picture appears on the canvas within about a second, already levelled to the horizon. Nothing is spoken, the on-screen captions carry the commentary.

54 seconds, 1080p, about 31 MB. Nothing downloads until you press play. Open the file directly. Recorded on an earlier build, where the source still carried its working name.

Quick start

Two apps, about five minutes

Download both apps, plug the cable in, done: TetherCam for iPhone captures, TetherCam for Mac publishes the picture as the system camera “TetherCam”. Streaming in OBS Studio instead? There the plugin takes the Mac app’s place. Run one receiver at a time.

A. The two apps: every Mac app

  1. Install TetherCam on the iPhone from the App Store and open it.
  2. Plug the iPhone into the Mac with a data cable. The first time, tap Trust on the phone.
  3. Download TetherCam-mac.dmg and drag TetherCam into Applications with Finder, then open it. It lives in the menu bar and has no window. Homebrew instead: brew tap kanevry/tethercam, then brew install --cask tethercam.
  4. Allow the camera extension once: System Settings, General, Login Items & Extensions, Camera Extensions, switch TetherCam on. Administrator password once; the menu bar app has a button that opens that pane.
  5. In Zoom, Microsoft Teams, Google Meet, FaceTime, QuickTime Player, Safari, Chrome or any other app that lists system cameras, pick the camera TetherCam. Keep the phone app in the foreground. Details and the picker paths: the Mac app setup guide.

macOS 14 or newer. Video only; choose a separate microphone in your video-call app. For phone audio in OBS recordings and streams, take path B.

B. OBS Studio (plugin, the pro path)

01

Install the plugin

Open the .pkg from the download section or run the one-line installer, then restart OBS. Nothing is installed system-wide and no administrator rights are needed. See the Install guide if anything goes sideways.

~/Library/Application Support/
  obs-studio/plugins/
02

Get the iPhone app

Free on the App Store since 2026-09-09, for iPhones with iOS 17 or later. The TestFlight beta carries the next builds before they reach the store. You can also build the app from source with a free Apple ID.

Download on the App Store TestFlight beta (early builds)

TetherCam on the iPhone: full-screen preview with the status line Streaming 1080p30
The app is one screen. A preview, one status line, and a gear icon for camera and rotation.
03

In OBS: Tools, then add the camera

Choose Tools, then TetherCam: Add iPhone camera to current scene. That creates the source and fits it to your canvas. Plug the phone in, unlock it, open TetherCam and leave it in the foreground.

OBS Studio · Tools
The OBS Tools menu with the entry TetherCam: Add iPhone camera to current scene
One menu entry instead of hunting through the source list.

If the picture stays black

The first row of the source properties is a status line that names the missing piece: no phone attached, app not in the foreground, or the live format once frames arrive. The app has a matching diagnostics sheet for the phone side.

The TetherCam source properties in OBS with the status line, device, camera, resolution, frame rate and bitrate
Source properties: status, device, camera, resolution, frame rate, bitrate, rotation.
The TetherCam diagnostics sheet on the iPhone: listener ready, connected, streaming, frames per second, kilobit per second, port, angle and residual
Diagnostics on the phone: listener, connection, live fps and kbit/s, port, angle and residual.

The data path

What travels through the cable

The iPhone captures with AVCaptureSession and encodes HEVC in hardware, then serves the stream on a local TCP port, 7878. The Mac reaches that port through usbmuxd, the same system service that carries Xcode traffic over the cable. The OBS plugin decodes with VideoToolbox and hands the frames to the canvas.

TetherCam data path The iPhone app captures and encodes HEVC in hardware, sends IUCM frames over the USB cable through usbmuxd on TCP port 7878, and the plugin on the Mac decodes with VideoToolbox and outputs an NV12 source. iPhone, TetherCam app AVCaptureSession, NV12, BT.709 HEVC hardware encode (VTCompressionSession, realtime) TCP listener on port 7878 IUCM framing, one receiver USB cable usbmuxd /var/run/usbmuxd plist Connect, port 7878 in network byte order Mac, OBS plugin usbmux and IUCM parser (C) VideoToolbox decode (VTDecompressionSession) obs_source_output_video2 source "TetherCam (iPhone via USB)" ~13 Mbit/s HEVC ~1 ms ping RTT No Wi-Fi, no cloud, no Continuity Camera. Wire protocol: protocol/PROTOCOL.md Control path back to the phone: START, STOP, PING every 2 s.
  • 1080p30 by default, 1080p60 in OBS.
  • About 13 Mbit/s HEVC, encoded in hardware on the phone.
  • Ping round trip over USB about 1 ms.
  • First frame about 90 ms after the source connects.
  • Reconnect after a cable pull in about 1.3 s.
  • No frame buffering in the plugin, each decoded frame goes straight to the canvas.
  • Auto horizon leveling with CoreMotion and the rotation coordinator.
  • Camera picker in the app: Back Wide, Back Ultra Wide, Back Telephoto, Front.

Rotation belongs on the capture side. The app levels against the horizon and rebuilds the encoder session when the geometry changes, so the Mac receives a picture that is already right way up.

The TetherCam settings sheet on the iPhone with the camera list and the rotation options
The settings sheet holds the lens picker, auto rotation and the diagnostics.
The advanced settings on the iPhone with resolution, frame rate and bitrate
Advanced settings: resolution, frame rate and bitrate, if the defaults do not fit.

Download · the pro path

Get the OBS plugin

For streaming and recording: the plugin adds its own TetherCam source to OBS Studio, with the phone’s microphone on the same cable and no virtual-camera detour. It installs into your own home folder, so it needs no administrator rights. Restart OBS once after installing. Only calling? The Mac app is the shorter way.

TetherCam-obs-plugin.pkg v0.4.0, signed and notarized TetherCam-obs-plugin.zip v0.4.0, Developer ID signed bundle

The .pkg is the signed and notarized installer. The .zip is the plugin bundle for manual installation. Full install guide and troubleshooting.

The one-line installer fetches the same release:

curl -fsSL https://raw.githubusercontent.com/Kanevry/tethercam/main/scripts/install.sh | bash

Read the script before you pipe it into a shell. It downloads the release bundle and unpacks it into the plugins directory in your home folder, nothing else.

Requirements

  • macOS 12 or later. Tested on Apple Silicon with macOS 26.
  • OBS Studio 30 or later. Tested with 32.2.2.
  • iOS 17 or later. Tested on an iPhone 15 Pro Max with iOS 26.6.
  • A data cable, not a charge-only one.

Since 0.2.0 the phone’s microphone travels on the same cable, with a mute switch in the app. Needs iPhone app 0.2.0 or later and a compatible OBS plugin.

Video calls and alternatives

Zoom, Google Meet, Teams, FaceTime

Continuity Camera also supports USB. TetherCam uses its own transport, with no shared Apple Account or cloud service.

Tested with an iPhone 15 Pro Max: QuickTime Player, Photo Booth, FaceTime, Google Meet in Chrome, Safari and ffmpeg (September 9, 2026); Zoom 7.1.5 and Microsoft Teams (September 10, 2026). Other apps that list system cameras have not been individually tested here.

If OBS is already running: start its virtual camera and choose “OBS Virtual Camera” in your call. The phone audio reaches the OBS mixer for recordings and streams. The virtual camera carries video only, so the call still needs a separately selected microphone.

How TetherCam compares. Rows describe what each tool does, not which is better. Details about the other apps come from their own product pages, checked 2026-09-09; features and pricing change.
  TetherCam Continuity Camera Camo EpocCam Iriun
Connection USB cable only, through usbmuxd Wireless by default, cable also possible USB or Wi-Fi USB or Wi-Fi USB or Wi-Fi
On the Mac OBS plugin in your home folder; or a menu bar app with its own camera extension Built into macOS, nothing to install Vendor app plus virtual camera Vendor app plus virtual camera Vendor app plus virtual camera
Shows up as a system camera in Zoom, Meet, FaceTime Yes, with the TetherCam Mac app; or through OBS → Start Virtual Camera Yes, directly Yes Yes Yes
Price Free, no paid tier, no account Included with macOS Free tier plus a paid version Free tier plus a paid version Free tier plus a paid version
Source code Open: GPL-2.0-or-later for the OBS plugin, MIT for the rest Closed, part of Apple’s systems Closed Closed Closed
Pairing and accounts None. The two devices need no shared Apple Account Same Apple Account with two-factor on both devices Vendor account for the paid version Vendor account for the paid version No account for the free version
Audio from the phone Yes into OBS since 0.2.0. Not on the camera-extension path, which carries video only Yes, the iPhone microphone can be picked separately Supported Supported Supported
Phones and desktops iPhone with iOS 17+ and a Mac with macOS 14+ for the Mac app, or macOS 12+ for the OBS plugin. No Android, no Windows, no Linux iPhone with iOS 16+ and a Mac with macOS 13+ iOS and Android, macOS and Windows iOS and Android, macOS and Windows iOS and Android, macOS, Windows and Linux

TetherCam is not affiliated with Apple, the OBS Project, Reincubate, Elgato or Iriun. Product names belong to their owners.

FAQ

Questions worth asking first

Can I use my iPhone as a webcam in Zoom, Teams, Meet or FaceTime on a Mac?

Yes. Install TetherCam on the iPhone and Mac, connect them with a USB data cable, enable the camera extension once, then choose TetherCam in your call app. This needs macOS 14+ and iOS 17+. Keep the phone app open. Your call uses a separately selected microphone. Start here.

Does it work without OBS?

Yes. The Mac app publishes your iPhone as a system camera at 1080p30. OBS is only needed if you choose the separate OBS plugin. Use one receiver at a time; a second receiver reports BUSY.

Continuity Camera is not working. Is this an alternative?

Yes. I built TetherCam after Continuity Camera connected but left the picture black on my setup. TetherCam takes a separate USB path and does not use the Continuity handshake, Wi-Fi or Bluetooth. The devices do not need a shared Apple Account.

Why USB and not Wi-Fi?

The video goes directly from the iPhone to your Mac through the cable. There is no wireless network to configure, and the phone charges while it streams. Continuity Camera also supports USB; TetherCam uses its own connection instead of Continuity.

How much latency is there?

On one setup, an iPhone 15 Pro Max with an M4 Pro Mac and OBS 32.2.2, USB ping round trip was about 1 ms, and the first frame arrived about 90 ms after connection. These are transport and startup measurements, not end-to-end camera latency. End-to-end latency has not been measured here.

Does it need administrator rights?

Not for the OBS plugin: it installs into your own home folder, with no daemon and nothing system-wide. The TetherCam Mac app is different, because a macOS camera extension has to be approved: you enter your administrator password once, in System Settings, when you enable it.

Which iPhones, which macOS, which OBS?

Both paths need an iPhone with iOS 17+ and a USB data cable. The Mac app needs macOS 14+. The OBS plugin needs macOS 12+ and OBS Studio 30+. Keep the iPhone unlocked with TetherCam in the foreground.

Does the audio come along?

The OBS plugin receives the iPhone microphone in the OBS mixer for recordings and streams, with iPhone app 0.2.0 or later. The Mac app and OBS Virtual Camera carry video only. Choose a separate microphone in Zoom, Teams or your other call app.

How do I use an iPhone as a webcam for OBS over USB?

Install the TetherCam plugin for OBS on the Mac, install the TetherCam app on the iPhone, then connect the two with a data cable. In OBS choose Tools, then “TetherCam: Add iPhone camera to current scene”. Unlock the phone and leave the app in the foreground; it shows “Streaming 1080p30” and the picture appears on the canvas. No Wi-Fi, no pairing code, no account and no cloud service are involved, because the HEVC stream travels only through the USB cable.

How does it compare to Camo, EpocCam or Iriun?

TetherCam is a free, open-source USB option for iPhone and Mac, with no account or paid tier. Other tools offer different platform support and wireless options. The dated comparison table summarizes those differences; check the vendor before choosing.

What does it cost?

Nothing. The iPhone app is free on the App Store, the plugin and the Mac app are free downloads, there is no paid tier, no subscription, no in-app purchase and no account.

Is it free and open source?

Yes. The OBS plugin is GPL-2.0-or-later. The iPhone app, Mac app, shared code, tools and protocol are MIT. There is no account, paid tier or tracking. From version 0.4.0 the Mac app asks GitHub once a day whether a newer version exists; you can turn that off in the menu under “Check for updates automatically”. See the privacy policy.

Does it work on Windows or Linux?

No, macOS only for now. The shared C core already builds on Linux, so a receiver for other systems is possible, but none ships today.

Where is the full install guide?

The install guide covers both paths, camera-extension approval and troubleshooting, including a missing camera or a black picture.

Is there a German version?

Yes. This homepage is also available in German. The detailed install guide is in English.

Source and license

Everything is public

Read the wire protocol, build both sides yourself, or write your own receiver.

Licenses: GPL-2.0-or-later for obs-plugin/, because it links against libobs. MIT for the iPhone app, the Mac app, the shared C code, the tools and the protocol spec.