エンジニアのはしがき

プログラミングの日々の知見を書き連ねているブログです

Raspberry Piで動画のストリーミングをしてみる

f:id:tansantktk:20210114203415p:plain

自宅で水耕栽培をしているのですが、植物の成長度合いをブラウザからでも見てみたいという気持ちから ラズパイで動画のストリーミングサーバを立ててみました!

動作環境

ハードウェア

  • Raspberry Pi 3B+
  • LABISTS Raspberry Piカメラモジュール 1080P 5M OV5647センサー(¥1,580)

www.amazon.co.jp

OS

$ lsb_release -a

No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

カメラモジュールをラズパイに接続する

フレックスケーブルをラズパイに差し込みます。 挿しこむ前に差し込み口のロックを解除しておく必要があります。

カメラモジュールに同封されている説明書に接続方法の記述がありますので、読みながらやるのが間違い無いと思います。

カメラモジュールを有効にする

Preference -> Raspberry Pi Configuration -> Interfaces -> CameraEnabledにします。

f:id:tansantktk:20210114195457p:plain

f:id:tansantktk:20210114195507p:plain

mjpg-streamerをインストール

mjpg-streamerとは

ラズパイのカメラで撮影している動画をストリーミングするサーバを立ち上げてくれる便利ライブラリです。 複雑な設定も不要で、CUIからコマンドを叩くだけでサーバを立ち上げてくれます。

ターミナルでmjpg-streamerの準備

# mjpg-streamer利用に必要なライブラリをインストール
$ sudo apt install libjpeg8-dev cmake
# mjpg-stremaerインストール
$ git clone https://github.com/jacksonliam/mjpg-streamer.git mjpg-streamer
$ cd mjpg-streamer/mjpg-streamer-experimental
# mjpg-stremaerをビルド
$ make

mjpg-streamerを起動してサーバを立ち上げる

準備ができたら、git cloneしたmjpg-streamerのディレクトリへ移動して実行します。

$ cd /opt/mjpg-streamer
$ ./start.sh”

ターミナルでコマンド実行をしたら、http://{{ラズパイのIPアドレス}}:8080にブラウザからアクセスし、立ち上げたサーバを確認してみましょう。 下記のような画面が表示されれば無事にサーバが立ち上がっています。

もしアクセスできない場合は、8080番ポートがファイアウォールで許可されていないかどうか確認すると良いかもしれません。

f:id:tansantktk:20210114201856p:plain

サイドバーの「Stream」をクリックすると、ストリーミングされている動画を確認することができます。

f:id:tansantktk:20210114201907p:plain

ちなみに↑で貼り付けている画像は水耕栽培しているほうれん草を映しているのですが、LEDライトが強いのとまだ芽が出たばっかりなのとで何がなんだか分からない感じですねー😑

そのうち見てすぐに分かるくらいに育つことを期待して、こつこつと育てていきたいと思います。