How to find which app is using iSight (the iMac camera)

How do I find out which application has the camera open on an iMac (Running Leopard)? The green light is on indicating the camera is in use as well as photo booth can't connect to the camera. The only other apps running are Safari and Finder (as best as I can tell), neither of which seem to be using the camera.

If this was Windows, I'd use Process Explorer, what can I do on a Mac to see who has a particular device open?

EDIT: using the suggestion of NSD, I nearly have a solution with

    lsof | grep "USBVDC"

That shows all the apps trying to use the camera, but not the one that actually owns it. Probably close enough.


Solution 1:

My best guess would be that iChat Agent was running in the background.

If not, then try:

lsof | grep -i "AppleCamera"

In previous versions of OS X (before Yosemite), this should be used:

lsof | grep -i "iSight"

Solution 2:

In 2014, VDC works as an lsof search term for this:

$ lsof | grep VDC
FaceTime  1097 user  txt      REG                1,4    405264    2934 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/VDC.plugin/Contents/MacOS/VDC

Solution 3:

lsof is a good bet. Grepping for 'VDC' gives me the best results, but in older versions of OSX you may have to use other terms 'AppleCamera', 'iSight'.

Then you have a list, and you see that a couple of programs are using the cam. You could try to kill them one by one, but what if one is in the browser and you have a million tabs open?

Usually this trick works for me:

  • open ActivityMonitor,
  • search VDC, VDCAssistant is listed,
  • force quit VDCAssistant.

Result is that all processes trying to use the camera are temporarily disconnected. This takes care of processes that kept using the camera because of some glitch. The VDCAssistant is restarted automatically.

This trick also works great if a program cannot access the camera.