.
WEB/DB 関連 => ライブ映像配信サービス > 2.Motion のインストール
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

Motion の導入手順 ~ インストールと基本設定

引き続き、インストールと設定の手順について説明します。

Motionのインストール(CentOS 6.4)

Ubuntu や Xubuntu など Debian系のディストリビューションは必要なパッケージは標準リポジトリで提供されていますが、本稿では CentOS6.4 での導入方法について紹介します。

Motion本体 ダウンロード

2013年 6月11日現在のバージョンは 3.2.12 でした。以下のソースコードをダウンロードします。

motion-3.2.12.tar.gz

必要なライブラリの準備

コンパイルには以下の画像、動画ライブラリが必要です。

  • ffmpeg + yasm
  • libjpeg

CentOS6 の公式リポジトリに ffmpeg は提供されていないので、rpmforge リポジトリを事前に登録しておく必要があります。(説明は割愛)また x264 コーデックに必要な yasm アセンブラの入手先には epelリポジトリを使用しました。

$ sudo yum --enablerepo=rpmforge install ffmpeg ffmpeg-devel
$ sudo yum install libjpeg*
$ sudo yum install --enablerepo=epel yasm

続いて motion 本体をインストールします。任意のディレクトリに展開、コンパイルします。

$ tar xvzf motion-3.2.12.tar.gz
$ cd motion-3.2.12
$ ./configure

*******************************
Configure status
motion 3.2.12
*******************************

OS : Linux
pthread Support: Yes
jpeg Support: Yes
V4L included: Yes
V4L2 supported: Yes
FFmpeg Support: Yes
MYSQL Support: Yes
PostgreSQL Support: Yes

上記のようにコンパイルできれば make してインストールします。

$ make
$ sudo make install

以上でインストールは終了です。

Motion の設定

motionの設定は /usr/local/etc/motion.conf で行ないます。motion-dist.conf がサンプルとして用意されているので、motion.conf という名前で複製して設定を行ないます。

$ cd /usr/local/etc
$ sudo cp motion-dist.conf motion.conf

複数のカメラを使用する場合は

接続するカメラが1台の場合は motion.conf のみで設定を行ないますが、2台以上の複数のカメラを制御する場合は、カメラ毎に設定ファイルを作成し、motion.conf にそれらの設定ファイルに パスを記述(thread パラメータで指定)する形になります。(後述)

motion.conf に何も記述されていない場合は、ドキュメント に記述されているデフォルト値が適用されます。また、thread で指定されたそれぞれのカメラ毎の設定ファイルと motion.conf に同じパラメータで異なる指定がある場合は、カメラ毎の設定ファイルが優先されます。

ですので、複数のカメラを制御したい場合は、それぞれのカメラに共通する基本的な動作を motion.conf 側で指定して、個別に設定を行ないたい項目だけを thread ファイルに記載する。という手順でシステムを構築していきます。

これらの設定ファイルに指定可能なパラメータとデフォルト値については以下のドキュメントを参照して下さい。

指定がない場合は、デフォルト値が適用されますので、全てを記述する必要がありませんが、先ずは、最低限、動作確認が出来る様に「動体検知でカメラが捉えた映像に変化があった場合のみ録画する」という基本条件でシステムを構築することにします。

ベースのシステムが完成して動作が確認出来れば、更に何か出来る事はないか、ドキュメントにある指定可能なパラメータに目を通して、目的に応じて設定を詰めていくのがベターです。以下に設定例を示します。

/usr/local/etc/motion.conf の内容

基本設定

ここでは 2台のWebカメラを使用して、映像に何か変化があった場合に映像を記録するシステムを例に、ポイントとなりそうなパラメータを設定します。

接続するWebカメラが1台の場合は適宜置き換えて下さい。パラメータの内容については次のページで説明します。

/usr/local/etc/motion.conf

# Moitonの動作に関するオプション
daemon off

# キャプチャデバイスに関するオプション
norm 1
width 640
height 352
framerate 12

# 動体検知に関するオプション
threshold 2000
gap 60

# 画像の出力、品質等に関するオプション
output_normal off
quality 75
ppm off

# FFMPEG 関連のオプション
ffmpeg_cap_new on
ffmpeg_bps 500000
ffmpeg_video_codec mpeg4

# イメージに表示する情報に関するオプション
locate on
text_double on

# 出力するファイルの保存先、ファイル名のルール
snapshot_filename %v-%Y%m%d%H%M%S-snapshot
jpeg_filename %v-%Y%m%d%H%M%S-%q
movie_filename %v-%Y%m%d%H%M%S
timelapse_filename %Y%m%d-timelapse

# GUI(ブラウザ)設定ツールに関する設定
control_port 8080
control_localhost on
control_authentication 任意のID:パスワード

# スレッドファイルのフルパス(2台以上のWebカメラを使用する場合)
thread /usr/local/etc/thread1.conf
thread /usr/local/etc/thread2.conf

ここで使用している2台のウェブカメラはどちらも同じ Logicool HD Webcam C270 なので、カメラデバイスに関するオプションは motion.conf に記載しました。異なる設定をしたい場合は、thread.conf にも同じパラメータの記述があれば、thread.conf で記述された内容が優先されます。

/usr/local/etc/thread1.conf の内容 (1台目のWebカメラ)

### 以降はカメラ毎の設定ファイルで設定すべきパラメータ。接続するカメラが1台の場合は スレッドファイルは不要なので motion.conf に記述します。

# スナップショット機能の有効化、インターバル設定
snapshot_interval 0

# 出力先の指定
target_dir /Public/WebCam1

# MotionJPEG 映像Live配信に関する設定
webcam_port 8081
webcam_quality 100
webcam_motion on
webcam_maxrate 15

# 動体検出時のアクション
quiet on
on_event_start /hogehoge/hoge1.sh
on_event_end /hogehoge/hoge2.sh

/usr/local/etc/thread2.conf の内容 (2台目のWebカメラ)

# スナップショット機能の有効化、インターバル設定
snapshot_interval 0

# 出力先の指定
target_dir /Public/WebCam2

# MotionJPEG 映像Live配信に関する設定
webcam_port 8082
webcam_quality 100
webcam_motion on
webcam_maxrate 15

# 動体検出時のアクション
quiet on
on_event_start /hogehoge/hoge3.sh
on_event_end /hogehoge/hoge4.sh

基本的にこれらの設定で運用可能ですが、期待通りに動作するか、パラメータを調整しては Motion の再起動を繰り返すことになります。続きます。

映像ライブ配信、監視カメラ

  1. Motion 用途/ ハード要件
  2. インストールと基本設定
    1. 指定したパラメータの内容
  3. 動作確認 / 起動設定

ウェブカメラ
本稿で使用しているウェブカメラ。CentOS6.5でもカーネールのバージョンによって認識しなくなる場合がありますが、Linux は kernelレベルで対応しています。

USBウェブカメラ
本稿使用のカメラ WebCam C270


Raspberry Pi
低消費電力 手のひらPC



DDNS対応ルータ
DYN 対応状況はメーカーで確認


bottom_mark
ページ最上部
ページ最上部 前のページ