RaspberryPiの公式カメラモジュールはセキュリティカメラとして使用できます。ネットワーク上でカメラのビデオストリームを共有し、ローカルエリアネットワーク(LAN)上の任意のデバイスからリモートでアクセスできます。
VLCメディアプレーヤーを使用して、TCPポートでビデオストリームを共有し、VLCメディアプレーヤーを使用してローカルエリアネットワーク(LAN)上の任意のデバイスからビデオストリームにアクセスできます。
この記事では、Raspberry Piセキュリティカメラを構築し、VLCメディアプレーヤーを使用してRaspberryPiからカメラビデオフィードをストリーミングする方法を紹介します。
それでは、始めましょう!
必要なもの
この記事をフォローするには、次のものが必要です。
- Raspberry Pi3またはRaspberryPi 4
- RaspberryPiカメラモジュール
- Micro-USB(Raspberry Pi 3)またはUSB Type-C(Raspberry Pi 4)電源アダプター
- Raspberry PiOSがフラッシュされた16GBまたは32GBのMicroSDカード
- RaspberryPiのネットワーク接続
- 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セキュリティカメラのセットアップが必要な場合は、この記事を参考にしてください。