gphoto2
ghpto2のインストールは、コマンド一つにまとめた賢人gonzaloさんがいるので、スクリプトをダウンロードして実行。実行時間は結構かかかるが、何も引っかからずに成功。
wget https://raw.githubusercontent.com/gonzalo/gphoto2-updater/master/gphoto2-updater.sh
chmod 755 gphoto2-updater.sh
sudo ./gphoto2-updater.sh
1) Install last development version
2) Install last stable release (libgphoto 2.5.14; gphoto 2.5.14)
3) Quit
=> 2を選択
pythonでgpohoto2が呼べるようにする。
sudo pip3 install gphoto2
sudo pip install gphoto2
pyQt4
GUIを使ったプログラムに必要。pyQt5はインストールできなかった。。。
sudo apt-get install python-pyqt4
sudo apt-get install python3-pyqt4
#examples
gitからexamplesをダウンロードして実行し、動作すればOK。
git clone https://github.com/jim-easterbrook/python-gphoto2
cd python-gphoto2/examples
python3 camera-summary.py
#撮ってみた
マニュアルを見ながら、早速できそうなコマンドを実行してみる。使ったカメラはEOS-M3。
gphoto2 --capture-image-and-download
これは、現在のカメラの設定で撮影し、ラズパイ側に画像を転送するコマンド。転送後には本体側から画像が削除され、ラズパイ側のディレクトリに画像ファイルがある場合は連番になる。すごい。
time
コマンドで計測すると、24MのRAW+JPEGの撮影から画像転送完了までは、13秒ちょっとだった。フォーカス合わせからシャッタが切れるまでに3秒、画像転送開始までにさらに3秒くらいかかっているが、カメラ側の実力か。
# time sudo gphoto2 --capture-image-and-download
新しいファイルの格納場所: /store_00010001/DCIM/187_0917/IMG_2413.CR2ファイルを IMG_2413.CR2 で保存します
カメラ内のファイル /store_00010001/DCIM/187_0917/IMG_2413.CR2 の削除をしています
新しいファイルの格納場所: /store_00010001/DCIM/187_0917/IMG_2413.JPGファイルを IMG_2413.JPG で保存します
カメラ内のファイル /store_00010001/DCIM/187_0917/IMG_2413.JPG の削除をしています
real 0m13.243s
user 0m1.090s
sys 0m0.980s
gphoto2 --capture-preview
ライブビュー画像が静止画像として転送される。このカメラの場合は480x320で保存された。シャッタは切らない。こちらのtime
コマンドでの計測結果は、2秒強。
capture_preview.jpgがディレクトリにあった場合、「--skip-existing」を付けると上書きされずに終了し、「--force-overwrite」を付けると強制的に上書きされる。
# time sudo gphoto2 --capture-preview
ファイルを capture_preview.jpg で保存します
real 0m2.434s
user 0m0.220s
sys 0m0.060s
gphoto2 --capture-movie
ライブビュー画像を連続してキャプチャして、MJPEGとして転送される。これ、凄い。このカメラの場合は480x320で保存された。シャッタは切らない。
マニュアルには指定は秒数とあったが、撮れるのは枚数、しかも1枚多いというご愛敬。フレームレートは不明。カメラ側で出来なり?
ちなみに、MJPEGに対応しているビューアとしてはVLCがある。
#time sudo gphoto2 --capture-movie 30
Capturing 30 preview frames as movie to 'movie.mjpg'.
Movie capture finished (31 frames)
real 0m3.030s
user 0m0.170s
sys 0m0.160s