Как узнать, какое приложение использует iSight (камера iMac)


36

Как узнать, в каком приложении открыта камера на iMac (работает с Leopard)? Зеленый свет горит, показывая, что камера используется, а фотокамера не может подключиться к камере. Единственными запущенными приложениями являются Safari и Finder (насколько я могу судить), ни одно из которых, похоже, не использует камеру.

Если бы это была Windows, я бы использовал Process Explorer, что я могу сделать на Mac, чтобы узнать, у кого открыто определенное устройство?

РЕДАКТИРОВАТЬ: используя предложение НРД, у меня почти есть решение с

    lsof | grep "USBVDC"

Это показывает все приложения, пытающиеся использовать камеру, но не то, которое действительно ей владеет. Наверное, достаточно близко.

Ответы:


24

Моим лучшим предположением будет то, что iChat Agent работает в фоновом режиме.

Если нет, то попробуйте:

lsof | grep -i "AppleCamera"

В предыдущих версиях OS X (до Yosemite) это следует использовать:

lsof | grep -i "iSight"

1
lsofне показывает ничего, связанного с использованным iSight или нет.
Chealion

Неудивительно.
Хасан Чоп

3
Я на шаг ближе, я нашел способ найти приложения, которые хотят использовать встроенную камеру USB iSight, используя ваше предложение. лсоф | grep -i "USBVDC". Почти, если не каждое приложение, будет использовать библиотеку /System/Library/QuickTime/QuickTimeUSBVDCDigitizer.component/Contents/MacOS/QuickTimeUSBVDCDigitizer, чтобы добраться до камеры.
Тони Ли

Компонент QuickTime немного сложнее, чем библиотека, но вы правы; хороший улов.
Хасан Чоп

теперь это "FaceTime"
LI Daobing

19

В 2014 году VDCработает как lsofпоисковый запрос для этого:

$ 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

Обнаружил, что это был HipChat для меня - не уверен, когда он пытался инициировать видеозвонок, но ничто в интерфейсе не предполагало, что камера использовалась.
phatskat

Используя этот ответ, я обнаружил, что это был мой клиент Parallels, который делил камеру с виртуальной машиной Windows
GreenAsJade

7

lsofхорошая ставка Использование слова «VDC» дает мне лучшие результаты, но в старых версиях OSX вам, возможно, придется использовать другие термины «AppleCamera», «iSight».

Затем у вас есть список, и вы видите, что несколько программ используют камеру. Вы можете попытаться убить их одного за другим, но что если один из них находится в браузере и у вас открыто миллион вкладок?

Обычно этот трюк работает для меня:

  • открыть ActivityMonitor,
  • поиск VDC, VDCAssistant в списке,
  • принудительно выйти из VDCAssistant.

В результате все процессы, пытающиеся использовать камеру, временно отключены. Это заботится о процессах, которые продолжали использовать камеру из-за некоторого сбоя. VDCAssistant перезапускается автоматически.

Этот прием также отлично работает, если программа не может получить доступ к камере.


4

Я только что обнаружил, что минимизация Facetime приводит к тому, что светодиод iSight загорается очень часто. Закройте FaceTime, нажав красную кнопку в верхнем левом углу. Вы по-прежнему будете получать вызовы FaceTime, но камера будет включена только после их поступления.


Это решило проблему с мигающим зеленым светодиодом iSight для меня, но я не могу придумать разумное обоснование (или какую-либо документацию) о том, почему Facetime будет фотографировать меня, когда оно минимизировано.
Кристианбунди

0

iSight / AppleCamera теперь переименовывается в FaceTime

lsof | grep -i "FaceTime"

может быть как root, на тот случай, если кто-то еще его использует. Обычно проблема заключается в минимизации фейс-тайма. Откройте его и выйдите.


0

Занимая отличное решение, предложенное iwein, но оптимизируя его и делая его пригодным для сценариев, вы можете сделать это:

sudo pkill 'VDCAssistant'

Затем вы можете поместить это в функцию, чтобы было легче запомнить:

repocam () {
    sudo pkill 'VDCAssistant'
}

Вы можете поместить эту функцию в ваш .zshrcфайл .bashrcили что вы используете.

Вне области, но стоит преследовать:

Вы могли бы даже настроить работу cron или запускаемого агента или что угодно (Google для деталей!), Чтобы запускать его так часто. Если вы можете выяснить, какое приложение (например, HipShat) вызывает проблему, вы можете найти способ запустить его при выходе из приложения.

Также возможно запускать сценарии, когда ваш компьютер просыпается или переходит в спящий режим.


0

вы также можете использовать приложение для надзора: https://objective-see.com/products/oversight.html

приложение по надзору может определять, используют ли некоторые другие приложения вашу камеру или микрофон, оповещать вас, затем вы можете заблокировать его, оставить его или добавить его в белый список.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.