水瓶座列車

どこまで行けるか、とりあえず発車します。

RaspberryPi(ラズパイ)でカメラを使ってストリーミング配信する手順

f:id:aquarius999:20190707031940j:plain

 

CSI接続のカメラを購入したので、とりあえず自宅LAN内でストリーミング配信して、

ブラウザから見れるようにしたいと思います。

 

 

 

 

  1.カメラデバイスについて

 

カメラデバイスを購入するときに、解像度と赤外線に対応しているかどうかだけを優先しました。

今回使用するカメラはこれです。 

f:id:aquarius999:20190707032216j:plain

  

スペックは、こんな感じです。

・接続は、CSI(Camera Serial Interface)

・解像度は、5MP OV5647

・静止画は、最大 2592 x 1944ピクセル

・動画は、1080P(1920x1080)の30fps、720P(1280x720)の60fps、640x480の30/60fps

・赤外線カメラ内蔵

 

このカメラは、真っ暗になると自動的に赤外線カメラになるのですが、

赤外線ライトが付属していなものを買ったために、まだその画像を見ることができていません。

ちょっと失敗しました。

もし赤外線カメラの使用も考えているなら赤外線ライトが付いているものが良いです。

値段もそれほど変わりません。

私のように個別に買おうとすると割高になります。 

 

  2.カメラインターフェースの設定

 

ラズパイでカメラを使用するにはデスクトップ画面の左上にあるラズパイマークを押して、

「設定」ー>「Raspberry Piの設定」を選択します。

次にRaspberry Piの設定ウィンドウのインターフェースタブを選択し、カメラを有効にします。 

f:id:aquarius999:20190707032427p:plain

 

これで設定は完了です。

 

  3.ラズパイとカメラの接続

 

ラズパイ上にCAMERAと記載されているCSIソケットにカメラデバイスを接続します。 

f:id:aquarius999:20190707111745j:plain

 

付け方は、ソケットの上部を少し上に押し上げます。

そしてこの画像の向きで、ケーブルの金属部分が右側になるようにして、

ケーブルを少し押し込み、ソケットの上部を下に押して固定します。

 

 

  4.MJPG-streamerのインストール手順

 

ストリーミングソフトとして「MJPG-streamer」をインストールします。  

最初に、このソフトを取得・ビルドに必要なモジュールを先にインストールします。

# sudo apt-get install -y subversion libjpeg-dev imagemagick

 

subversionは、MJPG-streamerのソースコードを取得するために必要で、

libjpeg、imagemagickはビルドする時に必要になります。

 

次にMJPEG-streamerのソースコードを取得します。

# sudo co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer

 

mjpg-streamerフォルダに移動してビルドします。

# cd mjpg-streamer 
# make

 

ここで、自環境に/dev/video0のデバイスファイルが存在しているかどうか確認してみてください。

もしあれば次項は飛ばして「5.動作確認」からで大丈夫です。

存在していない場合は、mjpg-streamer実行時にエラーになりますので、

次項を行う必要があります。

 

 

 

  5./dev/video0の作成

 

/dev/video0のデバイスファイルは、カメラやビデオ関連のデバイスを今までに、

使用したことがなければ存在していないはずです。

これを作成するには、/etc/modulesファイルに「bcm2835-v4l2」を追加します。

f:id:aquarius999:20190707033650p:plain

 

編集は、

# sudo vi /etc/modules

 のようにルート権限で編集します。

 

追加完了後、一度ラズパイを再起動します。

そして、/dev/video0のデバイスファイルがあることを確認します。

 

  6.動作確認

 

動作確認は、ターミナル上から下記を実行します。

./mjpg_streamer -i "./input_uvc.so -f 90 -r 640x480 -d /dev/video0 -y" -o "./output_http.so -w ./www"

 

 実行後ブラウザから「http://(IPアドレス):8080」にアクセスします。

そして、左側にあるメニューから「Stream」を選択します。

f:id:aquarius999:20190707104351p:plain

 

今回は、とりあえずブラウザからストリーミング閲覧できれば良いので、

細かい設定は特にしていません。

mjpg-streamerフォルダには、start.shというスクリプトがあり、

何も考えずに実行して動作確認してみると、

斜め線が入りモザイク動画のような何か動いているのが分かるだけで、何も見えませんでした。 

最低限必要な設定は、使用しているカメラの解像度とフレームレートを合わせることです。  

ちなみに、mjpg-streamerの止め方は、ctrl+Cで終了できます。 

 

  7.最後に

 

初めてカメラの画像を見た時ぼやけていたのですが、

どうやってビントを合わせるのかわかりませんでした。

カメラの先端を回すことでピントを合わせることに気づいたとき、

当然のことすぎて少し恥ずかしくなりました。

まあとりあえず、自宅LAN内でストリーミング閲覧ができたので、

次は自宅外から閲覧できるようにしてみようと思います。

 

 

<関連・おすすめ記事>

Raspberry Pi (ラズパイ)で役に立つ書籍のおすすめランキングベスト5 - 水瓶座列車

Bluetoothでマルチペアリング(複数台接続)できるマウスのおすすめランキングベスト5 - 水瓶座列車

仮眠可能なほぼフルフラットになるデスクチェアのおすすめランキングベスト5 - 水瓶座列車

コンセントが足りない方に6口以上の電源タップお薦め4選 - 水瓶座列車