Gibt es ein Befehlszeilenprogramm, mit dem ich ein Bild von der eingebauten Kamera aufnehmen kann? So etwas wie Screencapture ermöglicht, nun ja, Screenshots.
Der Grund für ein Befehlszeilentool ist, dass ich möchte, dass es verstohlen ist, ohne einen Countdown oder Blitz oder andere Hinweise für den Benutzer, dass ein Bild aufgenommen wird.
Verwenden Sie Imagesnap . Es kann mit brew install imagesnap
oder durch Herunterladen der Binärdatei von der Website installiert werden.
Eine Verwendung dafür besteht darin, eine Reihe von Schnappschüssen aufzunehmen:
while :; do
imagesnap ~/Desktop/$(date +%y%m%d%H%M%S).png
sleep ${1-1}
done
Es beschneidet Bilder auch nicht horizontal. (Photo Booth ändert das Seitenverhältnis auf 3:2.)
imagesnap
es eine -t
Flagge gibt, um alle x.xx
Sekunden ein Bild aufzunehmen. Damit die While-Schleife durch ersetzt werden könnte imagesnap -t 1
; generiert in diesem Fall imagesnap
jedoch einen eigenen Dateinamen (z . B. snapshot-00000-2015-07-23_10-36-52.853.jpg
).imagesnap
benötigen Sie sudo-Berechtigungen. Ich benutze es, um nach meinen Katzen zu sehen.OS X enthält keine Dienstprogramme für diesen Zweck.
Eine Drittanbieterlösung ist imagesnap . Sie können ein Bild von jedem angeschlossenen Videogerät aufnehmen, standardmäßig mit der integrierten iSight-Kamera. Es ist als einzelne Binärdatei verfügbar, die Sie mit Ihrer Software bündeln können, und ist öffentlich zugänglich.
Es gibt viele Hinweise im Internet auf das Dienstprogramm iSightCapture , das früher eine beliebte Wahl dafür war, aber nicht mehr gepflegt wird.
Leider imagesnap
scheint es unter OSX10.11/El Capitan nicht mehr zu funktionieren, daher besteht eine andere Alternative darin, ffmpeg (MacPorts: port install ffmpeg
oder brew install ffmpeg
) zu installieren und auszuführen:
ffmpeg -f avfoundation -video_size 1280x720 -framerate 30 -i "0" -vframes 1 out.jpg
Von Haus aus gibt es einen Weg, aber es ist extrem einfach. Sie können Automator verwenden , um eine Anwendung zu erstellen, die ein Bild aufnimmt. Die Aktion heißt „Video-Schnappschuss machen“ und erfordert eine „eingebaute Kamera, iSight oder andere Webcam oder an Ihren Computer angeschlossene Digitalkamera“. Aktivieren Sie einfach das Kontrollkästchen take picture automatically
und Sie haben jetzt eine App, die Sie von der Befehlszeile aus aufrufen können. Speichern Sie es als App und dann können Sie es von der Befehlszeile wie aufrufen open TakePicture.app
.
Wie ein anderes Poster erwähnte, gibt es ein Dienstprogramm namens iSightCapture, das dies tun kann.
Ich habe einmal ein Skript geschrieben, um regelmäßig ein iSight-Bild und ein Bild meiner beiden Monitore aufzunehmen und es auf einer privaten Website zu posten, damit ich sehen konnte, was auf meinem Computer vor sich geht. So habe ich iSightCapture dazu geschrieben.
#!/bin/bash
~/scripts/isightcapture -w 320 -h 240 -t jpg ~/capture.jpg
RESULT=$?
if [ $RESULT -ne 0 ]; then
growlnotify -s -a FaceTime -m "isightcapture failed ($RESULT)" $0
exit 1
else
sips -f horizontal ~/capture.jpg
fi
screencapture -S -tjpg ~/scr1.jpg ~/scr2.jpg
RESULT=$?
if [ $RESULT -ne 0 ]; then
growlnotify -s -a FaceTime -m "screencapture failed ($RESULT)" $0
exit 2
else
sips -z 240 320 ~/scr1.jpg
sips -z 240 320 ~/scr2.jpg
fi
exit 0
Beachten Sie die Verwendung von „sips“, um die Sichtaufnahme horizontal zu spiegeln.
Ein funktionierender Download-Link (05.10.2012): iSightCapture ( via ), getestet auf OSX 10.8.2
Jan C.
da4