Wie mache ich ein Foto mit dem Terminal?

Ist es möglich, mit Terminal ein Foto oder ein kurzes Video mit der Webcam des MacBook aufzunehmen?

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
Wenn Sie nicht bewusst sind, aproposist Ihr Freund. apropos screen captureerzogen screencapture(1). man screencaptureerklärt, wie man das Dienstprogramm verwendet.
@ fd0 danke, das war mir nicht bewusst apropos. Es scheint, dass Screencapture zum Aufnehmen von Screenshots des Desktops verwendet wird. $ apropos cameraIch habe keine interessanten Befehle mit oder gefunden $ apropos webcam. irgendwelche Ideen?

Antworten (3)

Verwenden Sie FFMPEG .

(Dies ist zu einem meiner bevorzugten Befehlszeilenprogramme für Video/Audio-Konvertierung und Streaming geworden)

Laut FFMPEG-Wiki können Sie Apples AVFoundation verwenden, um direkt von der FaceTime-Kamera oder einer anderen angeschlossenen USB-Webcam aufzunehmen. Denken Sie daran, dass das Wiki geschrieben wurde, als die FaceTime-Kamera noch iSight hieß, sodass einige der Funktionen/Schlüsselwörter nicht mehr gültig sind

Rufen Sie die Geräte-ID ab

$ 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

Das gesuchte Gerät ist "0"

Nehmen Sie das Foto auf

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

Was dies tut, ist einen 1-Sekunden-Videostream zu nehmen, das Einzelbild ab 0,5 Sekunden zu nehmen und als JPEG zu speicherncapture.jpg

Allans obige Antwort funktionierte, jedoch mit einigen Änderungen. Ich verwende ein MacBook Pro mit Big Sur.

Ich musste die Bildrate hinzufügen und auch den Befehl -frames:v 1 verwenden, um ein einzelnes Bild zu exportieren.

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.jpgist, was es für mich getan hat, danke für die Hilfe!
Können wir ein 2022-Update bekommen?

Dienstprogramme von Drittanbietern mögen imagesnapund iSightCapturewürden funktionieren, aber ich vermute, Sie suchen nach etwas eingebautem?

Dies wurde schon einmal in anderer Form gefragt: Wie mache ich mit meiner iSight-Kamera ein ruhiges Bild von der Kommandozeile aus?