Raspberry Pi 3 & Python 開発ブログ☆彡

Raspberry Pi 3の使い方、設定をわかりやすく解説。Raspberry Pi3 Model B(Element14版)、Raspbian 8.0(NOOBS Ver1.9.2)を使用して開発中。

【スポンサーリンク】

カメラでビデオストリーミング

【スポンサーリンク】

前回、カメラデバイスで写真・動画撮影をする方法を紹介しました。今回はストリーミング映像を配信する方法を紹介したいと思います。WebカメラのようにRaspbian Piを使うことができ、遠隔地の状況を確認することができます。

 

mjpg-streamerのインストール

まず、mjpg-streamerというソフトウェアをインストールします。このソフトウェアをインストールするとストリーミングができるようになります。Raspberry Piにはいろいろなソフトウェアが公開されているので便利ですね。

 

sudo aptitude install libv4l-dev libjpeg8-dev imagemagick

下記のコマンドでソースコードをダウンロードします。

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

mjpg-streamerというフォルダが作成されますので、cdコマンドで移動します。

cd mjpg-streamer

makeします。

make USE_LIBV4L2=true clean all

下記のコマンドでmjpg_streamerを起動します。(makeしかしていないので、フォルダ移動はしないでください。)

./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -r 640x480 -f 60 -y -n" -o "./output_http.so -p 8081 -w ./www -c test:password"

 

エラー発生

上記の手順でビデオストリーミングができると思ったのですが、下記のエラーメッセージが表示されて、できませんでした。。。

i: Using V4L2 device.: /dev/video0
....
....
ERROR opening V4L interface: No such file or directory
Init v4L2 failed !! exit fatal
i: init_VideoIn failed

 

V4Lインターフェースをオープンできないとエラーが出ています。少し上の方を見るとV4L2デバイスは/dev/video0となっています。/devに移動して、lsコマンドを実行するとvideo0がない!ということに気づきました。これでは動きませんね。調べると、下記のモジュールをロードする必要があることがわかりました。

sudo modprobe bcm2835-v4l2

/dev/video0が生成されていました。これで大丈夫だと思い再度、上記の./mjpg_streamer -i ...コマンドを実行すると、エラーが出なくなりました、正常に動いているようです。

 

ブラウザでストリーミング映像を見る

ブラウザからストリーミングの映像が表示されるか確認します。ブラウザのアドレスバーに"http://[RaspberryPIのIPアドレス]:8081"と入力します。ID:testとパスワード:passwordを入力すると、ストリーミング映像を見ることができます。

 

f:id:raspberrypi:20160914115806j:plain

 

少し手こずりましたが、ビデオストリーミングができるようになりました。問題を解決して動作したときはうれしいですね!