-いまどきのノートPCには、かなりの割合で「カメラ」が搭載されている。その理由はFaceTimeのようなビデオチャットで必要とされるためだが、カメラなのだから他の目的に使用しても問題はない。いうより、ビデオチャットは人によって利用度合いの差が激しく、使わない人はまったく使わないのだから、なにか有意義な用途を見つけたほうがいい。方々探してみたところ、「imagesnap」というパブリックドメインソフトウェアを発見(リンク)。CameraなどMacに映像デバイスとして認識されているカメラがあれば動作する、CUIベースのツールだ。「Macの内蔵カメラを使いTerminalから写真を撮ろうインストール方法はソースコードをコンパイルするか、以下のとおりHomeBrewでインストールすればOK。HomeBrewの場合/usr/local/binへインストールされるので、パスを通すなどの作業は必要なし、すぐに利用できる。-l」を実行し、内蔵カメラが認識されていることを確認しよう。Cameraのデバイス番号が表示されるはずだ。imagesnapなお、imagesnapコマンドがTerminalから実行される最初のカメラデバイスへのアクセスとなる場合は、「"ターミナル"からカメラにアクセスしようとしています」というダイアログが表示される。Mojaveではセキュリティ/プライバシー強化の一環として、カメラやマイクへのアクセスにユーザの許可を求めるようになったためだ。ここで「OK」ボタンを押すと許可され、システム環境設定「セキュリティとプライバシー」パネルの「プライバシー」タブにある「カメラ」項目にTerminalが追加される。後日取り消しが必要になった場合は、Terminalから以下のコマンドラインを実行しよう。これで、Terminalからのカメラデバイスへのアクセス許可が取り消される。CameraMojaveで実行すると、このようなダイアログが現れるimagesnapコマンドは、引数を与えずに実行するとカメラで撮影を実行し、「snapshot.jpg」として保存する。サポートされる出力フォーマットはJPEGのみで、解像度はカメラに依存する。「imagesnap」だけを実行すると、カレントディレクトリに1280×720ピクセルの「snapshot.jpg」が生成される。カメラの初期化には多少の時間が必要なようで、デフォルトの状態では真っ黒なJPEGが生成されてしまう。これを避けるためには、「-w」オプションで撮影を遅延させればいい(単位は秒、小数点可)。0.7)も経てばまずまずの明るさで撮影できる。1)を指定しておけば確実だろう。一度確認すればデバイス名を表示する必要はないので、ついでに「-q」オプションで出力を止めてしまおう。0.2」で撮影したところ。暗い写真になってしまったこれで、Terminalから任意のタイミングで写真を撮影できるようになったが、当然これでは実用的な意味での使いものにはならない。Scriptに組み込むもよし、cronやlaunchdで定期実行するもよし、CUIなだけに使途はいろいろ考えられるが、もうひと工夫が必要だ。一定間隔で撮影する用途には、「-t」オプションが有効だ。「-w」オプション同様に間隔を秒単位で指定できるうえ、指定したファイル名にタイムスタンプをくわえてくれるので、あとで写真を整理するときにも役に立つ。Macに向かう自分の顔を撮ったところでうれしくないため、具体的な用途を考えてみたが......タイムラプスムービーの素材にするとか、コマ撮り動画を自作するとか、考えればいろいろありそう。Cameraの画質はお世辞にもいいとはいえないが、"スクリプトで回す"というスマートフォンやコンデジにはない可能性がMac(のCUI)にはある。あとは、使い手の腕次第、アイデア次第だ。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。