mjpg-streamerを使ってカメラからの映像をストリーミング配信(動画配信)してみます。この手の解説サイトは多々あるのですが、微妙な環境な違い??いろいろな方法がある??少してこずったので私の環境でうまくいった方法を完全に個人的な覚書となりますが纏めておきます。
ただ方法といってもここのドキュメントに記載のある方法そのままです▼
▼アップデートとインストール▼
# Update & Install Tools $ sudo apt-get update -y $ sudo apt-get upgrade -y $ sudo apt-get install build-essential imagemagick libv4l-dev libjpeg-dev cmake -y # Clone Repo in /tmp $ cd /tmp $ git clone https://github.com/jacksonliam/mjpg-streamer.git $ cd mjpg-streamer/mjpg-streamer-experimental # Make $ make $ sudo make install
インストールはこれで完了。
▼次にmjpg-streamerを起動します▼
$ /usr/local/bin/mjpg_streamer -i "input_uvc.so -r 1280x720 -d /dev/video0 -f 30 -q 80" -o "output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www"
このコマンドで動画配信が開始されます。ここでは解像度やFPS、画像品質、ポート番号などを指示してます。起動するたびにこのコマンドは長くて手間です。
▼ブラウザで配信確認▼
http://***.***.***.***:8080 もしくは http://***.***.***.***:8080/?action=stream
「***.***.***.***」にはラズパイIPアドレスを記述します。同一LAN内にあるスマホやパソコンなど適当なブラウザでここにアクセスするとカメラ(ラズパイ)から動画配信されているのが確認できると思います。
基本的にはこれで動きますが、mjpg-streamerを起動するあの長いコマンドをいちいち記述するのは面倒です。なので起動用のファイル(シェル)を作成しておきます。
▼起動用ファイルを作成▼
ファイルマネージャー開いて、好みの場所に「*****.sh」ファイルを作成します。ほんとはターミナルでnanoコマンドで作成したかったのですが、なぜかパーミッション(権限)の関係がうまくいかなかったのでこの方法でファイル作成しました。ここでは /home/pi 直下に「stream.sh」と空ファイル作成してます。
▼次に作成したファイルの中身を編集▼
$ nano stream.sh
編集画面開いて、
#!/bin/sh PORT="8080" SIZE="1280x720" ID="user" PW="user" QUALITY="80" FRAMERATE="30" export LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/mjpg_streamer \ -i "input_uvc.so -r $SIZE -d /dev/video0 -f $FRAMERATE -q $QUALITY" \ -o "output_http.so -p $PORT -c $ID:$PW -w /usr/local/share/mjpg-streamer/www"
▲などと記述して、「ctr+o」で上書き保存して、「ctr+x」で終了します。nanoを使用して編集しましたが、どんなエディタでもいいと思います。カメラの起動設定を記述しているシェルとなります。これで準備完了。
▼シェルを起動▼
$ sh stream.sh
以後、動画配信を開始するときは先ほどのシェルを起動するだけでO.K。これで動画配信が開始されます。先ほどのコマンドよりはずいぶん簡単。
あとラズパイ起動時に動画配信を自動起動するとか、外出先から見るとかいろいろできるのですが、今回はそこまでする必要ないのでこの辺で完了です・・。
コメント
お世話になります。
$ sudo apt-get install build-essential imagemagick libv4l-dev libjpeg8-dev cmake -y
のところでエラーが出ます。libjpeg8-dev が無いとのこと。
それから、
# Make
$ make
$ sudo make install
ここでもつまづいています。以下のように出力されます。
pi@raspberrypi4B:/tmp/mjpg-streamer/mjpg-streamer-experimental $ make
[ -d _build ] || mkdir _build
[ -f _build/Makefile ] || (cd _build && cmake -DCMAKE_BUILD_TYPE=Release ..)
/bin/sh: 1: cmake: not found
make: *** [Makefile:18: all] エラー 127
コメントを頂ければありがたく存じます。
jazzwalkerさん、サイト拝見下さり有難う御座います。
気になったので元のgithub見に行ったらセットアップガイドがいつの間にか微妙に変わってました。
sudo apt-get install build-essential git imagemagick libv4l-dev libjpeg-dev cmake -y
一度こちらでで試してみてはいかがでしょうか?