Come posso scattare una foto sporca con la mia fotocamera iSight dalla riga di comando?


27

Esiste un'utilità da riga di comando che mi consente di scattare una foto dalla fotocamera integrata? Qualcosa come screencapture consente, beh, di catturare schermate.

Il ragionamento per uno strumento da riga di comando è che vorrei essere invisibile, senza un conto alla rovescia o un flash o altre indicazioni per l'utente che una foto è stata scattata.


1
Dai un'occhiata al codice sorgente per preyproject.com : fanno queste cose con la loro app e il codice è open source.
Ian C.

3
Ricorda che il LED verde accanto a iSight si attiverà brevemente quando la videocamera registra l'immagine.
da4,

Risposte:


31

Usa imagesnap . Può essere installato con brew install imagesnapo scaricando il file binario dal sito Web.

Un uso è prendere una serie di istantanee:

while :; do
    imagesnap ~/Desktop/$(date +%y%m%d%H%M%S).png
    sleep ${1-1}
done

Non ritaglia nemmeno le immagini in orizzontale. (Photo Booth modifica le proporzioni in 3: 2.)


5
Si noti inoltre che imagesnapha una -tbandiera per scattare una foto ogni x.xxsecondo. In modo che il ciclo while possa essere sostituito con imagesnap -t 1; sebbene, in questo caso, imagesnapgenererà il proprio nome file (ad es snapshot-00000-2015-07-23_10-36-52.853.jpg.).
tbekolay,

se hai intenzione di usare imagesnaptramite ssh, avrai bisogno dei privilegi di sudo. Lo uso per controllare i miei gatti.
Ritwik Bose,

7

OS X non include alcuna utilità a questo scopo.

Una soluzione di terze parti è imagesnap . Ti consente di catturare un'immagine da qualsiasi dispositivo video collegato, per impostazione predefinita sulla videocamera iSight integrata. È disponibile come singolo file binario che potresti raggruppare con il tuo software e viene rilasciato di dominio pubblico.

Esistono molti riferimenti in Internet all'utilità iSightCapture , che era una scelta popolare per questo, ma non viene più mantenuta.


Qualcosa di nativo?
dacracot,

@dacracot Purtroppo Apple non ha fornito nulla di simile.
Jeremy Banks,

6

Sfortunatamente imagesnapnon sembra più funzionare su OSX10.11 / El Capitan, quindi un'altra alternativa è installare ffmpeg (MacPorts: port install ffmpego brew install ffmpeg) ed eseguire:

ffmpeg -f avfoundation -video_size 1280x720 -framerate 30 -i "0" -vframes 1 out.jpg

5

Nativamente, c'è un modo ma è estremamente semplice. È possibile utilizzare Automator per creare un'applicazione che scatta una foto. L'azione si chiama "Scatta istantanea video" e richiede una "fotocamera integrata, iSight o altra webcam o fotocamera digitale collegata al computer". Seleziona la casella take picture automaticallye ora hai un'app che puoi chiamare dalla riga di comando. Salvalo come app e quindi puoi chiamarlo dalla riga di comando come open TakePicture.app.

Scatta un'istantanea video


Ho provato questo e ha funzionato, ma speravo in qualcosa di più furtivo.
Dacracot,

@dacracot Ho pensato tanto. Come ho detto, questo è l'unico modo nativo che conosco, quindi dovrai percorrere la strada difficile se vuoi la furtività.
Styfle,

5

Come menzionato da un altro poster, esiste un'utilità chiamata iSightCapture che può farlo.

Una volta ho scritto una sceneggiatura per catturare periodicamente un'immagine iSight e afferrare i miei due monitor e pubblicarla su un sito Web privato in modo da poter vedere cosa sta succedendo sul mio computer. Ecco come ho scritto iSightCapture per farlo.

#!/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

Nota l'uso di 'sips' per capovolgere l'acquisizione isight in orizzontale.

Un link di download funzionante (05-10-2012): iSightCapture ( via ), testato su OSX 10.8.2

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.