Como descobrir qual aplicativo está usando o iSight (a câmera do iMac)


36

Como descobrir qual aplicativo tem a câmera aberta em um iMac (Running Leopard)? A luz verde está acesa indicando que a câmera está em uso, assim como o Photo Booth não pode se conectar à câmera. Os únicos outros aplicativos em execução são o Safari e o Finder (o melhor que posso dizer), nenhum dos quais parece estar usando a câmera.

Se fosse o Windows, eu usaria o Process Explorer, o que posso fazer em um Mac para ver quem tem um dispositivo específico aberto?

EDIT: usando a sugestão de NSD, eu quase tenho uma solução com

    lsof | grep "USBVDC"

Isso mostra todos os aplicativos que tentam usar a câmera, mas não o que realmente é o proprietário. Provavelmente perto o suficiente.

Respostas:


24

Meu melhor palpite seria que o iChat Agent estivesse sendo executado em segundo plano.

Caso contrário, tente:

lsof | grep -i "AppleCamera"

Nas versões anteriores do OS X (antes do Yosemite), isso deveria ser usado:

lsof | grep -i "iSight"

11
lsofnão mostra nada relacionado a um iSight usado ou não.
Chealion

Não é surpreendente.
Hasaan Chop

3
Estou um passo mais perto, encontrei uma maneira de encontrar os aplicativos que desejam usar a câmera USB iSight embutida usando sua sugestão. lsof | grep -i "USBVDC". Quase, se não todos os aplicativos, usarão a biblioteca /System/Library/QuickTime/QuickTimeUSBVDCDigitizer.component/Contents/MacOS/QuickTimeUSBVDCDigitizer para acessar a câmera.
22410 Tony Tony

Um componente do QuickTime é um pouco mais envolvido que uma biblioteca, mas você está certo; boa pegada.
Hasaan Chop

agora é "FaceTime"
LI Daobing 24/02

19

Em 2014, VDCfunciona como um lsoftermo de pesquisa para isso:

$ 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

Descobri que era o HipChat para mim - não tenho certeza quando tentou iniciar uma vídeo chamada, mas nada na interface do usuário sugeria que a câmera estava sendo usada.
phatskat

Usando essa resposta eu descobri que era meu cliente Parallels, que estava compartilhando a câmera com a máquina Windows Virtual
GreenAsJade

7

lsofé uma boa aposta. Grepping para 'VDC' me dá os melhores resultados, mas nas versões mais antigas do OSX você pode ter que usar outros termos 'AppleCamera', 'iSight'.

Então você tem uma lista e vê que alguns programas estão usando a câmera. Você pode tentar matá-los um por um, mas e se um estiver no navegador e você tiver um milhão de guias abertas?

Normalmente, esse truque funciona para mim:

  • abra ActivityMonitor,
  • pesquisa VDC, VDCAssistant está listado,
  • force sair do VDCAssistant.

O resultado é que todos os processos que tentam usar a câmera são desconectados temporariamente. Isso cuida dos processos que continuavam usando a câmera devido a algumas falhas. O VDCAssistant é reiniciado automaticamente.

Esse truque também funciona muito bem se um programa não pode acessar a câmera.


4

Acabei de descobrir que a minimização do Facetime faz com que o LED iSight acenda de vez em quando. Feche o FaceTime clicando no botão vermelho no canto superior esquerdo. Você ainda receberá chamadas do FaceTime, mas a câmera só será ligada quando elas chegarem.


Isso resolveu o problema do LED verde iSight piscando para mim, mas não consigo pensar em uma justificativa razoável (ou em qualquer documentação) sobre o motivo pelo qual o Facetime tiraria fotos minhas quando minimizado.
christianbundy

0

O iSight / AppleCamera agora é renomeado para FaceTime

lsof | grep -i "FaceTime"

pode ser como raiz, apenas no caso de alguém mais usá-lo. Geralmente é minimizado o tempo que é esse o problema. Abra e saia.


0

Tomando emprestada a excelente solução proposta pela iwein, mas simplificando-a e tornando-a programável, você pode fazer o seguinte:

sudo pkill 'VDCAssistant'

Você pode colocar isso em uma função para facilitar a lembrança:

repocam () {
    sudo pkill 'VDCAssistant'
}

Você pode colocar essa função no seu .zshrcarquivo .bashrcou no que você usar.

Fora do escopo, mas vale a pena perseguir:

Você pode até configurar um trabalho cron ou um agente launchd ou o que quiser (Google para detalhes!) Para executá-lo de vez em quando. Se você descobrir qual aplicativo (como o HipShat) está causando o problema, poderá descobrir uma maneira de executá-lo ao sair do aplicativo.

Também é possível disparar scripts quando o computador acorda ou entra no modo de suspensão.


0

você também pode usar o aplicativo de supervisão: https://objective-see.com/products/oversight.html

O aplicativo de supervisão pode detectar se alguns outros aplicativos estão usando sua câmera ou microfone, alertá-lo e, em seguida, você pode bloqueá-lo, deixá-lo ou adicioná-lo à lista de permissões.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.