macOS 用にウェブカメラからjpgを取得するコマンドラインツールにimagesnapというのがある。単発で使うには問題ないんだけど、インターバル撮影を数時間続けたところメモリを食いつくして死んだため代替を書く気概になった。 毎回プロセスを立ちあげればメモリリークが起きないが、カメラデバイスを初期化する処理が数秒あって遅いので、できればちゃんとデバイスを開きっぱなしで動かしたい。 やりたいこと やりたいことはウェブカメラ経由のタイムラプスの撮影で、撮影したファイルはffmpegで読みこませる。そのためファイル名にも要件がある foobar-00001.jpg みたいなファイル名にする メモリリークしない swift で書きなおす xcrun swift で動かせるとスクリプト的に使えて便利なので、そのようにした。特に難しいことはしてないんだけど、やりかたをググっても API がのきなみ古