このエントリーをはてなブックマークに追加

Armadillo-640:USBカメラの画像をmjpg-streamerを使って、ネットワーク経由でPCのWebブラウザで見る方法

Armadillo-640で、USBカメラの画像をmjpg-streamerを使って、ネットワーク経由でPCのWebブラウザで見る方法です。

1.USB Video Class(UVC)を有効にします。

ここでは、USB Video Class(UVC)対応のUSBカメラを使用します。 Armadillo-640:USB Video Class(UVC)を有効にする を参考に、USB Video Class(UVC)を有効にしたカーネルイメージをArmadillo-640に書き込みます。

以降の手順は、Armadillo-640で行います。

2.必要なパッケージをインストールします。

Armadillo-640をインターネットに接続可能なネットワークに接続します。 apt-getコマンドでupdateとupgradeおよび必要なパッケージをインストールします。
root@armadillo:~# apt-get update & apt-get upgrade
root@armadillo:~# apt-get install build-essential
root@armadillo:~# apt-get install libjpeg-dev
root@armadillo:~# apt-get install imagemagick
root@armadillo:~# apt-get install subversion
補足)インストール中に"Do you want to continue? [Y/n]"と聞かれたら、"y"を入力します。

3.mjpg-streamerをインストールします。

svnコマンドでリポジトリからmjpg-streamerのソースをチェックアウトします。
root@armadillo:~# svn co http://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer
mjpg-streamerのソースをmakeしてインストールします。
root@armadillo:~# cd mjpg-streamer
root@armadillo:~/mjpg-streamer# make
root@armadillo:~/mjpg-streamer# make install
参考)make install実行時のログ
install --mode=755 mjpg_streamer /usr/local/bin
install --mode=644 input_uvc.so output_file.so output_udp.so output_http.so input_testpicture.so input_file.so /usr/local/lib/
install --mode=755 -d /usr/local/www
install --mode=644 -D www/* /usr/local/www
以上で、mjpg_streamerのインストールは終了です。 以下は、Armadillo-640にUSBカメラを接続して、デバイスファイルが"/dev/video0"の場合の実行例です。 実行例)下記のように実行します。
mjpg_streamer \
-i "/usr/local/lib/input_uvc.so --device /dev/video0 --yuv --resolution VGA --fps 30" \
-o "/usr/local/lib/output_http.so --www /usr/local/www"
mjpg_streamer実行後、PCのWebブラウザで、 http://[ArmadilloのIPアドレス]:8080 を指定すると、mjpg-streamerの画面が開くので、左帯のStreamを選択すると、動画として見えます。 備考) mjpg_streamer実行時に、USBカメラで制御できない機能について、メッセージが出るようです。 今回の確認では、下記のようなメッセージが出ましたが、画像は見ることができました。
Adding control for Pan (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan/tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Focus (absolute)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
mapping control for Pan (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan/tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Focus (absolute)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Mode
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Frequency
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Disable video processing
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Raw bits per pixel
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device

製品: 

  • Armadillo-640

タグ: 

  • Armadillo-600
  • 周辺デバイス