Raspberry Piに「MJPG-streamer」をインストールする
現在製作中のロボットにはUSBカメラを取り付けてあり、今後、
- スマホからロボットの視点で操作
- 画像解析(顔検知など)
を行いたいと考えています。
今回は、カメラの映像を配信可能にする「MJPG-streamer」をインストールしたのでメモ。
カメラはロジクールのWebカメラから中身を取り出して、頭部に搭載しています。
ロジクール ウェブカメラ C270 ブラック HD 720P ウェブカム ストリーミング 小型 シンプル設計 国内正規品 2年間メーカー保証
- 発売日: 2010/08/20
- メディア: Personal Computers
インストール方法や設定に関しては、書籍「実例で学ぶ Raspberry Pi 電子工作」とWeb上の情報を参考にさせていただきました。
このエントリーとは直接関係しないけど、電源OFFボタンの作成や6足歩行ロボットの作り方なども書かれているのでとてもおすすめ。
実例で学ぶRaspberry Pi電子工作 作りながら応用力を身につける (ブルーバックス)
- 作者:金丸 隆志
- 発売日: 2015/12/18
- メディア: 新書
今回に限らず、Webの情報だけだとうまくいかないケースも多く、一方で書籍だけだと環境が自分と違う(ラズパイ用のカメラモジュールを使用していたり)ので、双方でうまく補完しつつ学んでいます。
MJPG-streamerのインストール
以下のコマンドでインストールと、ファイルのシステム領域への移動を行う。
$ sudo apt-get update $ sudo apt-get install libjpeg8-dev cmake $ git clone https://github.com/jacksonliam/mjpg-streamer.git $ cd mjpg-streamer/mjpg-streamer-experimental $ make $ cd $ sudo mv mjpg-streamer/mjpg-streamer-experimental /opt/mjpg-streamer
MJPG-streamerの起動
起動用のファイルを作成
$ sudo nano /home/pi/mjpg-streamer/start_server.sh
以下の内容を記述して、保存。
#!/bin/sh PORT="9000" #ポート番号 SIZE="480x640" #画面サイズ QUALITY="80" #画像クオリティ FRAMERATE="30" #フレームレート MJPEGDIR=/home/pi/mjpg-streamer export LD_LIBRARY_PATH=/usr/local/lib $MJPEGDIR/mjpg_streamer \ -i "input_uvc.so -f $FRAMERATE -r $SIZE -q $QUALITY -d /dev/video0 -y -n" \ -o "output_http.so -w /usr/local/www -p $PORT"
今回ここではパスワードを設定していないので、将来的に外部からもアクセス可能にする際は注意しないと。
2020.08.31 追記
1年経って上記の方法でやり直したらうまくいきませんでした🥺
原因がわかったら修整予定!
起動確認
以下のコマンドで起動する。
$ sh /home/pi/mjpg-streamer/start_server.sh
http://{Raspberry PiのIPアドレス}:{設定したポート番号(9000)}/にブラウザからアクセスして、以下のような画面が表示されたらOK。
左側のメニューの「Stream」や「Javascript」から、実際にカメラで撮影している映像を確認できる。
ちなみに終了させる場合は、
$ ps ax | grep mjpg
でプロセスIDを調べて、
$ sudo kill {プロセスID}
でOK。
ラズパイ立ち上げ時に自動起動するよう設定
/etc/rc.local の最後にある、
exit 0
の前に、以下の1行を追加。
sh /home/pi/mjpg-streamer/start_server.sh &
これで、Raspberry Piの起動時にMJPG-streamerが立ち上がるようになりました。
ひとまず今回はインストールと起動設定まで。
つづく。