ラズパイOSにmotioneyeをインストールして、Motioneyeosの機能を動かす(Rasbian Buster,BusterLite)
Webカメラによるモニタシステムを実装するのに、Linuxを使って色々方法があります。
(その1)
まず、Linuxに標準で用意されていて、すぐにカメラシステムになるmotionプログラムを使う方法です。
この場合、motion.conf という設定ファイルにライブ監視をONにするかどうかや画像、映像を蓄積するかどうかなどの設定を事前に設定した上で動かす運用になります。
運用方法を変える必要が出てきたら、motion.conf を v iで変更して、プロセスの再起動が必要になり、設定変更が容易ではないという欠点があります。
(その2)
次の方法が、ラズパイ用に用意されたデストリビューションMotioneyeOSを使う方法です。
普通のWebブラウザで設定変更もできるので、運用を変えたいときに再起動が必要になるという面倒なところから解放されます。
Webカメラによる監視システムだけで使うのであれば、ベストな選択かもしれませんが、この方法だとラズパイ1台が、Webカメラ監視システムの用途だけでつぶれてしまいます。
motioneyeOSのWebブラウザ監視画面によるWebカメラモニタシステムの操作方法については、以前のブログ投稿をどうぞ!!
(その3)
そして私が「ベストかな」と思っているが、motioeyeプログラムというものを、Rasbianにインストールする方法です。
この方法だと、RasbianOSはそのまま使えますが、motioneyeを使って、Webブラウザから監視画面を出して、motioneyeOSと同様の操作ができるのです。
今回は、Rasbian Buster , Rasbian BusterLite に Motioneyeプログラム をインストールします。
Rasbian BusterLite は、GUI画面での操作ができませんが、ラズパイZEROを使う場合には、マシンパワーが弱いのと、ラズパイZEROはUSB周りが不安定なこともあり、RasbianLiteでやさしく立ち上げることが必要になる場合があります。
ラズパイ Rasbian Buster に Motioneye をインストール
ffmpeg、およびその他のmotion依存関係をインストール
apt-get install ffmpeg libmariadb3 libpq5 libmicrohttpd12
motioneyeインストール:Raspbian Busterにはmotionバージョン4.1が付属しています。ただし、バージョン4.2をインストール
リポジトリから依存関係をインストール
get https://github.com/Motion-Project/motion/releases/download/release-4.2.2/pi_buster_motion_4.2.2-1_armhf.deb
dpkg -i pi_buster_motion_4.2.2-1_armhf.deb apt-get install python-pip python-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libz-dev
motioneyeインストールと、 Python依存関係の tornado、jinja2、pillow、および、pycurl をインストール
pip install motioneye
mkdir -p /etc/motioney
cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf
mkdir -p /var/lib/motioneye
初期化スクリプトを追加し、起動時に実行するように構成し、motionEyeサーバーを起動
cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service
systemctl daemon-reload
systemctl enable motioneye
systemctl start motioneye
/etc/motioneye/motioneye.conf に port 8765 が設定されていますので、ブラウザからIPアドレス指定で、ポート8765に接続すると管理画面が表示されるので設定ができます。
(ポート番号は変更可能です)
ラズパイ Rasbian Buster Liteに Motioneye をインストール
ffmpeg、およびその他のmotion依存関係をインストール
apt-get install ffmpeg libmariadb3 libpq5 libmicrohttpd12
インストールmotioneye:Raspbian Busterにはmotionバージョン4.1が付属しています。ただし、バージョン4.2をインストール
リポジトリから依存関係をインストール
wget https://github.com/Motion-Project/motion/releases/download/release-4.2.2/pi_buster_motion_4.2.2-1_armhf.deb
dpkg -i pi_buster_motion_4.2.2-1_armhf.deb
apt-get install python-pip python-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libz-dev
motioneyeインストールと、 Python依存関係の tornado、jinja2、pillow、および、pycurl をインストール
pip install motioneye
※ Buster Liteだとここで、「Memory Error」 になる。なので、以下対処で登録できた!
sudo pip --no-cache-dir install motioneye (ここがミソ)
mkdir -p /etc/motioneye
cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf
mkdir -p /var/lib/motioneye
初期化スクリプトを追加し、起動時に実行するように構成し、motionEyeサーバーを起動
cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service
systemctl daemon-reload
systemctl enable motioneye
systemctl start motioneye
/etc/motioneye/motioneye.conf に port 8765 が設定されていますので、ブラウザからIPアドレス指定で、ポート8765に接続すると管理画面が表示されるので設定ができます。
(ポート番号は変更可能です)
まとめ
Webカメラモニタシステムで、Linuxをそのまま使うのよりも、ラズパイ専用のディストリビューションmotioneyeOSを使うのよりも、
Rasbian に motioneye をインストールするのが一番よ!!
というお話でした。
そして、そのつづきで、
さらに、古くなったWindowsパソコンや仮想環境VirtualBox上で、Motioneyeプログラムを動かそうという話があります。