Come faccio a scattare una foto stana con la mia videocamera iSight dalla riga di comando?

26

Esiste un'utilità della riga di comando che mi consente di scattare una foto dalla fotocamera integrata? Qualcosa come la screencapture consente, beh, la cattura dello schermo.

Il ragionamento per uno strumento da riga di comando è che vorrei che fosse nascosto, senza un conto alla rovescia o flash o altra indicazione per l'utente che una foto è stata scattata.

    
posta dacracot 22.07.2011 - 00:38
fonte

5 risposte

30

Utilizza imagesnap . Può essere installato con brew install imagesnap o 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 anche le immagini orizzontalmente. (Photo Booth cambia le proporzioni in 3: 2).

    
risposta data 08.02.2012 - 03:12
fonte
6

OS X non viene fornito con alcuna utilità per questo scopo.

Una soluzione di terze parti è imagesnap . Ti consente di catturare un'immagine da qualsiasi dispositivo video collegato, in modo predefinito alla videocamera iSight integrata. È disponibile come singolo file binario che è possibile associare al software e viene rilasciato nel pubblico dominio.

Ci sono molti riferimenti su Internet all'utilità iSightCapture , che era una scelta popolare per questo , ma non è più mantenuto.

    
risposta data 22.07.2011 - 00:42
fonte
5

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

    
risposta data 21.08.2011 - 03:13
fonte
5

Mentre un altro poster menziona c'è un'utilità chiamata iSightCapture che può farlo.

Una volta ho scritto una sceneggiatura per ritirare periodicamente un'immagine di iSight e una delle mie due monitor e postarla su un sito web privato in modo da poter vedere cosa succede al mio computer. Ecco come ho programmato 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

Notare l'uso di "sorsi" per capovolgere orizzontalmente isight.

Un link per il download funzionante (2012-10-05): iSightCapture ( tramite ), testato su OSX 10.8.2

    
risposta data 24.08.2011 - 21:38
fonte
5

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

ffmpeg -f avfoundation -video_size 1280x720 -framerate 30 -i "0" -vframes 1 out.jpg
    
risposta data 30.01.2017 - 20:24
fonte

Leggi altre domande sui tag