2021/12/15 よりサイトリニューアルしました

Raspberry Pi 4B カメラ動画配信「Mjpg-Streamer」のインストールと設定方法

Mjpg-Streamer raspberry Pi 4B

Raspberry pi 3B+で使ってて便利だと思ったのが「Mjpg-Streamer」「samba」「WebiOPi」の機能になります。

「Mjpeg-Streamer」→カメラ映像のストリーミング配信(WEB)

「samba」→ファイル共有プロトコル(SMB)

「WebiOPi」→ブラウザでGPIOを操作できる機能

これらは全て過去にインストールから設定までやった経験がありますが、Raspberry Pi 4Bでは同じようにいきませんでした。。

更新によるソフトウェア側の問題なのか、Raspberry pi4Bとの互換性の問題なのか、その辺りは不明ですが、過去とは異なる方法でインストールと設定が出来ましたのでここでまとめておこうかと思います。

今回は「Mjpg-Streamer」についてまとめます。

Mjpg-Streamer

インストール

まず、専用のライブラリをインストール。yで実行。

次にソースファイルのダウンロード

ソースの場所に移動してコンパイルとインストール

これでインストールが完了です。

MJPG-streamerの起動

mjpg-streamer/mjpg-streamer-experimental内のシェルスクリプトを起動させるとカメラのストリーミングが開始します。

コマンドは下記の通りです。

なお、この中身に解像度やフレームレート、ポート番号やPASS設定などの記述があるので、好みに合わせて変更が可能です。

2度目以降の起動は、

でOKです。

カメラ動画の視聴

カメラのストリーミングが開始すれば、あとはそこにアクセスするだけでカメラの画像が確認出来ます。つまり、ラズパイにWEBサーバーが立てられている事になります。

同じLAN環境下にあれば、スマホやPC等からラズベリーパイのサーバーにアクセスするができます。

たとえば、ラズベリーパイのアドレスが「192.168.1.10」とすれば、クライアント側は、webブラウザで「192.168.1.10:8080」と、アドレスの後にポート番号を入れてアクセスするだけです。

Mjpg streamer

これでラズベリーパイのカメラモジュールが映し出している画像をリアルタイムで確認することが出来ます。

11 COMMENTS

jazzwalker

記事を読ませていただきました。

エラーが出まして、手詰まりです。コメントを頂ければ幸いです。

MJPG Streamer Version: git rev: 310b29f4a94c46652b20c4b7b6e5cf24e532af39
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: -1
i: Format…………: JPEG
i: TV-Norm………..: DEFAULT
libv4l2: error setting pixformat: Device or resource busy
Unable to set format: 1196444237 res: 640×480
Init v4L2 failed !! exit fatal
i: init_VideoIn failed

返信する
ketunorobio

jazzwalkerさまはじめまして、管理人です。
Device or resource busyとあるので、例えば他のサービス(motionなど)が起動している可能性はないでしょうか。
そうであれば、そちらのプロセスを一度停止すると改善するかもしれません。

返信する
jazzwalker

ご回答ありがとうございます。

出来ました。活用させていただきます。

シンプルかつ分かりやすい記事をありがとうございました。

返信する
jazzwalker

管理人さま

ラズパイの新OS:bullseyeでやってみたのですが、以下のようになりました。

pi@raspberrypi4B:~/mjpg-streamer/mjpg-streamer-experimental $ bash start.sh
MJPG Streamer Version: git rev: 310b29f4a94c46652b20c4b7b6e5cf24e532af39
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: -1
i: Format…………: JPEG
i: TV-Norm………..: DEFAULT
i: The specified resolution is unavailable, using: width 2028 height 1080 instead
i: Could not obtain the requested pixelformat: MJPG , driver gave us: pRCC
… will try to handle this by checking against supported formats.
Init v4L2 failed !! exit fatal
i: init_VideoIn failed

うまく行きませんでした。
勝手言って済みませんが、これについてのコメントを頂けると有り難いのですが…。宜しくおねがいします。

返信する
ketunorobio

jazzwalker様
お返事が遅れてしまい申し訳ありません。管理人です。

指定された解像度は使用できません。と書いているようですので、カメラは変えていない事を前提とすれば
アプリケーションがOSにマッチしていない可能性もありますので、一度パッケージの更新(インストール済みの物)をされてみてはいかがでしょうか。(って多分やってますよね。。)

返信する
jazzwalker

カメラは変えていません。

update,upgradeした上で、
記事の通りにインストールをやり直してみたのですが、結果は同じでした。同じメッセージが出ています。

返信する
jazzwalker

start.sh の中身をいじるということでしょうか? それは試しておりません。

ちょっと、私にはハードルが高いです。

返信する
ketunorobio

申し訳ありませんが、jazzwalkerさんの詳細な状況が不明であることから、以下のありきたりな助言しかできません。
①mjpgパッケージをアンインストールし、再度インストールし直す。
②解像度の変更をやってみる。

②はハードルが高いのかもしれませんが、ググれば山ほどヒットいたします。

お力になれなくて申し訳ないですが、よろしくお願いいたします。

返信する
jazzwalker

解像度の変更もやってみました。結果は駄目でした。

OS:bullseye ではまたやり方が違うのかも知れませんね。

お手数かけました。ご回答ありがとうございました。

返信する
ketunorobio

jazzwalker様
管理人です。先日(2021/12/5)raspberrypi zero 2wをセットアップしていた所、jazzwalker様と同じような症状が発生いたしました。エラー内容は多少異なりますが、私の場合は「カメラが有効にならない」でした。
試行錯誤した結論、現行の最新ver bullseyeではmjpg streamerと互換性が無い、かつそれ以前にカメラが有効にならないといった致命的欠陥があるかのように思えます。(多分)
改善策としては、osをダウングレード(busterなど)するしか無いかと思われます。ちなみに私の場合はbusterにダウングレードで直りました(あたりまえか。。)
すでに解決しているかも知れませんが、一応記しておきます。※osダウングレードはラズパイイメージャーから簡単に出来ます。

返信する

ketunorobio へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です