ほとんどのIPカメラは、モーションを検知するとスナップショットや動画クリップをFTPサーバーにアップロードできます。これはReolink、Hikvision、Dahua、Amcrest、Foscam、Annkeなど、多くのカメラメーカーの内蔵機能です。カメラが動きを検知し、JPEGまたは短い動画をキャプチャして、指定したFTPサーバーに送信します。
問題は、FTPサーバーからMacにファイルを使いやすい形で取得することです。ファイルはサーバーに溜まっていき、自動化しなければ、手動でログインして確認するか、シェルスクリプトを書いてダウンロードするかのどちらかです。カメラに何が検知されたのかを確認したいだけの人にとっては、どちらも理想的ではありません。
カメラのFTPアップロードの仕組み
IPカメラでFTPアップロードを有効にすると、トリガーイベント(通常はモーション検知ですが、スケジュールされたスナップショットをサポートするカメラもあります)が発生するたびに、カメラがFTPサーバーに接続します。カメラが送信するのは:
- JPEGスナップショット(最も一般的)。Hikvisionカメラはモーションイベントごとに1~6枚のスナップショットを送信します。Reolinkは1枚の高解像度画像を送信します。
- 短い動画クリップ(MP4またはAVI形式、一部のモデル)。通常、トリガーイベント前後の10~30秒の映像です。
ファイルはタイムスタンプで整理されます。ReolinkはCameraName_01_20260415_143022.jpgのようなファイルを作成します。Amcrestは日付と時間で整理されたフォルダツリーを作成します:/2026/04/15/14/。Hikvisionも同様の日付ベースのサブディレクトリを使用します。
静かな住宅用カメラで1日あたり20~50件のモーションイベントが想定されます。交通量の多い通りに向いたカメラは数百件になることもあります。各イベントで1~6ファイルが生成されるため、カメラ1台あたり1日50~数百ファイルになります。
一般的な構成:カメラからNASへ
最も一般的な構成は、カメラのFTPをNAS(Synology、QNAP、TrueNAS)に送ることです。NASがFTPサーバーを実行し、カメラがアップロードし、ファイルがそこに保存されます。ストレージとしてはうまく機能します。
しかし、Macでスナップショットを確認したい場合は、NASに接続し、日付フォルダを閲覧し、必要なファイルをダウンロードする必要があります。ここで自動化が役立ちます。
FTPullでカメラファイルをMacに取り込む
FTPullはFTPサーバーを監視し、新しいファイルを自動的にMacにダウンロードします。カメラスナップショットの設定方法は次のとおりです:
- カメラがFTP経由でアップロードしていることを確認する。カメラの設定(Webインターフェースまたはアプリ)でFTPアップロードを有効にします。NASまたはFTPサーバーのアドレス、ポート21、認証情報を入力します。リモートパス(例:
/cameras/front-door/)を設定します。カメラのインターフェースから接続をテストします。 - MacにFTPullを設定する。カメラがアップロードするのと同じFTPサーバーへの接続を追加します。リモートフォルダをカメラのアップロードディレクトリに設定します。
- ローカルフォルダを選択する。Mac上に
~/Security Cameras/Front Door/のようなフォルダを作成します。 - ポーリング間隔を設定する。セキュリティカメラには1~5分ごとが適切です。FTPullは前回のチェック以降の新しいファイルをサーバーから確認してダウンロードします。
- 拡張子でフィルターする。スナップショットのみが必要な場合は
.jpgファイルのみダウンロードするように設定し、動画クリップも必要なら.mp4も含めます。一時ファイルやサムネイルを除外できます。
実行すると、カメラからのモーション検知スナップショットがすべてMacに自動的に届きます。新しいファイルが届くと通知がポップアップするので、カメラが何を検知したかすぐに確認できます。
複数カメラの一元管理
複数のカメラがある場合、それぞれが同じFTPサーバーの異なるフォルダにアップロードしているなら、各カメラに対して別々のFTPull接続を追加します。それぞれを独自のリモートフォルダとローカルフォルダに設定します:
- 玄関カメラ →
/cameras/front/→~/Security Cameras/Front Door/ - 裏庭カメラ →
/cameras/back/→~/Security Cameras/Backyard/ - ガレージカメラ →
/cameras/garage/→~/Security Cameras/Garage/
それぞれが独自のポーリングスケジュールで独立して動作します。
プロトコルに関する注意
ほとんどのIPカメラはプレーンFTP(ポート21)のみをサポートしており、SFTPやFTPSには対応していません。これはカメラファームウェアの制限であり、変更することはできません。カメラとFTPサーバーが同じローカルネットワーク上にある場合、トラフィックがネットワーク外に出ないため、これは許容できます。
インターネット経由でアップロードする場合(遠隔地のカメラ)、カメラのネットワークとサーバー間にVPNを設定するか、FTPSをサポートするカメラを使用することを検討してください(一部のエンタープライズ向けHikvisionモデルが対応しています)。
FTPullはFTP、SFTP、FTPSをサポートしているため、サーバーが提供するプロトコルに接続できます。
ストレージの管理
カメラスナップショットは蓄積されます。カメラ1台あたり1日100ファイルで、1ヶ月で3,000ファイルになります。いくつかの実用的なヒント:
- FTPullの最小ファイルサイズフィルターを使用して、小さな破損ファイルやゼロバイトのプレースホルダーをスキップします。
- macOSのフォルダアクションやスクリプトを設定して、7日以上前のファイルをアーカイブフォルダに移動するか削除します。
- サーバー側の保持期間はNASに任せ、FTPullは迅速なレビュー用に最新のファイルのみを取得するようにします。
なぜカメラのアプリを使わないのか?
カメラメーカーのアプリ(Reolink App、Hik-Connect)はライブフィードや再生を見ることができます。しかし、Mac上の生のスナップショットファイルに簡単にアクセスすることはできません。バッチ処理、ファイル名による検索、他のワークフローとの統合ができません。
実際のJPEGファイルがMac上にあれば、Finder、Quick Look、プレビュー、または任意の画像ツールで閲覧、注釈付け、転送が可能です。あなたのデータが、あなたのディスク上に、あなたの望む形で整理されます。