mjpg-streamerの設置。Webにある情報だけど、不足があったり不完全だったりするのでここに一つにまとめておく。
mjpg-streamer で piカメラモジュールを使うには、2通りあるようだがここでは、bcm2835-v4l2と標準のmjpg-streamを組み合わせて使う。
また、ラズパイが起動するときにmjpg-streamを自動起動させたいが、それにはsystemctlを使うことにする。
まず、カメラモジュールを有効にする。
0. 次に、いつものおまじないをして
sudo apt-get update
sudo apt-get upgrade
1. svnからmjpg-streamerを持ってくるので subversionを用意しておく
sudo apt-get install subversion
2. 必要なパッケージをインストール
sudo aptitude install libv4l-dev libjpeg8-dev imagemagick
3. mjpg-streamerをダウンロード
svn co http://svn.code.sf.net/mjpg-stream/code/mjpg-streamer mj
(mjというサブディレクトリを作って、そこにダウンロード. 絶対パスは、/home/pi/mj )
4. mjディレクトリに移って mjpg-streamerをmake
cd mj
make USE_LIBV4L2=true clean all
5. /dev/video0 を準備。起動時に自動的にbcm2835-v4l2が読み込まれるようにする
/etc/modules に bcm2835-v4l2 の1行を追加
6. ここでリブート. /dev/video0 が現れているはず。
7. (あとの都合もあるので) mjpg-streamerの起動シェルスクリプト(mj.sh)をここに作る.
#!/bin/sh
cd /home/pi/mj
./mjpg_streamer -i "./input_uvc.so -f 15 -r 640x360 -d /dev/video0 -y" -o "./output_http.so -w ./www -p 8080"
(最初に cdしているのは、どこからでもこのシェルスクリプトをたたけるようにするため。)
( フレームレート指定 -f 15 や 解像度指定 -r 640x360 はおいおい詰めてゆくつもり。 ポートは8080番ポート -p 8080)
8. 動作実験
さきほどのシェルスクリプトを実行して、mjpg-streamerを起動。
ブラウザ から、http://(アドレス):8080/ でアクセスしてみる。問題がなければ次のようなページが見えるはず。左下にカメラモジュールの写した静止画がある。
(ブラウザは、Windows PCのchrome, 初代 iPadのsafari, iPad mini retina のブラウザ で確認済み)
![](https://blogimg.goo.ne.jp/thumbnail/6a/bd/d1a8a10682a575b94043f55f59b6b3c3_s.jpg)
Stream を選ぶの、こんな感じでライブ動画でみることができる。
![](https://blogimg.goo.ne.jp/thumbnail/61/d0/124260800545c78c988ff56cd92f80b3_s.jpg)
動画だけにするなら、 http://(アドレス):8080/?action=stream を開く。こんな感じ。
![](https://blogimg.goo.ne.jp/thumbnail/11/59/514577b8cbb420673145cbcbd221ce91_s.jpg)
mjpg-streamer で piカメラモジュールを使うには、2通りあるようだがここでは、bcm2835-v4l2と標準のmjpg-streamを組み合わせて使う。
また、ラズパイが起動するときにmjpg-streamを自動起動させたいが、それにはsystemctlを使うことにする。
まず、カメラモジュールを有効にする。
0. 次に、いつものおまじないをして
sudo apt-get update
sudo apt-get upgrade
1. svnからmjpg-streamerを持ってくるので subversionを用意しておく
sudo apt-get install subversion
2. 必要なパッケージをインストール
sudo aptitude install libv4l-dev libjpeg8-dev imagemagick
3. mjpg-streamerをダウンロード
svn co http://svn.code.sf.net/mjpg-stream/code/mjpg-streamer mj
(mjというサブディレクトリを作って、そこにダウンロード. 絶対パスは、/home/pi/mj )
4. mjディレクトリに移って mjpg-streamerをmake
cd mj
make USE_LIBV4L2=true clean all
5. /dev/video0 を準備。起動時に自動的にbcm2835-v4l2が読み込まれるようにする
/etc/modules に bcm2835-v4l2 の1行を追加
6. ここでリブート. /dev/video0 が現れているはず。
7. (あとの都合もあるので) mjpg-streamerの起動シェルスクリプト(mj.sh)をここに作る.
#!/bin/sh
cd /home/pi/mj
./mjpg_streamer -i "./input_uvc.so -f 15 -r 640x360 -d /dev/video0 -y" -o "./output_http.so -w ./www -p 8080"
(最初に cdしているのは、どこからでもこのシェルスクリプトをたたけるようにするため。)
( フレームレート指定 -f 15 や 解像度指定 -r 640x360 はおいおい詰めてゆくつもり。 ポートは8080番ポート -p 8080)
8. 動作実験
さきほどのシェルスクリプトを実行して、mjpg-streamerを起動。
ブラウザ から、http://(アドレス):8080/ でアクセスしてみる。問題がなければ次のようなページが見えるはず。左下にカメラモジュールの写した静止画がある。
(ブラウザは、Windows PCのchrome, 初代 iPadのsafari, iPad mini retina のブラウザ で確認済み)
![](https://blogimg.goo.ne.jp/thumbnail/6a/bd/d1a8a10682a575b94043f55f59b6b3c3_s.jpg)
Stream を選ぶの、こんな感じでライブ動画でみることができる。
![](https://blogimg.goo.ne.jp/thumbnail/61/d0/124260800545c78c988ff56cd92f80b3_s.jpg)
動画だけにするなら、 http://(アドレス):8080/?action=stream を開く。こんな感じ。
![](https://blogimg.goo.ne.jp/thumbnail/11/59/514577b8cbb420673145cbcbd221ce91_s.jpg)