脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

mjpg-streamerでraspberryPiのカメラからストリーミングをする方法

以下のサイトを参考にさせて頂いてraspberryPiのカメラでストリーミングを行えるようにしました
neuralassemblyのメモ: Raspberry Pi用カメラモジュールおよび赤外線カメラPi NoIRの映像をandroidで表示してみた

1. カメラの接続

まずは何はともあれカメラを接続します。
場所は基盤に「CAMERA」と書いてあるのですぐわかると思います。
f:id:portaltan:20161129184618p:plain

2. cameraの有効化

カメラは接続しただけでは有効化されていないので、raspi-configから有効化します

sudo raspi-config

以下のような設定用の画面が出てくるので、6の[Enable Camera]を選択します
f:id:portaltan:20161129182803p:plain

カメラを有効化するかどうか聞かれるのでYesを選択します
f:id:portaltan:20161129182856p:plain

無事有効化できたら確認の画面が出た後に、再起動するか聞かれるので一応再起動しておきましょう

3. mjpg-streamerのinstall

streamingソフトのmjpg-streamerをinstallします

### download
$ cd ~
$ git clone https://github.com/jacksonliam/mjpg-streamer.git mjpg-streamer

### install
$ cd mjpg-streamer/mjpg-streamer-experimental
$ sudo apt-get install libjpeg8-dev cmake
$ make
$ cd ../../
$ sudo mv mjpg-streamer/mjpg-streamer-experimental /opt/mjpg-streamer

### 起動
$ LD_LIBRARY_PATH=/opt/mjpg-streamer/ /opt/mjpg-streamer/mjpg_streamer -i "input_raspicam.so" -o "output_http.so -p 9000 -w /opt/mjpg-streamer/www"

以上でストリーミングがはじまります。

http://${IP}:9000にアクセスすると以下のようにmjpg-streamerのroot pageが表示されます
f:id:portaltan:20161129184138p:plain
左にあるタブを選択することで、Staticでその画像、Streamでストリーミング映像が表示されます

4. オプションの設定

input_raspicam.soにオプションを指定することで色々と条件を変更することができます

### for input_raspicam.so option
-fps  # FPS
-q    # set JPEG quality 0-100, default 85
-x    # width of frame capture, default 640
-y    # height of frame capture, default 480
-br   # Set image brightness (0 to 100)
-ex   # Set exposure mode (see raspistill notes)
-mm   # Set metering mode (see raspistill note)