水槽のライブ配信
https://scrapbox.io/files/6181ff6c32c22e001d9966a2.png
Raspberry Piに接続したカメラモジュールで水槽内を撮影し、Webから視聴可能なライブ配信を行う
ここではローカルネットワーク内のみでの配信について記載し、外部のネットワークからアクセスして視聴できるようなライブ配信については水槽のライブ配信(外部公開)にて記載する ライブ配信はmjpg-streamerを使用する
システム構成図
Raspberry Piに「Camera」を接続し、ラズパイと同一LAN内からライブ配信ページにアクセスする
システム構成図.icon
要件
LAN内のデバイスからWebページにアクセスして水槽内のライブ配信を視聴できる
仕様
仕様1:Raspberry Piからコマンドを実行すると、ライブ配信ページにて配信が開始される
使用したもの
あしゅりーアクアリウムの場合
table:使用したもの
ラズパイ Raspberry Pi 4 ModelB 4GB
カメラモジュール OV5647
設計
流れは以下の通り
ラズパイにカメラモジュールを接続
mjpg-streamerをインストール
ライブ配信の開始
ラズパイにカメラモジュールを接続
mjpg-streamerをインストール
以下などを参考にした
依存ライブラリからインストール
code:Terminal
$ sudo apt install cmake libjpeg8-dev
Gitリポジトリをクローンしてビルド
code:Terminal
$ cd mjpg-streamer/mjpg-streamer-experimental
$ make
$ sudo make install
ライブ配信の開始
mjpg-streamer-experimental内にて以下を実行する
code:Terminal
$ mjpg_streamer -o './output_http.so -w ./www -p 8080' -i './input_raspicam.so -x 640 -y 480 -fps 30 -q 10'
⇒パスを通したりスクリプト化したりは適宜実施のこと
<Raspberry PiのIPアドレス>:8080にアクセスすると以下のような画面が表示される
https://scrapbox.io/files/61d15e83b2b0f3001fc94af6.png
上記のサイドメニューからStreamをクリックすればライブ配信ページが表示される
完了 ⇒ 仕様1:Raspberry Piからコマンドを実行すると、ライブ配信ページにて配信が開始される
このままだとこのページの一部の要素として配信画面が表示されるが、<Raspberry PiのIPアドレス>:8080/?action=streamとしてアクセスすれば配信部分だけを表示することができる
このURLを自前のWebページなどでimgタグのsrcに指定してやれば任意のページにライブ配信を埋め込むことができる
活用
上記ではコマンドを直接叩いて配信開始であったがWebページアクセス時に自動で開始したり、ボタン押下などで開始できると良い
悪用回避策も要検討