古いパソコンを再利用して見守りカメラを作る。(その3)

昨日に引き続きWebカメラの作り方です。
昨日までで必要なソフトのインストールは終わったので、今日は設定を行います。

motionの設定

1.設定ファイルを変更します。
コマンド:vi /etc/motion/motion.conf

変更箇所

・映像信号の形式を変更
※これは接続するカメラに合わせて設定すれば良いのですが、日本で売っているWebカメラはだいたい「NTSC」のようです。

# The video norm to use (only for video capture and TV tuner cards)
# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL)
norm 0 → 1

・最大フレームレートを変更

# Maximum number of frames to be captured per second.
# Valid range: 2-100. Default: 100 (almost no limit).
framerate 2 → 100

・ライブ画像の画質を高画質に変更

# Quality of the jpeg (in percent) images produced (default: 50)
stream_quality 50 → 100

・ライブ画像のフレームレートを変更

# Maximum framerate for stream streams (default: 1)
stream_maxrate 1 → 30

・ローカルホスト以外からもライブ映像を確認できるよう変更
※Apache経由で公開する場合は「on」でOK

# Restrict stream connections to localhost only (default: on)
stream_localhost on → off

・リアルタイムエンコードを停止

# Use ffmpeg to encode movies in realtime (default: off)
ffmpeg_output_movies on → off

・動体検知した際の画像出力を停止

# Output ‘normal’ pictures when motion is detected (default: on)
# Valid values: on, off, first, best, center
# When set to ‘first’, only the first picture of an event is saved.
# Picture with most motion of an event is saved when set to ‘best’.
# Picture with motion nearest center of picture is saved when set to ‘center’.
# Can be used as preview shot for the corresponding movie.
output_pictures on → off

・画面サイズを変更

# Image width (pixels). Valid range: Camera dependent, default: 352
width 352 → 640
# Image height (pixels). Valid range: Camera dependent, default: 288
height 288 → 480

・サービスの自動起動設定とサービスを起動
自動起動設定:systemctl enable motion
サービス起動:systemctl start motion

ここまででmotionに関する設定は完了です。

Firewallの設定

デフォルトだとアクセスに必要な「8081」ポートは空いてないので開ける必要があります。
また、ただポートを開けただけだとどこからでもアクセス可能になってしまうのでrich-ruleを使ってアクセスできるIPアドレスを制限します。

・自宅からアクセス用
※グローバルIP調べたいネットワークに接続した状態でここにアクセスすれば表示されます。

コマンド:firewall-cmd –zone=public –add-rich-rule=’rule family=ipv4 source address=[自宅のグローバルIP]/32 port port=51018 protocol=”tcp” accept’ –permanent

・テスト用(内部アクセス)
コマンド:firewall-cmd –zone=public –add-rich-rule=’rule family=ipv4 source address=192.168.0.0/16 port port=51018 protocol=”tcp” accept’ –permanent

・変更を適用
コマンド:firewall-cmd –reload

これで、必要な設定は完了です。

ここまで出来たら、どの端末でもよいのでブラウザを開いて、「設定したノートパソコンのIPアドレス:8081」でアクセスすればカメラ映像が表示されます。

とりあえず、今日はここまでで

次回は、Apache経由でLet’s Encript使ってhttps化して通信の暗号化をしつつ、Basic認証でさらにセキュリティを高めた設定にする方法を紹介したいと思います。(実はまだ実現できてなかったりしますがw)

では