RaspberryPiセキュリティカメラネットワークを構築する

Build Raspberry Pi Security Camera Network



RaspberryPiの公式カメラモジュールはセキュリティカメラとして使用できます。ネットワーク上でカメラのビデオストリームを共有し、ローカルエリアネットワーク(LAN)上の任意のデバイスからリモートでアクセスできます。

VLCメディアプレーヤーを使用して、TCPポートでビデオストリームを共有し、VLCメディアプレーヤーを使用してローカルエリアネットワーク(LAN)上の任意のデバイスからビデオストリームにアクセスできます。







この記事では、Raspberry Piセキュリティカメラを構築し、VLCメディアプレーヤーを使用してRaspberryPiからカメラビデオフィードをストリーミングする方法を紹介します。



それでは、始めましょう!



必要なもの

この記事をフォローするには、次のものが必要です。





  1. Raspberry Pi3またはRaspberryPi 4
  2. RaspberryPiカメラモジュール
  3. Micro-USB(Raspberry Pi 3)またはUSB Type-C(Raspberry Pi 4)電源アダプター
  4. Raspberry PiOSがフラッシュされた16GBまたは32GBのMicroSDカード
  5. RaspberryPiのネットワーク接続
  6. RaspberryPiへのVNCリモートデスクトップまたはSSHアクセス用のラップトップまたはデスクトップコンピューター。

ノート :SSHまたはVNCを介してRaspberry Piにリモートでアクセスしたくない場合は、モニター、キーボード、およびマウスもRaspberryPiに接続する必要があります。 Raspberry PiをVNCまたはSSH経由でリモート接続するため、これらは必要ありません。私のセットアップは、RaspberryPiのヘッドレスセットアップと呼ばれます。

microSDカードでRaspberryPi OSイメージをフラッシュする方法についてサポートが必要な場合は、私の記事「Raspberry PiImagerをインストールして使用する方法」を確認してください。



Raspberry Piの初心者で、RaspberryPiにRaspberryPi OSをインストールする際にサポートが必要な場合は、私の記事を確認してください。 Raspberry Pi4にRaspberryPiOSをインストールする方法

Raspberry Piのヘッドレスセットアップについてサポートが必要な場合は、私の記事「外部モニターなしでRaspberry Pi4にRaspberryPiOSをインストールして構成する方法」を確認してください。

RaspberryPiにRaspberryPiカメラモジュールを接続する際にサポートが必要な場合は、私の記事を確認してください。 RaspberryPiカメラモジュールの使用

RaspberryPiカメラモジュールの有効化

Raspberry Pi OSでは、カメラインターフェイスはデフォルトで無効になっています。 RaspberryPi構成ツールから有効にできます。 raspi-config

次のコマンドを使用して、RaspberryPi構成ツールを起動します。

$ sudo raspi-config

選択する インターフェイスオプション を押して

選択する カメラ を押して

選択する を押して

押す

選択する を押して

選択する を押して 。 Raspberry Piが再起動し、変更が適用されます。

VLC MediaPlayerのインストール

VLC Media Playerは、Raspberry PiOSの公式パッケージリポジトリで入手できます。そのため、Raspberry PiOSに簡単にインストールできます。

まず、次のコマンドを使用してAPTパッケージリポジトリキャッシュを更新します。

$ sudo apt update

VLC Media Playerをインストールするには、次のコマンドを実行します。

$ sudo apt install vlc -y

VLC MediaPlayerをインストールする必要があります。私の場合、それはすでにインストールされています。

VLC MediaPlayerを使用したカメラサーバーの作成

NS raspivid コマンドは、RaspberryPiカメラモジュールからのビデオを録画するために使用されます。使い方を説明しました raspivid 私の記事でRaspberryPiを使用してビデオを録画するコマンド RaspberryPiカメラモジュールの使用

VLC MediaPlayerにはコマンドラインプレーヤーがあります cvlc 。あなたは使用することができます cvlc TCPポートでビデオストリームを共有するコマンド。この場合、RaspberryPiカメラモジュールのビデオストリーム。

VLC MediaPlayerを使用してTCPポートでRaspberryPiカメラのビデオフィードを共有するには、次のコマンドを実行します。

$ raspivid -o --- t 0 -hf -w 1920 -h 1080 -fps 30 | cvlc -vvv stream:/// dev / stdin
--sout '#standard {access = http、mux = ts、dst =:9000}':demux = h264

NS raspivid コマンドは、RaspberryPiカメラモジュールからのビデオを録画するために使用されます。

以下のコマンドの意味は次のとおりです。

  • ビデオの幅は1920ピクセルになります
  • ビデオの高さは1080ピクセルになります( -h 1080 )。
  • ビデオは水平方向に反転します( -hf )。
  • ビデオは毎秒30フレームで記録されます( -fps 30 )。
  • ビデオは無制限の秒数で記録されます( -t 0 )。
  • ビデオストリームは、ファイルに保存するのではなく、端末に印刷されます( -また - )。

これらのオプションは、必要に応じて変更できます。

NS cvlc コマンドは、TCPポートを開き、TCPポートでRaspberryPiカメラのビデオフィードを送信するために使用されます。

ビデオフィードは標準入力から取得されます( stream:/// dev / stdin )端子の(パイプを使用) | )。

VLCは多重化にTSコーデックを使用します( –sout ‘#standard {…、mux = ts、…}’ )入力ビデオフィード、および逆多重化用のH264コーデック( :demux = h264 )出力ビデオフィード。

ビデオストリームはHTTPポート9000で利用可能になります( –sout ‘#standard {access = http、…、dst =:9000}’ )。

コマンドを実行してバッファリングが完了すると、VLC MediaPlayerを使用してネットワーク上の任意のデバイスからビデオをストリーミングできます。

RaspberryPiカメラサーバーからのカメラフィードのストリーミング

ホームネットワーク(LAN)内の他のデバイスからカメラフィードにアクセスするには、RaspberryPiのIPアドレスを知っている必要があります。

Raspberry PiのIPアドレスは、ホームルーターのWeb管理インターフェイスから見つけることができます。私の場合、IPアドレスは192.168.0.103です。それはあなたにとって異なるでしょう。なので、これからは必ず自分のものに交換してください。

Raspberry Piコンソールにアクセスできる場合は、次のコマンドを実行してIPアドレスを見つけることもできます。

$ホスト名-I

Raspberry PiのIPアドレスがわかったら、VLC MediaPlayerアプリを開いて次の場所に移動します。 半分 >> オープンネットワークストリーム… 以下のスクリーンショットに示すように。

にカメラサーバーのURLを入力します ネットワークURLを入力してください セクション。私の場合、URLは http://192.168.0.103:9000

URLを入力したら、をクリックします 演奏する

以下のスクリーンショットに示すように、VLC MediaPlayerはRaspberryPiからのビデオフィードのストリーミングを開始する必要があります。

次に、を押してカメラサーバーを停止します + NS

システム起動時にカメラサーバーを起動する

毎回手動でカメラサーバーを起動し、RaspberryPiを起動するのはあまり実用的ではありません。したがって、起動時にカメラサーバーを自動的に起動するカメラサーバーのsystemdサービスを作成できます。

まず、を作成します カメラストリーム- HTTP。サービス のファイル / etc / systemd / system / 次のようなディレクトリ:

$ sudo nano /etc/systemd/system/camera-stream-http.service

次の行を カメラストリーム-http.service ファイル。

[単位]
Description = RaspberryPiカメラストリーミングサーバー
After = network.target
[サービス]
WorkingDirectory = / home / pi
環境= APP_RES_WIDTH = 800
環境= APP_RES_HEIGHT = 450
環境= APP_RES_FPS = 24
環境= APP_PORT = 9000
ExecStart = / bin / bash -c'raspivid -o --- t 0 -hf -w $ APP_RES_WIDTH -h
$ APP_RES_HEIGHT -fps $ APP_RES_FPS | cvlc -vvv stream:/// dev / stdin
--sout '#standard {access = http、mux = ts、dst =:$ APP_PORT}':demux = h264 '
StandardOutput = inherit
StandardError = inherit
再起動=常に
User = pi
[インストール]
WantedBy = multi-user.target

次の環境変数を調整して、適切と思われるカメラサーバーを構成できます。

環境= APP_RES_WIDTH = 800
環境= APP_RES_HEIGHT = 450
環境= APP_RES_FPS = 24
環境= APP_PORT = 9000

完了したら、を押します + NS に続く と、 保存するには カメラストリーム-http.service ファイル。

次のように変更を有効にするために、systemdデーモンをリロードします。

$ sudosystemctlデーモン-リロード

ご覧のとおり、 カメラストリーム-http systemdサービスは現在実行されていません。

$ sudo systemctl status camera-stream-http.service

あなたは始めることができます カメラストリーム-http 次のコマンドを使用したシステムサービス:

$ sudo systemctl startcamera-stream-http.service

NS カメラストリーム-http 以下のスクリーンショットに示されているように、サービスはアクティブ/実行中である必要があります。そう、 カメラストリーム-http systemdサービスが機能しています。

$ sudo systemctl status camera-stream-http.service

あなたは追加することができます カメラストリーム-http 次のコマンドを使用して、Raspberry PiOSのシステム起動にsystemdサービスを実行します。

$ sudo systemctl enable camera-stream-http.service

変更を有効にするには、次のコマンドを使用してRaspberryPiを再起動します。

$ sudo再起動

Raspberry Piが起動したら、 カメラストリーム-http 以下のスクリーンショットに示されているように、systemdサービスはアクティブ/実行されている必要があります。

$ sudo systemctl status raspi-home-automation.service

結論

この記事では、Raspberry Piセキュリティカメラを構築し、VLC Media Playerを使用してホームネットワーク(LAN)からビデオフィードにアクセスする方法を説明しました。簡単なRaspberryPiセキュリティカメラのセットアップが必要な場合は、この記事を参考にしてください。