¿Cómo tomar una foto usando Terminal?

¿Es posible tomar una foto o grabar un video corto con la cámara web de la MacBook usando Terminal?

sh-3.2# system_profiler SPSoftwareDataType 
Software:

    System Software Overview:

      System Version: macOS 10.13.4 (17E199)
      Kernel Version: Darwin 17.5.0
      Boot Volume: lily
      Boot Mode: Normal
      Computer Name: lily’s MacBook Air
      User Name: System Administrator (root)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
Si no eres consciente aproposes tu amigo. apropos screen capturecriado screencapture(1)_ man screencaptureexplicará cómo utilizar la utilidad.
@ fd0 gracias, no estaba al tanto apropos. parece que la captura de pantalla se usa para capturar capturas de pantalla del escritorio. No encontré ningún comando interesante usando $ apropos camerao $ apropos webcam. ¿algunas ideas?

Respuestas (3)

Utilice FFMPEG .

(Esta se ha convertido en una de mis utilidades de línea de comandos favoritas para la conversión y transmisión de video/audio)

De acuerdo con FFMPEG Wiki , puede usar AVFoundation de Apple para capturar directamente desde la cámara FaceTime o cualquier otra cámara web USB que esté conectada. Tenga en cuenta que la wiki se escribió cuando la cámara FaceTime todavía se llamaba iSight, por lo que algunas de las características/palabras clave ya no son válidas.

Obtener la identificación del dispositivo

$ ffmpeg -f avfoundation -list_devices true -i ""

[AVFoundation input device @ 0x7fda1bc152c0] AVFoundation video devices:
[AVFoundation input device @ 0x7fda1bc152c0] [0] FaceTime HD Camera (Built-in)
[AVFoundation input device @ 0x7fda1bc152c0] [1] Capture screen 0
[AVFoundation input device @ 0x7fda1bc152c0] AVFoundation audio devices:
[AVFoundation input device @ 0x7fda1bc152c0] [0] USB Audio CODEC
[AVFoundation input device @ 0x7fda1bc152c0] [1] Built-in Microphone

El dispositivo que estamos buscando es "0"

captura la foto

$ ffmpeg -ss 0.5 -f avfoundation -i "0" -t 1 capture.jpg

Lo que esto hace es tomar una transmisión de video de 1 segundo, toma el cuadro único a partir de 0,5 segundos y lo guarda como un archivo JPEG llamadocapture.jpg

La respuesta anterior de Allan funcionó pero con algunas modificaciones. Estoy usando una MacBook Pro con Big Sur.

Tuve que agregar la velocidad de fotogramas y también usar el comando -frames:v 1 para exportar una sola imagen.

ffmpeg -ss 0.5 -f avfoundation -r 30.000030 -i "0" -t 1 capture.jpg -frames:v 1
ffmpeg -ss 00:00:00 -f avfoundation -r 30.000030 -i "1" -t 1 -frames:v 1 -q:v 2 capture.jpges lo que hizo por mí, gracias por la ayuda!
¿Podemos obtener una actualización de 2022?

A las utilidades de terceros les gustaría imagesnapy iSightCapturefuncionarían, pero sospecho que está buscando algo integrado.

Esto se ha preguntado antes en una redacción diferente: ¿Cómo tomo una foto sigilosa con mi cámara iSight desde la línea de comandos?