このサイトはMacを使って Raspberry Pi 3 の動作や活用法を学びます。

監視カメラ

専用カメラ「Raspberry Pi Camera Modules v2」を接続したラズパイを監視カメラとして使います。
カメラで撮影した映像をネットで配信し、PCやスマホで見ることができるようになります。

Raspberry Pi Camera Modules v2

MPEG-streamerの導入

MPEG-streamerをラズパイにインストールすると、カメラで撮影した動画を同じアクセスポイントに接続しているPCやスマホで見ることができます。ただ、MPEG-streamerはすぐにラズパイにインストールできるバイナリファイルでの提供がないために、MPEG-streamerのソースファイルと実行に必要なパッケージをダウンロードしてラズパイ内でコンパイル・インストールします。

sudo apt-get install libv4l-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
sudo apt-get install cmake
git clone https://github.com/jacksoliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make

libv4l-dev、libjpeg8-dev、imagemagickは、MPEG-streamer実行に必要なパッケージ、cmakeはコンパイルに必要です。ソースファイル自体はgithubからダウンロードしますが、念のためダウンロードしたファイルを ここ に置いておきます。
ダウンロードしたファイルにカレントディレクトリを移動し、コンパイルします。

streamerの実行と終了

カメラをラズパイに接続してから、カレントディレクトリが ./mjpg-streamer/mjpg-streamer-experimental にあることを確認し、コマンドで MJPG-streamer を起動します。ターミナル画面には、配信している画像の情報が表示されます。次のコマンは、PiCameraから 320x240px 毎秒30枚の画像がポート8080から配信されます。
映像配信を終了するには、ターミナル画面で「CTL + c 」を入力します。

./mjpg_streamer -i "./input_raspicam.so -fps 30 -x 320 -y 240" -o "./output_http.so -w ./www -p 8080"
streamerの受信

PCやスマホのインターネットブラウザーのアドレス欄に次のアドレスをを入力し 配信されている映像を見ることができます。

http://192.168.0.8:8080

http://raspberrypi.local:8080

上記アドレスにアクセスすると、MJPG-Streamerのホームページ(左)が表示されます。左欄の『Stream』をクリックすると動画映像を中心に表示されます。

MJPG-streamer Homepage

さらに単純に動画配信だけを見るには、ブラウザーのアドレス欄に次のアドレスをを入力します。

http://192.168.0.8:8080/stream_simple.html

http://raspberrypi.local:8080/stream_simple.html

上記アドレスにアクセスすると、動画映像だけのHTMLページが表示されます。
stream_simple.html のソースコードを以下に示します。

<html>
  <head>
    <title>MJPG-Streamer - Stream Example</title>
  </head>
  <body>
    <center>
      <img src="./?action=stream" />
    </center>
  </body>
</html>


使用するコマンンドのオプション一覧を示します。

オプション 説明
-i (input)入力プラグインを指定  "<input-plugin.so> [parameters]"
-o (output)出力プラグインを指定  "<output-plugin.so> [parameters]"
-b (background) Stream配信をバックグランドで実行する。このオプションをつけてコマンド実行すると、直後に「forked to background (4979)」のようにプロセスID番号の知らせがある。MJPG-Streamを停止するにはこの番号を使用し「kill 4979」とする。
input_raspicam.so ラズパイ専用カメラプラグイン パラメータ
-fps (framerate) 撮影のフレームレート 初期値 5 frame/sec
-x (width)画像の横幅 初期値 640px
-y (height)画像の高さ 初期値 480px
-qualityJPEG品質 0-100 初期値 85
-sh (sharpness) シャープネス (-100 to 100)
-co (contrast)コントラスト (-100 to 100)
-br (contrast)明るさ (0 to 100)
-sa (saturation) Set image saturation (-100 to 100)
-ISOISO値
-vs (www) Turn on video stablisation
-ev (www)EV 補正指定
-ex (exposure)露出モード指定 (see raspistill notes)
-awb (www)ホワイトバランス指定 (see raspistill notes)
-ifx (image effect)映像エフェクトの追加 (see raspistill notes)
-cfx (colour effect)色彩エフェクトの追加 (U:V)
-rot (rotation)画像回転 (0-359)
-drc (Dynamic range)ダイナミックレンジ補正 (see raspistill notes)
-hf (h-flip) 水平反転
-vf (v-flip) 垂直反転
output_http.so HTTP出力プラグイン パラメータ
-w (www) folder that contains webpages in flat hierarchy (no subfolders)
-p (port) TCP port for this HTTP server
-c (credentials) ask for "username:password" on connect