Ubuntuで監視カメラ

/ Linux/Unix / Comment[2]
motionという動体検知ソフトを使って監視カメラを構築

apacheとmotionをインストール
$ sudo apt-get install apache2 motion

設定
$ sudo vi /etc/motion/motion.conf
daemon off

process_id_file /var/run/motion/motion.pid

setup_mode off

videodevice /dev/video0  ←ウェブカメラのデバイスファイル

v4l2_palette 8

; tunerdevice /dev/tuner0

input 8

norm 0

frequency 0

rotate 0

width 640  ←横幅

height 480  ←縦幅

framerate 10  ←フレームレート

minimum_frame_time 0

; netcam_url value
; netcam_userpass value
; netcam_http 1.0
; netcam_proxy value

netcam_tolerant_check off

auto_brightness off

brightness 0

contrast 0

saturation 0

hue 0

roundrobin_frames 1

roundrobin_skip 1

switchfilter off

threshold 1500  ←動きを検知するレベル

threshold_tune off

noise_level 32

noise_tune on

despeckle EedDl

; area_detect value
; mask_file value

smart_mask_speed 0

lightswitch 0

minimum_motion_frames 2

pre_capture 0

post_capture 0

gap 60

max_mpeg_time 0

output_all off

output_normal on

output_motion off

quality 75

ppm off

ffmpeg_cap_new on

ffmpeg_cap_motion off

ffmpeg_timelapse 0

ffmpeg_timelapse_mode daily

ffmpeg_bps 500000

ffmpeg_variable_bitrate 0

ffmpeg_video_codec swf  ←保存する形式(mpeg avi swf flv)

ffmpeg_deinterlace off

snapshot_interval 0

locate on  ←動きを検知したところを枠で囲む

text_right %Y-%m-%d\n%T-%q

; text_left CAMERA %t

text_changes off

text_event %Y%m%d%H%M%S

text_double off

target_dir /var/www/cam  ←動画と画像を保存する場所

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

webcam_port 8081

webcam_quality 50

webcam_motion off

webcam_maxrate 10  ←ライブ画像のフレームレート

webcam_localhost off  ←ローカルホスト以外もウェブカメラへのアクセスを許可する

webcam_limit 0

control_port 8080

control_localhost on

control_html_output on

; control_authentication username:password

track_type 0

track_auto off

; track_port value

track_motorx 0

track_motory 0

track_maxx 0

track_maxy 0

track_iomojo_id 0

track_step_angle_x 10

track_step_angle_y 10

track_move_wait 10

track_speed 255

track_stepsize 40

quiet on

; on_event_start value
; on_event_end value
; on_picture_save value
; on_motion_detected value
; on_area_detected value
; on_movie_start value
; on_movie_end value
; on_camera_lost value


sql_log_image on

sql_log_snapshot on

sql_log_mpeg off

sql_log_timelapse off

sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')

; mysql_db value
; mysql_host value
; mysql_user value
; mysql_password value
; pgsql_db value
; pgsql_host value
; pgsql_user value
; pgsql_password value
; pgsql_port 5432
; video_pipe value
; motion_video_pipe value
; thread /usr/local/etc/thread1.conf
; thread /usr/local/etc/thread2.conf
; thread /usr/local/etc/thread3.conf
; thread /usr/local/etc/thread4.conf

camディレクトリを作成
$ sudo mkdir /var/www/cam

アクセス権を変更
$ sudo chmod 777 /var/www/cam ; sudo chown `whoami` /var/www/cam

motionデーモンをスタート
$ sudo /etc/init.d/motion start

http://localhost:8081/リアルタイムの動画

http://localhost/cam/取得した動画と画像の保存場所

http://localhost:8080/0/制御


カメラの映像と画像を公開したくない場合

・他のホストからカメラへのアクセスを禁止する
 $ sudo vi /etc/motion/motion.conf
webcam_localhost on

・http://localhost/camディレクトリにアクセスするとき認証を求めるようにする
 $ sudo htdigest -c /etc/apache2/.htdigest camera User

 $ sudo mkdir /etc/apache2/modules
 $ sudo ln -s /usr/lib/apache2/modules/mod_auth_digest.so /etc/apache2/modules/

 $ sudo vi /etc/apache2/httpd.conf

<Directory "/var/www/cam">
AuthType digest
AuthName "camera"
AuthUserFile /etc/apache2/.htdigest
Require valid-user
</Directory>

LoadModule auth_digest_module modules/mod_auth_digest.so

 $ sudo /etc/init.d/apache2 restart
ウェブブラウザでアクセスして正しく設定されているか確認しましょう。


紙をウェブカメラの前に落としてみた

動体を検知して自動で撮影してくれました。
しっかり枠で囲っています。かなりの精度ですね


圧縮してファイル名に日付を付け、外付けHDDとバックアップサーバーへ送る処理をシェルスクリプトとcronにやらせます

.backup.sh
#!/bin/sh
tar cjf - /var/www/cam/* | ssh backupserver "cat > /backup/`date "+%F"`.tbz2"
tar cjf /media/storage/cam/`date "+%F"`.tbz2 /var/www/cam/*
rm /var/www/cam/*

$ sudo crontab -e
00 9 * * * /home/p/.backup.sh

これで毎日午前9時にバックアップされるようになります。
関連記事

コメント

Re: タイトルなし

Windowsにもウェブカメラを防犯カメラ代わりにするソフトが山ほどありますが、
やはりLinuxの方がバックアップや管理が柔軟にできるので、より便利ですね

| URL | 長倉 怜二#DWa7YIhw

こんなこともできるのか…

| URL | Reaper#-

:
:
:
:
:
管理人のみ表示を許可