はじめに
こんにちは。今回はRaspberryPiにUSBカメラを接続し、映像をストリーミングで確認する方法を書いていきます。
ストリーミングでリアルタイムに映像を確認することができれば、RaspberryPiをネットワークカメラとして使用することもできますね。
RaspberryPiのOSインストールと初期設定は下の記事にまとめていますので、よかったらご覧ください。
www.77-lifework.com
また、ここで使用しているRaspberryPiのモデルは「Raspberry Pi 3 model B+」です。
2年前ぐらいに買ったであろうものです。
USBカメラの動作確認とストリーミング
今回使用したUSBカメラは以下です。テレワークの会議など、他の用途でも使えそうなやつを選びました。
まずはラズベリーパイにUSBカメラを接続した状態でssh接続します。
Macの方はターミナルから「ssh pi@<ラズベリーパイのIPアドレス>」、Windowsの方はteratermなどのソフトを起動して接続しましょう。
以下のようにログインします。
「lsusb」を実行してUSB接続されている機器を確認します。
今回使用するUSBカメラが認識されています。
カメラの動作確認のため、mjpg-streamerをインストールしてみましょう。
これを実行するとUSBカメラを使用してストリーミングができ、Webブラウザ経由でカメラに写っているものを確認できます。
まずはパッケージをアップデートしておきます。
sudo apt update sudo apt upgrade
mjpg-streamerに必要なパッケージをインストールします。
sudo apt install libjpeg8-dev cmake
mjpg-streamerをダウンロードします。
git clone https://github.com/jacksonliam/mjpg-streamer.git
すると「mjpg-streamer」というディレクトリができていると思いますので、
「cd mjpg-streamer/mjpg-streamer-experimental」を実行してディレクトリを移動します。
以下を実行してコンパイルします。
make sudo make install
これでインストールが完了したので、以下で「start.sh」を実行してみましょう。
./start.sh
この状態で自分のPCのブラウザから「http://<ラズベリーパイのIPアドレス>:8080」にアクセスしてみると以下のようにmjpg-streamerの画面が表示されます。
Streamingのタブを開いてみると、カメラの映像が表示されています。
画像サイズやフレームレートを設定するため、「start.sh」を参考にして、以下のようなスクリプトをつくります。
「streaming_start.sh」という名前で保存します。
#!/bin/sh SIZE="320x240" #画面サイズ FRAMERATE="30" #フレームレート export LD_LIBRARY_PATH="${pwd}" ./mjpg_streamer -i "input_uvc.so -f $FRAMERATE -r $SIZE -d /dev/video0 -y -n" -o "output_http.so -w ./www"
以下のように&付きで実行するとバックグラウンドで実行できます。
./streaming_start.sh &