RPi-Cam-Web-Interface

※ しばらく前に書いた記事。最近の環境では不明だがとりあえずUPしておく。

Raspberry piのカメラを動かすための方法は以前に書いた(Pi NoIR Camera V2をひとまず使えるようにする - input-R)が,ここではraspberry piに特化したRPi Cam Web Interface を使う。

http://elinux.org/RPi-Cam-Web-Interface

参考にしたサイト

raspberry pi zero W にRPi-Cam-Web-Interfaceで監視カメラ製作 | 興味本位の Trial 安堵 Error

NoIR V2 - Video Streaming Baby Monitor | element14 | Raspberry Pi Projects

Raspberry With Cam in Birdhouse: 11 Steps (with Pictures)

インストール

RPi-Cam-Web-Interface - eLinux.orgに書かれている。

とりあえず使ってみる 

[record video start/stop] 現在のカメラ画像の動画録画をスタート・ストップ

[record image] 現在のカメラ画像の静止画をキャプチャー

[tamelapse start/stop] 現在のタイプラプス撮影をスタート・ストップ
 撮影間隔はCamera Settings-Timelapse-Intervalで秒単位(0-3200s)で設定可能。

[motion detection start/stop] 動体検知録画をスタート・ストップ
 動体検知を行うにはCamera Settingsで Motion detect modeをInternalにする。なお,このボタンを押して動体検知を始めるには,Schedule SettingsでDayModeをAllDaysとし,Motion Startにca 1,Motion Stopにca 0が入力されていることを確認しておく。

[Download Videos and Images] 保存されている動画・静止画をダウンロード
 撮影した画像は/var/www/html/mediaに保存されている。

各種の設定

Schedule Settings

指定した時間にコマンドを実行するための設定ができる。デフォルトは, 24時間休みなく動体検知したときに動画を記録する設定になっており,トップ画面のmotion detection startボタンをクリックすると動体検知録画が始まる。起動と同時に動体検知する場合には,Period Startにmd 1を書き込む。

次の欄にコマンドを入力して,スケジュールを設定する。DayModeはAllDay,Fixed Times,Sunbasedから選べる。

Motion Start:モーショントリガの開始が受信されたときに行う動作
Motion Stop:モーショントリガが停止したときに行う動作
Period Start:ある時間が来たときに行う動作

実行できるコマンドはCommand referenceのボタンを押すと説明がでてくる。例えば,md(動作検知),ca(動画録画),im(静止画キャプチャー),tl(タイプラプス撮影),それぞれ1でスタート,0でストップ。

例えば,18時に動画録画をスタートして1時間後にストップ,それ以降は動作検知して,動作があれば録画をしたければ,次の通りにする。

18:00 Period Start: ca 1

19:00 Motion Start: ca 1, Motion Stop: ca 0, Period Start md 1

録画したファイルがSDカード容量を超えるのを防ぐために,ファイル削除も可能。PurgeVideo_Hours, PurgeLapse_Hours, PurgeImage_Hours:それぞれ動画,タイプラプス画像,静止画が指定時間以上古いファイルを消去する

PurgeSpace_ModeEx:Min Space(%:使用可能ファイル容量の最小値), Max Usage(% :使用済ファイル容量の最大値),Min Space(GB:使用可能ファイル容量の最小値),Max Usage(GB:使用済ファイル容量の最大値)のいずれかで設定。

なお,これらのコマンドはManagement_Intervalで設定された間隔ごとに実行される(標準は3600秒=1時間)。

Camera Settings

いじりそうなものだけをピックアップ。

[Resolution] 解像度の設定。

[Buffer] 動体検知してから動画録画を行うまでにタイムラグがあるので,画像のバッファリングを行っておく(でないと,動作検知後の場面しか写らない)。

[MP4 Boxing mode] h.264をmp4に変換するかどうか。長時間録画の場合,これをoffにしないと,Rpiがoffになることがある。offにすると,そのままでは見られないので,VLC media playerなどで見ることになる。

 [Motion detect mode] 動体検知モード

Motion Settings

保存先の変更

Raspberry Piに使っているmicroSDカードの容量が小さいため,外付HDDに保存先を変える。ただし,HDDを接続していないときにはSDカードに保存させたい。

保存先フォルダの変更

まず,保存先のフォルダを ../mediaから../media/rpicamに変更する(保存がHDD直下で良ければ,無視してよい)。

保存先のフォルダを作る

 sudo mkdir /var/www/html/media/rpicam

フォルダの所有者を変更する

 sudo chown -R www-data:www-data /var/www/html/media/rpicam

保存先を変える

 sudo leafpad /etc/raspimjpeg

 image_path, lapse_path, video_pathの記述を変える

再起動後には,ここまでで保存先フォルダが変更されているはず。

外付HDDをマウント

次に,/var/www/html/mediaにマウント先を変更。一回限りで良ければ,管理者権限でアンマウントしてから,マウントしたいフォルダにマウントすればよい。

起動時に自動マウントするなら,/etc/fstabを管理者権限で開き,次の行を追加して保存。再起動するとOK。

UUID="XXX" /var/www/html/media      ntfs-3g defaults,nofail 0      0

マウントの詳細な手順は次のサイトを参考に。

白執事の徒然なる日々 Raspberry Pi にUSBメモリをマウント

Raspberry Pi 2でファイルサーバを作るまでのまとめ - Qiita

(余談1)マウント先は重複できるみたい。どう使うかはよく考えてないが。

unshare -m とか mount --make-shared とか - Qiita

(余談2)HDDへの供給電流にも注意

Raspberry Piに3TBのUSB HDD(HD-AC30TK)を追加してみた | あっかぎのページ