ブログ

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

at_kazutaka.bito
2021年4月26日 10時46分

Armadillo-IoT(A6)で、USBカメラの画像をmjpg-streamerを使って、ネットワーク経由でPCのWebブラウザで見る方法です。
本手順は、下記のようなネットワーク構成の場合の方法になります。

USBカメラ--(USB)--Armadillo-IoT(A6)--(LAN)--PC

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

ここでは、USB Video Class(UVC)対応のUSBカメラを使用します。
Armadillo-640:USB Video Class(UVC)を有効にする を参考(※)に、USB Video Class(UVC)を有効にしたカーネルイメージをArmadillo-IoT(A6)に書き込みます。
※)"ATDE7"の箇所は、Armadillo-IoT(A6)の開発環境"ATDE8"に読み替えてください。

以降の手順は、Armadillo-IoT(A6)で行います。

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

Armadillo-IoT(A6)をインターネットに接続可能なネットワークに接続します。
apt-getコマンドで必要なパッケージをインストールします。

root@armadillo:~# apt-get update
root@armadillo:~# apt-get install -y cmake libv4l-dev libjpeg-dev imagemagick
root@armadillo:~# apt-get install git-all

補足)
インストール中に"Do you want to continue? [Y/n]"と聞かれたら、"y"を入力します。
git-allのインストールは、ネットワーク環境にもよりますが、15分くらい要します。

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

root@armadillo:~# git clone https://github.com/jacksonliam/mjpg-streamer.git
root@armadillo:~# cd mjpg-streamer/mjpg-streamer-experimental
root@armadillo:~/mjpg-streamer/mjpg-streamer-experimental# make
root@armadillo:~/mjpg-streamer/mjpg-streamer-experimental# make install


以上で、mjpg_streamerのインストールは終了です。
以下は、Armadillo-IoT(A6)にUSBカメラを接続して、デバイスファイルが"/dev/video0"の場合の実行例です。
実行例)下記のように実行します。

root@armadillo:~/mjpg-streamer/mjpg-streamer-experimental# cp -r www /var/www
root@armadillo:~/mjpg-streamer/mjpg-streamer-experimental# ./mjpg_streamer -i "./input_uvc.so -f 10 -r 640x480 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080 -c admin:password"

補足)上記コマンド末尾の"admin:password"は、PCのWebブラウザでアクセスする際のユーザー名、パスワードです。

mjpg_streamer実行後、PCのWebブラウザで、

http://[ArmadilloのIPアドレス]:8080

を指定すると、ユーザー名、パスワードの入力を求められます。
上記コマンド内で指定したユーザー名、パスワードを入力します。
ユーザー名:admin
パスワード:password

mjpg-streamerの画面が開くので、左帯のStreamを選択すると、動画として見えます。