CentOS 6.4 で motion を動作させてみました。


---------------------------------------------------------------------------------

   私の環境では、fswebcam と motion を同時に動作することができ
   ませんでした。 どちらが動作するかは、解像度を変えると変わる
   ようです。
---------------------------------------------------------------------------------
motion のインストールには、依存パッケージがかなりの数必要なので
RPMforgeリポジトリの導入を必ずしておいてください。

1. motion の依存パッケージのインストール

   フリーのコーディックパック兼変換エンジン ffmpeg のインストール

   yum -y install ffmpeg

以下の様になれば、OK
---------------------------------------------------------------------------------
Installed:
  ffmpeg.i686 0:0.6.5-1.el6.rf

Dependency Installed:
  SDL.i686 0:1.2.14-3.el6                a52dec.i686 0:0.7.4-8.el6.rf
  cppunit.i686 0:1.12.1-3.1.el6          dirac.i686 0:1.0.2-1.el6.rf
  faac.i686 0:1.26-1.el6.rf              ffmpeg-libpostproc.i686 0:0.6.5-1.el6.rf
  lame.i686 0:3.99.5-1.el6.rf            libdc1394.i686 0:2.1.2-3.4.el6
  librtmp.i686 0:2.3-1.el6.rf            libva.i686 0:1.0.6-1.el6.rf
  opencore-amr.i686 0:0.1.2-1.el6.rf     orc.i686 0:0.4.11-1.el6.rf
  schroedinger.i686 0:1.0.10-1.el6.rf    x264.i686 0:0.0.0-0.4.20101111.el6.rf

Complete!
---------------------------------------------------------------------------------

2. motion のインストール
   motion ( motion-3.2.12.tar.gz )を事前にダウロードしてホームディレクトリへ
   転送しておきます。

 ○ ホームディレクトリから、/usr/local/src/ へコピーする。

cp /home/miyasaka/src2/motion-3.2.12.tar.gz /usr/local/src/

 ○ motion-3.2.12.tar.gz を展開し、コンパイルする。

cd /usr/local/src/; \
tar -xvzof motion-3.2.12.tar.gz; \
cd motion-3.2.12; \
./configure

以下の様になれば、OK
---------------------------------------------------------------------------------
   *******************************
      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:       No
PostgreSQL Support:  No

CFLAGS:  -g -O2 -D_REENTRANT -DHAVE_FFMPEG -I/usr/include ( 省略 ) 
LIBS: -lm  -lpthread -ljpeg -L/usr/lib -lavformat -lavcodec -lavutil -lm -lz
LDFLAGS:   -L/usr/lib

Install prefix:       /usr/local
---------------------------------------------------------------------------------
 ○ make とインストールする。

make && make install

以下の様になれば、OK
---------------------------------------------------------------------------------
Installing files...
---------------------------------------------------------------------------------
mkdir -p /usr/local/bin
mkdir -p /usr/local/share/man/man1
mkdir -p /usr/local/etc
mkdir -p /usr/local/share/doc/motion-3.2.12
mkdir -p /usr/local/share/motion-3.2.12/examples
install motion.1 /usr/local/share/man/man1
install CHANGELOG COPYING CREDITS INSTALL README motion_guide.html /usr/………
install *.conf motion.init-Debian motion.init-Fedora motion.init-FreeBS………
install motion-dist.conf /usr/local/etc
for prog in motion; \
        do \
        (install $prog /usr/local/bin ); \
        done
---------------------------------------------------------------------------------
Install complete! The default configuration file, motion-dist.conf, has been
installed to /usr/local/etc. You need to rename/copy it to /usr/local/etc/……
for Motion to find it. More configuration examples as well as init scripts
can be found in /usr/local/share/motion-3.2.12/examples.
---------------------------------------------------------------------------------
3. motion を起動した時、ディレクトリ( /var/run/motion )が無いとエラーになるので
   事前に作成しておきます。

   mkdir -p /var/run/motion

   これをしないで起動すると下記のような、メッセージが出ます。

  [0] Exit motion, cannot create process id file (pid file) 
                         /var/run/motion/motion.pid: No such file or directory

4. motion の起動スクリプトの作成

  Fedora用の起動スクリプトが作成されているのでコピーして流用します。

cp /usr/local/share/motion-3.2.12/examples/motion.init-Fedora\
/etc/rc.d/init.d/motion; \
chmod 755 /etc/rc.d/init.d/motion

@ motion の起動スクリプトの編集

vi /etc/rc.d/init.d/motion

motion=${MOTION-/usr/bin/motion}   <--- 26行目
 ↓
motion=${MOTION-/usr/local/bin/motion}

pidfile=/var/run/motion.pid   <--- 28行目
 ↓
pidfile=/var/run/motion/motion.pid

4. motion.conf の設定 

   motion-dist.conf を motion.conf でコピーし、編集します。

cp /usr/local/etc/motion-dist.conf /usr/local/etc/motion.conf
vi /usr/local/etc/motion.conf 

下記の設定は、動画と静止画( 10秒間隔で撮影保存 )の設定を含んでいます。
指定した保存先に、snapshot.jpg の名前で静止画が保存されるので、10毎に
ホームページをリロードさせる指定で静止画のライブカメラも同時にできます。

指定行へのジャンプは、「:(指定行)」でします。

---------------------------------------------------------------------------------
norm 0                  <--- 60行目
 ↓
norm 1                  NTSC方式

width 320               <--- 70行目
 ↓                     200万画素のカメラで960×720にすると
 ↓                     綺麗な映像になります。
width 640               解像度の横幅 カメラの解像度による

height 240              <--- 73行目
 ↓
height 480             解像度の縦幅

framerate 2             <--- 77行目
 ↓
framerate 15            1秒間のフレームの数
                      (2〜100 数が多い方が滑らかの映像になる)
auto_brightness off     <---     112行目
 ↓
auto_brightness on      輝度調整をする

brightness 0            <--- 118 行目
 ↓
brightness 150          輝度の調整値 0-255

contrast 0              <--- 122行目
 ↓
contrast 150            明るさの調整値 2-200

output_normal on        <--- 227行目
 ↓
output_normal off       動画ファイルを出力しない

ffmpeg_cap_new on       <--- 247行目 
 ↓
ffmpeg_cap_new off      動画ファイルを保存しない

 snapshot_interval 0    <--- 295行目 
 ↓                     静止画の撮影間隔
 snapshot_interval 10     10秒

text_double off         <--- 340行目
 ↓
text_double on          テキストを倍の大きさにする

target_dir /usr/local/apache2/htdocs/cam1     <--- 359行目
 ↓                                静止画を保存するディレクトリ
target_dir /home/miyasaka/cam1     <--- あなたの環境に合わせてください

snapshot_filename %v-%Y%m%d%H%M%S-snapshot     <---368行目 変更
 ↓
#snapshot_filename %Y%m%d%H%M%S-snapshot
snapshot_filename snapshot      同じ名前で上書きさせる

webcam_quality 50       <--- 403行目
 ↓
webcam_quality 100      品質 100

webcam_maxrate 1        <--- 410行目
 ↓
webcam_maxrate 15       フレームレートの最大値

webcam_localhost on     <--- 413行目
 ↓
webcam_localhost off    ローカルホスト以外の接続を許可

control_localhost on    <--- 429行目 別PCの8080アクセスOKにする
 ↓
control_localhost off   別PCの8080アクセスOKにする
---------------------------------------------------------------------------------
5. 一時的に動作確認をする。
 
 motion を普通に起動します。
    ( 本番は、サービス(デーモン) つまり、裏で動作させます。 )
    ( -n : Run in non-daemon mode. )
 motion -n

  ( ... 何やらメッセージが沢山出ます。)

 終了は、(Ctrl)+C を入力します。
 
ブラウザを起動し、URL に
 IEでは、不可 fire fox, Safariは、OK
 http://( ローカルのIPアドレス ):8081

にアクセスしてライブ映像が見れる事を確認。
ブラウザはIE以外ならOK。
 
---------------------------------------------------------------------------------
6. Javaアプレットを使用して、IEでも見られるホームページを作成する
   
上記のようにブラウザによって見れないものがあるのでJavaアプレットを
使いブラウザを選ばないホームページを作成する。

@ cambozola ストリーミング・イメージ・ビューアを事前にダウンロードしておきます。

A cambozola ストリーミング・イメージ・ビューアの解凍

cp /home/miyasaka/src2/cambozola-latest.tar.gz /usr/local/src/; \
cd /usr/local/src/; \
tar zxvf cambozola-latest.tar.gz

B cambozola をWebサーバの公開ディレクトリに配置

cp /usr/local/src/cambozola-0.931/dist/cambozola.jar\
 /var/www/html/www.smiyasaka.com/

C ダウンロードした cambozola を削除
rm -rf /usr/local/src/cambozola-latest.tar.gz

D ホームページの作成
下記の内容を記述したページを作りWebサーバの公開ディレクトリに配置

   <td align="center">
  <applet code="com.charliemouse.cambozola.Viewer" archive="cambozola.jar"
   width="495" height="370">
  <param name="url" value="http://○○○○○○:8081"></param">
  </applet">

 但し、○○○○○○は、外部からは、ドメイン、内部からは、ローカルのIPアドレス 

---------------------------------------------------------------------------------
7. motion の起動・停止・再起動

/etc/rc.d/init.d/motion start / restart / stop

[root@LeoMiya src]# /etc/rc.d/init.d/motion restart
motion を停止中:                                           [  OK  ]
motion を起動中:                                           [  OK  ]

---------------------------------------------------------------------------------
8. システム起動時に自動実行するように設定しておく。

chkconfig --add motion; \
chkconfig motion on