How to Use an Old iPhone as a Webcam for Your Mac

So we’re all working remotely right now and participating in a lot of video chats. Unfortunately, laptop webcams are generally terrible.

If you want your image to look decent or want the video perspective to come from above your desktop monitor (instead of that off-to-the-side laptop angle many of us are sporting), a proper USB webcam is in order.

Naturally, a surge in demand for webcams has driven inventory down and [prices up][logitech webcam prices], particularly for [favorably-reviewed][wirecutter webcams] models.

If you’re not willing to wait for weeks or pay through the nose, what are you to do? There’s an app for that.

## The Test Subjects

Searching around for _use-phone-as-a-desktop-webcam_ apps that work with macOS, I found two options:

  • [Iriun Webcam]
    • [Iriun Webcam for iOS][iriun_ios] – Full-featured and free
    • [Iriun Webcam for Android][iriun_android] – Free with a video watermark (removable for a $4.50 in-app purchase)
  • Kinoni’s [EpocCam]
    • [EpocCam for iOS][epoc_ios] – Free but ad-laden and limited to an impractical 640×480; the $8 [pro version][epoc_ios_pro] adds features and removes the limits and advertisements
    • [EpocCam for Android][epoc_android] – Free with no ads but also limited to 640×480; the [pro][epoc_android_pro] version costs $5.50

Both apps require you to install a special app on your Mac, and they’re pretty spartan affairs: a single window with a video thumbnail and a named virtual webcam device appearing in other apps.

I also brought an iPhone SE out of retirement for one last mission.

iphone se
(Shown with mounting hardware)

## App Impressions – EpocCam vs. Iriun Webcam

### EpocCam iOS

Because of its ads and limitations, EpocCam’s free version clearly isn’t meant to be used for any practical purpose. It exists only to prove that the tech works.

The tech… kinda works. It usually took a while to connect, and it wasn’t always able to recover after one side restarted. Sometimes I had to quit both apps, start the desktop app, then start the mobile app. I would hate to have to do that during a meeting.

Worse yet, I was never able to reliably connect via USB, even in airplane mode. It worked once or twice, but without rhyme or reason.

Apart from that, the app is adequate. There’s a video preview (when it’s not obscured by a fullscreen ad, that is) and buttons to flip horizontally, switch between front/rear camera, and turn on the flashlight. I’m not sure why you’d ever want to turn on the light.

### Iriun Webcam iOS

Like EpocCam, Iriun has a button to switch between front/back cameras and a button to blind yourself with the flashlight. Unfortunately, there’s no horizontal flip.

Unlike EpocCam, however, Iriun reliably connected with both wifi and USB. I’m even able to keep the phone in airplane mode!

### Android

Just for completeness, I fired up both apps on my Pixel 3.

  • Epoc has no UI controls at all, just a (squished) video preview, and it doesn’t autofocus.
  • Iriun’s preview image geometry was also a bit off, but the app worked fine, and it has a few options, including camera selection. It also allows me to choose between my phone’s two front cameras; in the past I’ve noticed that few camera-using apps seem to bother with this. Unfortunately, wired use requires enabling [USB Debugging].

## Image Quality – 2018 Macbook Pro vs. 2016 iPhone SE

I’d like to thank my office mate for volunteering to help test these cameras. I think the image quality speaks for itself.

Yes, hello. This is Dog.

Can you see me now?

(Images captured from [this webcam test page][webcam test page].)

## Hardware Setup

It won’t win any awards, but this, um, _rapidly prototyped_ approach is working nicely.

iphone taped to back of monitor

I put a little putty between the phone and the monitor to provide a bit of adjustability, plus tape to catch the phone if the putty fails.

iphone attached to monitor

## Caveat and Conclusion

There’s one big caveat to using phones as webcams on macOS: many apps won’t be able to use them.

Virtual webcams are apparently implemented as plugins, where the camera-using app has to load a library from the camera provider. The last few versions of macOS have tightened security around plugins, and applications now have to [specifically opt out][disable library validation] of a security feature to use them.

Notably, Zoom 4.6.10 [removed virtual camera support][zoom changelog], which is why Snap Camera [doesn’t work anymore][snap zoom note].

I’m hoping there’s a better technical solution to this soon (so we can have our security and eat it too), but for now, this phone-as-webcam approach is limited to certain apps.

As of this writing, these apps will not work with virtual webcams:

  • Zoom Desktop
  • Slack Desktop
  • FaceTime
  • Photo Booth
  • Safari

But these apps will:

  • Chrome
  • Firefox
  • Microsoft Teams
  • Quicktime Player

So if you want to use a smartphone as a webcam, or if you want to [be a potato][snap camera], I suggest you join your meetings in Firefox or Chrome.


_Update: Enterprising redditors have discovered that it’s possible to workaround the security restriction per-application by [unsigning][unsign] the application bundle with a command like this:_

`codesign –remove-signature /Applications/zoom.us.app`

_The wisdom of disabling security features like this is debatable, but in a pinch it will allow you to use virtual webcams with problematic Mac apps._

[unsign]: https://www.reddit.com/r/VIDEOENGINEERING/comments/fy7xi3/fyi_zoom_v4610_breaks_blackmagic_capture_devices/
[wirecutter webcams]: https://thewirecutter.com/reviews/the-best-webcams/
[logitech webcam prices]: https://camelcamelcamel.com/product/B07K95WFWM?active=summary&cpf[]=amazon&cpf[]=new&cpf[]=used
[webcam test page]: https://webrtc.github.io/samples/src/content/devices/input-output/
[iriun webcam]: https://iriun.com/
[EpocCam]: https://www.kinoni.com/
[DroidCam]: https://www.dev47apps.com/
[iVCam]: https://www.e2esoft.com/ivcam/

[iriun_ios]: https://apps.apple.com/us/app/iriun-webcam-for-pc-and-mac/id1439303579
[epoc_ios]: https://apps.apple.com/us/app/epoccam-webcam-for-mac-and-pc/id449133483
[epoc_ios_pro]: https://apps.apple.com/us/app/epoccam-webcamera-for-computer/id435355256

[epoc_free_vs_pro]: https://www.kinoni.com/support-and-instructions/#Provsfreeversion
[iriun_android]: https://play.google.com/store/apps/details?id=com.jacksoftw.webcam&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1
[epoc_android]: https://play.google.com/store/apps/details?id=com.kinoni.webcam2
[epoc_android_pro]: https://play.google.com/store/apps/details?id=com.kinoni.webcampro

[usb debugging]: https://developer.android.com/studio/debug/dev-options
[disable library validation]: https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_cs_disable-library-validation?language=objc
[snap zoom note]: https://support.lensstudio.snapchat.com/hc/en-us/articles/360041102572-How-do-I-use-Snap-Camera-with-Zoom-
[zoom changelog]: https://support.zoom.us/hc/en-us/articles/201361963-New-Updates-for-macOS
[snap camera]: https://snapcamera.snapchat.com/

Conversation
  • Pol says:

    Great article, thanks!

    For the unsigning method to work with some Electron apps like Slack, you may also need to unsign app bundles found at [Electron App].app/Contents/Frameworks/

    Also, a few weeks ago NewTek released NDI Virtual Input support for macOS. You can use it along with the NDI HX Camera iOS app, and it works via WiFi, USB or Ethernet (via a dongle).

    • John Ruble John Ruble says:

      Whoa, five minutes in, NDI seems pretty great. Definitely going to try using this one.

      (Also, it can be seen by the latest Zoom, which as of 5.0.4 again works with virtual webcams, but only specific ones)

      Thanks, Pol!

  • alfon_sico says:

    My experience
    Irium – not working on FaceTime (white circle moving not showing image nor audio)
    Epoccam – working on FaceTime (free version no audio)

    Safari – not working any Irium nor Epoccam

    Chrome – works Irium and Epoccam

    Could you be more clear for unsign Safari or FaceTime? I can’t get with terminal code you posted

    Thank you

  • vinicius kopp says:

    do you know any app that works with iPhone and Mac, but working with WhatsApp and FaceTime? unfortunately I did not succeed doing it over Irium and EPOC !

    RGS,
    vini

  • Comments are closed.