私の最初のヒントは、撮影された日付と時刻を使用してファイルに名前を付けることです。そうすれば、呼び出しごとに変数がリセットされるため、継続的に実行されないスクリプトでは困難なカウンターをどこにも保持する必要がなくなります。変数をファイルに保存することもできますが、名前が衝突しないようにする方が簡単です。wget http://127.0.0.1:8080/?action=snapshot -O "Snapshot-$(date).jpg"
のようなもの バッシュを使用している場合。 (構文が機能しない場合は申し訳ありません。私は Bash の専門家ではなく、携帯電話でこれを入力しています。)
あなたが言及したように、利用可能な FTP アップロードのスクリプト作成に関するチュートリアルがいくつかあります。それらの少なくとも 1 つには、"Snapshot-*.jpg" などのパターンでファイルをアップロードする例が含まれている必要があります。ワイルドカードはタイムスタンプと一致します。または、FTP プログラム (スクリプト用のバイナリを含む lftp や ncftp など) を指定して、特定のフォルダー内のすべてをアップロードすることもできます。次に、プログラムが成功した場合はフォルダーを消去します。これにより、cron または systemd タイマーを使用してスクリプトを何度でも実行でき、後で成功しなかったファイルを常にアップロードするのに十分な柔軟性を持たせることができます。
このタスクやその他のタスクを単独で実行するように設計されたソフトウェアもあります。私自身が使用したそのようなプログラムの 1 つは、単に「モーション」と呼ばれ、ほとんどのディストリビューションで使用できます。モーショントリガー(記録および/またはスナップショットの撮影)または連続モードが組み込まれています。 Raspberry-Pi のようなシステムでは、CPU を少し集中的に使用する可能性がありますが、確実に機能します。
少し強化したい場合、おそらく複数のリモート/ローカルカメラを実行し、モーション検出をより強力な中央マシンにオフロードする場合は、Zoneminder を見てください.設定には時間がかかります。私の経験では、カメラ フィードに正しい解像度を手動で設定することにはうるさいですが、ある程度スクリプト化することはできます。