Ubuntu でモーション検出ウェブカメラを設定する方法

Ubuntu でモーション検出ウェブカメラを設定する方法
防犯カメラを修理している人の写真。

Motion は、通常のウェブカメラを監視カメラに変えることができる便利なツールです。これは、ウェブカメラからの信号を監視し、動きを検出するとスクリーンショットやビデオを撮影することで実現します。ここでは、Ubuntu Linux で Motion をインストールして、動き検出ウェブカメラを設定する方法を説明します。

モーションサーバーのインストール

Motion は、Ubuntu の公式リポジトリにデフォルトで含まれています。つまり、apt パッケージ マネージャーを使用してこのプログラムをインストールできます。

プログラムのヘルプ プロンプトを開いて、Motion サーバーが正常に動作していることを確認します。

システムのモーションの設定

Motion の設定を始める前に、元のファイルのクリーンなバックアップが取れるように、設定ファイルをホーム フォルダにコピーする必要があります。ターミナルを開いて、設定ファイルをホーム フォルダにコピーします。

お気に入りのテキスト エディターを使用して元の構成を開きます。

Motion サーバーで実行できる最も簡単な調整の 1 つは、画像とビデオの出力品質を変更することです。デフォルトでは、サーバーの解像度は 640×480 に設定されていますが、これは最新の Web カメラには小さすぎる可能性があります。

これを変更するには、新しいターミナル セッションで次のコマンドを実行して、カメラで使用可能な解像度を確認します。

ウェブカメラで利用可能な解像度のリストを表示する端末。

モーション設定に戻り、「画像処理」カテゴリまで下にスクロールして、widthと の両方のheight変数を探します。

Motion のウェブカメラ解像度のデフォルト値を表示する端末。

必要な解像度に適切な値を入力します。私の場合は、Motion を 1280×720 で実行したいので、幅に「1280」、高さに「720」と入力します。

Motion の更新された高解像度値を表示する端末。

framerateビデオをキャプチャするフレームレートの値を設定します。デフォルトでは「15」に設定されていますが、ディスク容量を節約するために値を下げることができます。

Motion 構成ファイル内のフレームレート変数を強調表示するターミナル。

「画像出力」カテゴリまで下にスクロールし、picture_output変数の値を「オン」に設定します。これにより、Motion はウェブカメラから画像とビデオの両方をキャプチャできるようになります。

Motion 構成ファイル内の picture_output 変数を表示するターミナル。

デフォルトの保存場所の変更

Motion サーバーで実行できるもう 1 つの調整は、データの保存場所を変更することです。これは、キャプチャしたビデオや画像をマウントされたリモート ディレクトリまたは Dropbox などのクラウド ストレージ サービスにエクスポートする場合に役立ちます。

まず、データを保存するディレクトリに移動する、またはディレクトリを作成します。

ディレクトリの所有権を「motion:adm」に設定します。

ディレクトリへのパス全体がすべてのユーザーから読み取り可能であることを確認してください。

Motion 設定に戻り、target_dir変数を探して、その値をディレクトリのフルパスに設定します。

Motion のカスタム データ ディレクトリを強調表示するターミナル。

モーション検出設定の調整

Motion は、現在のビデオ フィードとその直前のビデオ フィードの違いを調べることで機能します。プログラムが 2 つのフィードの間に十分な違いを見つけた場合、それを「動き」として分類し、イベントのビデオを記録します。

現在、Motion では 1500 ピクセルの差があれば「動き」として分類できると想定しています。これにより、ほとんどのウェブカメラで動きの検出が容易になりますが、高解像度のカメラでは感度が高すぎる可能性があります。

これを抑えるには、「モーション検出」カテゴリに移動して、threshold変数の値を上げます。Motion がウェブカメラ フィードから不要な小さな動きを記録するのを防ぐには、5500 ピクセルで十分であることがわかりました。

Motion サーバーのカスタマイズされたしきい値を表示する端末。

変数を追加して、Motion が「動き」と見なす差異に上限を設定することもできますthreshold_maximum。これは、Web カメラが混雑したエリアを監視しており、アクティビティが少ないときにのみ実行したい場合に便利です。

thresholdウェブカメラの との値がわからない場合はthreshold_maximum、Motion で調整できます。そのためには、変数を追加しthreshold_tuneて「オン」に設定します。

モーションのさまざまなピクセルしきい値オプションを表示する端末。

最後に、動きを検出する前後の瞬間も記録するように Motion を設定できます。これを行うには、pre_captureおよびpost_capture変数に移動し、保存する追加フ​​レームの数に値を設定します。

Motion で画像やビデオをキャプチャするときに追加のフレームを表示する端末。

モーションウェブインターフェースを有効にする

Motion サーバーには、Web カメラをリモートで監視できる Web インターフェイスが付属しています。これを有効にするには、構成の「Webcontrol」セクションに移動し、変数の値をwebcontrol_localhost「off」に設定します。

「ライブ ストリーム」セクションまで下にスクロールし、の値をstream_localhost「オフ」に設定します。

リモート システムが Motion Web コンソールにアクセスできるようにするために無効にする必要がある 2 つのオプションを表示するターミナル。

保存したキャプチャをリモートで管理する

先ほども述べたように、どこからでもアクセスできるように、画像を Dropbox フォルダに保存するのが最善の方法です。ただし、画像を自分のファイル サーバー (FTP 経由) にアップロードしたい場合は、次のコマンドを使用してwput画像をアップロードできます。

Motion サーバーの設定を開き、ファイルの最後に次のコード行を挿入します。

キャプチャしたメディアをリモート サーバーに保存するための 2 つのスクリプト フックが表示されている端末。

モーションサーバーの起動とテスト

必ず Motion 構成ファイルを保存し、次のコマンドを実行してサーバーを起動します。

Web ブラウザを開き、マシンの IP アドレスの後に「:8080」を入力して、サーバーが正常に動作していることを確認します。

Motion の Web コンソールを示すスクリーンショット。

これにより、Web カメラからの現在のビデオ フィードと、サーバーに対する追加のアクションを含むメニューを表示する Web ページが表示されます。たとえば、[アクション] -> [スナップショット]をクリックすると、Web カメラから静止画像をキャプチャできます。

Motion Web コンソールから実行できるさまざまなアクションを示すスクリーンショット。

カメラの前に物体を通過させ、target_dirディレクトリの内容を確認して、Motion がウェブカメラからの動きを検出して記録するかどうかをテストします。

Motion がキャプチャしたメディアをカスタム ディレクトリに保存している様子を示すスクリーンショット。

メディア プレーヤーまたは Web ブラウザーから開くことができるライブ ストリームもあります。これにアクセスするには、マシンの IP アドレスの後に「:8081」と入力します。

Motion からの専用ビデオ ストリームを示すスクリーンショット。

通常のウェブカメラをモーション検出システムに変えることは、Linux のカメラでできることの 1 つにすぎません。今すぐインストールして試すことができる、Linux 向けの最高のウェブカメラ アプリについて詳しく学んでください。

画像クレジット: Bermix Studio (Unsplash経由)。すべての変更とスクリーンショットはRamses Redによるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です