Bagaimana cara saya memotret dengan kamera iSight saya dari baris perintah?

27

Apakah ada utilitas baris perintah yang memungkinkan saya mengambil gambar dari kamera internal? Sesuatu seperti screencapture memungkinkan untuk menangkap layar.

Alasan untuk alat baris perintah adalah saya ingin itu tersembunyi, tanpa hitungan mundur atau flash atau indikasi lain kepada pengguna bahwa gambar sedang diambil.

dacracot
sumber
1
Lihatlah kode sumber untuk preyproject.com - mereka melakukan hal ini dengan aplikasi mereka dan kode untuk itu adalah open source.
Ian C.
3
Ingat bahwa LED hijau di sebelah iSight akan aktif sebentar ketika kamera merekam gambar.
Da4

Jawaban:

31

Gunakan imagesnap . Itu dapat diinstal dengan brew install imagesnapatau dengan mengunduh biner dari situs web.

Satu kegunaannya adalah untuk mengambil serangkaian foto:

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

Itu tidak memotong gambar secara horizontal juga. (Photo Booth mengubah rasio aspek menjadi 3: 2.)

Lri
sumber
5
Perhatikan juga yang imagesnapmemiliki -tbendera untuk mengambil gambar setiap x.xxdetik. Sehingga loop sementara bisa diganti dengan imagesnap -t 1; meskipun, dalam hal ini, imagesnapakan menghasilkan nama file sendiri (mis snapshot-00000-2015-07-23_10-36-52.853.jpg.).
tbekolay
jika Anda berencana untuk menggunakan imagesnapvia ssh, Anda memerlukan hak sudo. Saya menggunakannya untuk memeriksa kucing saya.
Ritwik Bose
7

OS X tidak dilengkapi dengan utilitas untuk tujuan ini.

Solusi pihak ketiga adalah imagesnap . Ini memungkinkan Anda mengambil gambar dari perangkat video yang terhubung, default ke kamera iSight bawaan. Ini tersedia sebagai file biner tunggal yang dapat Anda bundel dengan perangkat lunak Anda, dan dirilis ke domain publik.

Ada banyak referensi di internet tentang utilitas iSightCapture , yang dulunya menjadi pilihan populer untuk ini, tetapi tidak lagi dipertahankan.

Jeremy Banks
sumber
Ada yang asli?
dacracot
@dacracot Sayangnya Apple belum menyediakan yang seperti ini.
Jeremy Banks
6

Sayangnya imagesnaptidak lagi berfungsi pada OSX10.11 / El Capitan sehingga alternatif lain adalah menginstal ffmpeg (MacPorts: port install ffmpegatau brew install ffmpeg) dan menjalankan:

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

Secara asli, ada cara tetapi sangat mendasar. Anda dapat menggunakan Automator untuk membuat aplikasi yang mengambil gambar. Tindakan ini disebut "Ambil Video Snapshot" dan membutuhkan "kamera internal, iSight atau webcam lainnya, atau kamera digital yang terhubung ke komputer Anda." Cukup centang kotak take picture automaticallydan Anda sekarang memiliki aplikasi yang dapat Anda hubungi dari baris perintah. Simpan sebagai aplikasi dan kemudian Anda dapat memanggilnya dari baris perintah seperti open TakePicture.app.

Ambil Video Snapshot

styfle
sumber
Mencoba ini dan itu berhasil, tetapi saya berharap untuk sesuatu yang lebih tersembunyi.
dacracot
@ Docracot saya pikir banyak. Seperti yang saya katakan, ini adalah satu-satunya cara asli yang saya tahu sehingga Anda harus menempuh rute yang sulit jika Anda ingin sembunyi-sembunyi.
styfle
5

Seperti poster lain yang disebutkan ada utilitas yang disebut iSightCapture yang dapat melakukan ini.

Saya pernah menulis sebuah skrip untuk mengambil gambar iSight dan dua monitor saya secara berkala dan mempostingnya ke situs web pribadi sehingga saya bisa melihat apa yang terjadi di komputer saya. Begini cara saya menulis iSightCapture untuk melakukannya.

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

Perhatikan penggunaan 'tegukan' untuk membalikkan isight capture secara horizontal.

Tautan pengunduhan yang berfungsi (2012-10-05): iSightCapture ( via ), diuji pada OSX 10.8.2

jmhindle
sumber