カウンター
  • 155今日の閲覧数:
  • 1222昨日の閲覧数:
  • 2現在オンライン中の人数:
アーカイブ
カテゴリー
2015年12月23日 水曜日

CentOS6.4の自鯖にmotionで動体検知監視カメラ

今このブログやウェブページ、それにライブカメラを配信しているのは自宅の設置してあるサーバ機からです。

かなり昔にはプロバイダから提供されているホームページやブログを利用していたこともありますが、サイトで運営できることの自由度やアップできる写真などに制限があることが嫌なので自宅サーバを使っています。

ブログやウェブページについてはプロバイダでも同じようなことが出来ますが、ライブカメラの配信については自宅サーバの方が出来ることが多い(というかプロバイダでも出来るのかわかりませんが。。)

 

ライブカメラで配信していた内容も、最初の頃は部屋の中の熱帯魚の様子とか屋根の上に付けたカメラから周囲の様子を流したりもしていました。

でもメインは外出中の様子、特に保管しているバイクや自宅の様子を外出先から監視することです。

その構成方法も、最初の頃は自宅サーバのOSは Windows サーバでしたが、その後 Linux を始めて Fedor から CentOS と変えてきました。

現在は CentOS6.4 を使っています。

ライブカメラソフトも、処理の負荷を分散させるために自宅サーバ機とはべつにライブカメラ専用機を稼働させこれにライブカメラを複数台つなげていたこともありました。

その後ずっと fswebcam を使って最新の画像を配信するとともに、一定秒数間隔ですべての画像を保存していました。

こうするとしばらくチェックしないと膨大なファイルが溜まってしまってこまっていました。

 

そこでこの週末にようやく Linux 用の動体検知ソフトである motion を使って、画面の中に動くものがあったときだけ画像を更新して保存するシステムを導入しました。

今回はその自分向けの備忘録です。

■ WEBカメラ

今回、いろいろ調べていくウチに、今のUSBカメラのLinux用ドライバは、機器ごとに用意しなくても「UVC」という規格に準じたものであればどのカメラでも汎用性があり、Linuxでの導入がすごく楽になるというのがわかってきました。

電気店のパソコンコーナーでチャット用などで売られていたUSB接続のものです。

私が使っているのは大型量販電気店で安く売られていた「ELECOMのUCAM-DLK130TRD」です。

前面のレンズが通常のプラ製ではなくガラスを使ったモノですが、画素数は一般的な130万画素で1/4インチCMOSセンサを搭載した「UVC」Webカメラです。

「UVC」とは、ユニバーサル・ビデオ・クラスの略で、USB2.0の規格に準じていてパソコンに接続するとドライバを用意しなくてもWindows、Mac,Linuxで簡単に使える便利な機器です。

これなら自宅サーバ機に直接カメラを接続して、Linuxのサーバマシン一台だけで24時間のライブカメラ運用が可能になりそうです。

homeserver

 

■ システムの導入

まずは現在稼働しているfswebcamを停止します。

 # /etc/rc.d/init.d/fswebcam stop

で停止させます。

 

motionをインストールする前に必要な関連ソフトをいれておきます。

 ffmpeg

 gcc

これが出来たらいよいよmotionを導入します。

サイトにアクセスしてmotionの最新版、motion-3.12-.2.tar.gz をダウンロードします。

ダウンロードしたファイルを解凍します。

出来たファイルをインストール

 make && make install

設定ファイル(motion.conf)をリネームしてコピーします。

設定内容を、自分の環境、やりたい内容に合わせて書き換えます。

 vi /usr/local/

今回設定した主な内容は、

60行目 ※ビデオ信号の圧縮伝送方式を選ぶ
# 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 → norm 1

67行目 ※イメージの回転角度。回転結果は保存された画像だけでなく、MPEGムービーにも反映されます。有効な値:0(デフォルト=回転なし)、90、180、270。
# Rotate image this number of degrees. The rotation affects all saved images as
# well as mpeg movies. Valid values: 0 (default = no rotation), 90, 180 and 270.
rotate 0 → rotate 180

70行目 ※画像の幅(ピクセル数)。有効範囲はカメラに依存します。デフォルト:352
# Image width (pixels). Valid range: Camera dependent, default: 352
width 320 → width 640

73行目 ※画像の縦(ピクセル数)。有効範囲はカメラに依存します。デフォルト:480
# Image height (pixels). Valid range: Camera dependent, default: 288
height 240 → height 480

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

112行目 ※ビデオの明るさを調整します。
# Let motion regulate the brightness of a video device (default: off).
# The auto_brightness feature uses the brightness option as its target value.
# If brightness is zero auto_brightness will adjust to average brightness value 128.
# Only recommended for cameras without auto brightness
auto_brightness off → auto_brightness on

153行目 ※動体検知する基準となる変化したピクセル数
# Threshold for number of changed pixels in an image that
# triggers motion detection (default: 1500)
threshold 1500 → threshold 3000

207行目 ※検知した後の動作を停止する秒数。
# Gap is the seconds of no motion detection that triggers the end of an event
# An event is defined as a series of motion images taken within a short timeframe.
# Recommended value is 60 seconds (Default). The value 0 is allowed and disables
# events causing all Motion to be written to one single mpeg file and no pre_capture.
gap 5 → gap 3

247行目 ※ffmpegを利用してリアルタイムでmpeg動画にエンコードするかどうか
# Use ffmpeg to encode mpeg movies in realtime (default: off)
ffmpeg_cap_new on → ffmpeg_cap_new off

295行目 ※自動的に作成するスナップショットの秒数
# Make automated snapshot every N seconds (default: 0 = disabled)
snapshot_interval 0 → snapshot_interval 60

314行目 ※変化した部分を線で囲います。
# Locate and draw a box around the moving object.
# Valid values: on, off and preview (default: off)
# Set to ‘preview’ will only draw a box in preview_shot pictures.
locate off → locate on

359行目 ※写真や動画の保存場所。絶対パスで設定する事を推奨。
# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
target_dir /usr/local/apache2/htdocs/cam1 → target_dir /var/www/html/motioncam

368行目 スナップショットを保存する場所とファイル名設定。
# File path for snapshots (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-snapshot
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-snapshot
# File extension .jpg or .ppm is automatically added so do not include this.
# Note: A symbolic link called lastsnap.jpg created in the target_dir will always
# point to the latest snapshot, unless snapshot_filename is exactly ‘lastsnap’
snapshot_filename %v-%Y%m%d%H%M%S-snapshot → snapshot_filename snapshot

377行目
# File path for motion triggered images (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-%q
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q
# File extension .jpg or .ppm is automatically added so do not include this
# Set to ‘preview’ together with best-preview feature enables special naming
# convention for preview shots. See motion guide for details
jpeg_filename %v-%Y%m%d%H%M%S-%q → jpeg_filename ./motion/%Y%m%d%H%M%S-%q

413行目 ※ローカルホストのみに公開する(onにするとネットに公開します)
# Restrict webcam connections to localhost only (default: on)
webcam_localhost on → webcam_localhost off

ここまで出来たらmotionを起動します。

 # /etc/rc.d/init.d/motion start

 

これで常に一定間隔(1分おき)に最新画像をアップするとともに、監視しているカメラに映っている範囲内に動くモノがあった時だけ撮影して保存する監視カメラ、ライブカメラが構築できました。

最初にこれをやりたくなってから完成するまでずいぶんと時間がかかりました。

 

  


ブログランキングに参加中です
気に入ったらポチお願いします。

にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村




2014年11月24日 月曜日

自宅サーバのメンテナンスで休止中でした

 
自宅サーバで運用しているこのブログですが、22日午後よりメンテナンスのため休止中でした。

 
この間にアクセスいただいた方にはサイトをご覧いただけずにご迷惑をおかけしました。

 
実は「メンテナンス」というより、自宅サーバのOS(Linux CentOS)、ブログソフトのWordpress、ライブカメラ、メールサーバ、FTPサーバ、その他すべての再インストールと設定、復元といった、かなり大規模な作業でした。

 
まだ一部には完全に解消されていないところもありますが、公開させていただきます。

 


ブログランキングに参加中です
気に入ったらポチお願いします。

にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村




2013年10月2日 水曜日

自宅サーバー構築手順(覚え書き)

■自宅サーバーで何が出来るの?

家にあるパソコンを自宅サーバーにすれば、ネットにつながるいろんな事が出来ます。

ホームページやブログを容量の制限なく自分の好きなように配信したり、自分専用のメールアドレスなんかも無限につくる事が出来ます。

ほかにもライブカメラにしたり、ファイルや写真、動画を保存しておいて外出先からアクセス出来るファイルサーバーにする事も出来ます。

使うパソコンも最新型の高機能なものは必要なく、24時間365日稼働させるのでかえって消費電力や発熱が大きなものや電動ファンの音などが大きなタイプのものより一昔二昔のものの方が適しています。

以前私は中古の安いノートパソコンで自宅サーバーをやっていた事もありました。

バッテリーも内蔵しているので停電の時にもサーバーが落ちなくてもいいかなと思っていましたが、ルーターなどの方が止まってしまうので結局サーバーも使えなくなってしまいました。

 

■自宅サーバー構築に掛かる費用は?、

・パソコン本体・・・私は小さなベアボーンキットにハードディスクとメモリを追加して作りましたので2万円ほどでした。

   中古パソコンを使えばもっと安く出来ます。

・OS・・・Windowsでもサーバーは出来ますが、安全性といろんなサーバーソフトがある事を考えてLinux(CentOS)で作りました。

   Windowsは有料ですがLinuxならOSも関連ソフトも無料で利用出来ます。

   少しだけ知識が必要になりますが、ネットで情報を調べながらやればなんとかなります。

   それに「Linuxで自宅サーバーやってんだよね」というだけでちょっぴり自慢出来ます(←ココ大事です(笑;

・USB接続のカメラ・・・ライブカメラをやる場合には、これも必要になります。

   Linuxでもドライバの心配のいらないUVC規格対応のもので今なら1000円から2000円くらいのものでも十分実用になります。

 

■この記事について

自宅サーバーにOSとしてLinuxを入れて各種サーバーを構築して、最終的にブログやライブカメラの配信をするまでの手順の抜粋を書いています。

9年間やってきたブログを一旦辞めて、あらたにテーマ毎の複数のブログで作り直すのにあたって、自宅サーバーそのものも一から構築し直したのでその時の手順の覚え書きです。

特に気をつける部分を枠囲いで書いています。

 

■ハードの組み立て

使っている自宅サーバー機自体は、以前のものをそのまま使います。

Shuttle の XS35V3L というベアボーン機種で、大きさは、252(奥行き)×38.5(幅)×162(高さ)mm、2.1kgと少し大きめのルーターや外付けハードディスクケース並で片手の上に軽く乗ってしまうサイズです。

homeserver3-01

省電力、省小スペースでCPUはファンレス仕様の静音マシンなのでサーバー機としては最適です。

ハードディスクには500GBのモノを搭載しています。

以前は動画データもこのマシンの中に保存して配信していましたが、今はYoutubeにアップしていますのでこれくらいの容量のハードディスクでも心配がなくなりました。

構築しているサーバーは、
 ・WEBサーバー ・・・ ブログ(WordPress)を導入して複数ブログを配信
 ・ライブカメラ  ・・・ 自宅監視用ライブカメラを配信
 ・メールサーバー ・・・ ブログなどで使うパーソナルメアドを、無数に作成可能
 ・FTP ・・・・・・・ サーバーのブログ用写真などをアップする以外に、出先からデータを取り出せるように
 ・SSH ・・・・・・・ 外出先から自宅サーバーのリモート操作用

 

今回は今までのハードをそのまま使うので新規組み立てはありません。

一応中を開けて結線がゆるんでいないか確認して、ホコリを払っておきました。

 

■OSの組み込み

OSとしてはLinuxの中でもサーバー向けのCentOS6.4を使用

CentOSのサイト(http://www.centos.org/)に入って、「Release Notes: CentOS Download: i386 最新版」からダウンロードします。

OS自体は「CentOS-6.3-i386-bin-DVD1.iso」のファイルをダウンロードしました。

このサーバー機には光学ドライブを搭載していないので、USBメモリにインストール用に作成したデータを書き込んでインストールします。

ダウンロードしたデータは3.8GBほどあるので、その倍の8GBのUSBメモリを用意します。

USBメモリに書き込んだデータからOSをインストールするにはそのままでは出来ないのでフリーソフトの「UNetbootin」を使います。

ソフトを立ち上げ、入力データとしてダウンロードしたDVD1.isoファイルを選び、出力先をUSBメモリにします。

書き込みの済んだUSBメモリには、さきほどのDVD1.isoファイルもそのままコピーします。

そのために二倍の容量が必要なのです。

 
自宅サーバー機のBIOS画面で第一起動元をUSBに設定して電源を入れます。

あとは通常のDVD版と同じようにしてインストールが出来ます。

 
CentOSのインストール時にどのタイプでソフトを組み込むか聞いてきます。

不要なものまで組み込むと、インストールも手間取りますし、起動後も動作が重くなります。

私は「DeskTop」タイプにして、オフィス関連と印刷関連はチェックを外してインストールしないようにしています。

 

■自宅サーバー機の各種設定とソフト導入

(1)ネット接続設定
  IPV4の自宅のネット環境に合わせて設定します。

  この段階でLAN内のIPアドレスを「自動」ではなく「手動」にして「192.168.1.***(***は任意)」に固定して設定します。

  その他デフォルトゲートやDNSを設定します。

 
(2)SELinuxの無効化

  CentOSは初期値からSELinuxが有効になっています。

  セキュリティ的には必要なのでしょうけど、自宅サーバー構築にはちと面倒になるので無効化しておきます。

  ※無効化の設定方法

 SELinuxの動作状況確認

 # getenforce

(表示が)Enforcing  → この場合は有効化されています。

  permissive と表示されれば無効

 

  一時的に無効にするだけなら、

 # setenforce 0

 

  起動時から無効にするには、

 # vi /etc/selinux/config

  でファイルを編集して

 SELINUX=enforcing

 のデータ部分を

 SELINUX=disabled

 に書き換えればOKです。

 

(3)ファイヤーウォールの必要ポートの開放

 初期値からファイヤーウォールは閉じられていますので、必要なポートを解放します。

 WEB系、メール系、FTP系などがありますが、面倒なら(あまりオススメではないですが)一旦ファイヤーウォール自体をすべて無効にしてしまい、各種サーバーの設定を行います。

 その後、必要なポートを残して再びファイヤーウォールを有効にします。

 こうすれば、各種サーバー機能を設定しているときに、ポートの問題で設定出来ないトラブルが防げます。

 
(4)ユーザーのグループ設定

 root管理者以外にユーザを登録してありますが、さらにほかにもメールアドレスを作るためにもユーザを追加登録しておきます。

 管理者権限でユ-ザー登録したら「プロパティ」でグループ属性に「apache」を追加しておきます。

 

(5)FTPサーバーの構築

 あらかじめ別のパソコンにダウンロードしてあるWordPressやphpMyAdminといったソフトや、設定内容を記録したテキストを他のパソコンから送り込んだり、運用開始後にブログに載せる写真を任意のフォルダーに一括アップロードする時などに使います。

# yum -y install vsftpd

でインストールします。

起動させるには、

# /etc/rc.d/init.d/vsftpd start

(再起動なら : # /etc/rc.d/init.d/vsftpd restart)

システム起動時から動かすには、

# chkconfig vsftpd on

 

(6)WEBサーバーの構築

 ブログやライブカメラの運用に必須のWEBサーバーサーバーを作ります。

# yum -y install httpd

でインストールします。

 

■DNSの設定

契約しているプロバイダに固定IPの設定があればいいのですが、ない場合は動的IPとなりIPアドレスが一定ではありません。

無料で契約出来るDNSサービスは各社ありますが、私は以前からDynamic Do! を利用しています。

これで動的IPでもサーバーを公開出来るようになります。

定期的に更新するには自分でDynamic Do! にアクセスするか、このブログの最後に書いたcron、crontabを使って自動更新させます。

 

■WordPressの導入

これについてはいろんな書籍やネット情報もあるので割愛します。

私は以前のブログはMovable Type でやっていましたが今はよりメジャーなWordPress に切り替えました。

WEBサーバーが出来ていれば、ホームページを公開するのは割と簡単です。

■WordPressに以前書いた記事を復活させる

今までやっていたブログの記事が2000弱、それに皆さんからいただいた多くのコメントなどを新しいブログでも引き継ぎたいと思っています。

しかしなんと!標準でインストールされるプラグインでは以前の記事をインポート出来ませんでした。

インポートしたい記事を選んで「インポート」をクリックしても、白い画面のままで本来表示されるはずの「投稿者を誰にしますか」画面が表示されないままでした。

  がーーーん!

今まで書いてきた2千近い数の記事がすべて復元出来ないのかと思って一瞬目の間がまっくらになりました。

諦めずにネットで探してようやく見つけたのが、「標準のプラグインを使わずほかのプラグインでやったらインポート出来た」という記事です。
http://yomon.dip.jp/word/scientific-linux/readymade-wordpress-importer/

私もいろいろ試しててみてうまくいったのが「ReadyMade WordPress Importer」というプラグインでした。
http://wordpress.org/plugins/readymade-wordpress-importer-061/

使い方は標準のプラグインと同じです。

これでうまくインポート出来てほっと一安心です。

 

■WordPressのマルチサイト化

一つのWordPressで複数のブログを「http://***/site1」「http://***/site2」などと後ろにサブディレクトリを付けて運営します。

今回は頻繁に更新するメインのブログのほかに、以前行ったスイス旅行の事だけに関連した専用ブログも一緒に管理します。

メインの「エバンストンの森から」のurlは、
http://greenleaf.ddo.jp/wp/

専門サイトの「スイス旅行記ブログのurlは、
http://greenleaf.ddo.jp/wp/switzerland/

としています。

参考書籍やネットの情報どおりに、
1)「wp-config.php」に
define(‘WP_ALLOW_MULTISITE’, true);
を追記、

2)管理画面で「ツール」「ネットワークの設定」

3)「ネットワークを有効化中」後、再ログイン

4)「wp-config.php」に指定されたコードを追記

5)「.htaccess」に指定されたコードを追記

これで複数サイトは作成出来ましたが、新規サイトや管理画面が表示出来ません。

調べてみると「httpd.conf」の「‹Directory “/var/www/html”›」の設定箇所の中にある、「AllowOverride none」のせいだとわかりました。
これを「AllowOverride All」にしてhttpdを再スタートさせれば表示されるようになりました。

 

■WordPressに初期段階でインストールしているプラグインは、

「ReadyMade WordPress Importer」
 上記に書いたように、WordPressでエキスポートしたデータ元にインストールしようとした時にはプラグインが必要になりますが、デフォルトで推奨されているプラグインではうまくインポートで出来ない時に、これを使えばうまく出来ました。

「Intuitive Custom Post Order」
 記事の並び順は自動で投稿日順になってしまい、変えようと思うと日付けを変更する必要がありますが、これを使えばドラッグアンドドロップで任意に変更する事が出来ます。

「PostPost」
 記事の投稿ごとに文末に定型のテキストデータ、たとえばブログランキングのバナーを設置する時に便利です。

「Count Per Day」
 アクセス解析のプラグインはいろいろありますが、表示される項目や日別のグラフなど私にはこれが一番見やすかったですね。

「Custom Query String Reloaded」
 トップページ、カテゴリー、アーカイブの各ページに表示される数は一律で決まってしまいますが、これを使えばそれぞれを個別に設定する事が出来ます。

 

■ライブカメラ

自宅から富士山の様子を流したり(わがやからは見えませんよ)、家のペットや熱帯魚の様子を流したり、あるいは外出時に留守宅の様子をチェックしたりするのに便利なライブカメラを構築します。

Linuxにも対応しているUVCのWEBカメラを用意します。

homeserver

使うソフトは「fswebcam」ですが、その前に必要なソフトをいれておきます。

# yum -y install gd

# yum -y install gd-devel

# yum -y install rpm-build

「fswebcam」をゲットしてインストールします。

# wget http://www.firestorm.cx/fswebcam/files/fswebcam-20070108-1.i386.rpm

# rpm -Uvh fswebcam-20070108-1.i386.rpm

画像が写るか確認

# fswebcam /home/***(自分の任意のフォルダー)cam.jpg

実際に運用する時用に画像の回転や赤い下線の削除、撮影時刻の写し込みの設定を行います。

画像の保存場所を例えば、
「/home/webcam/public_html/」とした場合の例です。

 ※ あらかじめ保存するフォルダーは作っておいてください。

これは、現在時点での画像をサイト上に表示させる時用のものです。

fswebcam -p YUYV –bottom-banner –line-colour ‘#FF000000’ -S 5 -r 352*288 –rotate=180 –font “/usr/share/fonts/ipa-gothic/ipag.ttf:14” /home/webcam/public_html/livecamera/live.jpg

先ほどのリアルタイムで流す画像を取得する以外にもう一つ、あとで過去に遡って画像を確認する保存用として、ファイル名を撮影日時にしたものを取得します。

fswebcam -p YUYV –bottom-banner –line-colour ‘#FF000000′ -S 5 -r 352*288 –rotate=180 –font “/usr/share/fonts/ipa-gothic/ipag.ttf:14” /home/webcam/public_html/livecamera/’date %Y%m%d_%H%M.jpg’;

 オプションの設定は、

  -p YUYV

  –bottom-banner  : bannerを下部に設置します

  –line-colour ‘#FF000000’ : バナーの上に表示される赤い線を消します

  -S 5 : 画像が安定して映ってから取得するために5フレーム経過後に実行します

  -r 352×288 : 画像の解像度を設定します

  –font “/usr/share/fonts/ipa-gothic/ipag.ttf:14″ : タイムスタンプで表示される文字のフォントとサイズを設定します

  –rotate=180 : 屋外用は駐車場の屋根に逆さまに取り付けたので画像を180度回転させます

  /home/webcam/public_html/livecamera/ : 画像ファイルの出力先フォルダーを設定します

  ’date %Y%m%d_%H%M.jpg’ : 画像ファイル名を設定します

fswebcam -p YUYV -r 640×480 –bottom-banner –line-colour ‘#FF000000’ -S 5 –rotate=180 –font /usr/share/fonts/ipa-gothic/ipag.ttf:14 /home/webcam/public_html/livecamera/livecam.jpg

 

これを自動で動かすためにcrontabに記述しようと思ったら、crondがインストールされていないのが判明!

cronについては、CentOS6から変更になっていて時刻設定がランダムで管理されているanacronで行われています。

これを従来からのcronに変更するには、まずcronie-noanacronをインストールします。

 # yum install cronie-noanacron

インストールが出来たらcronie-anacronは削除しておきます。

 # yum remove cronie-anacron

cronの起動確認
# /etc/rc.d/init.d/crond status
crond は停止しています

cron起動
# /etc/rc.d/init.d/crond start

 

一番簡単なライブカメラ用のサイトを作るには、

index.htmlに下記のように記述します。

‹html›
‹head›
‹title›ライブカメラ‹/title›
‹/head›
‹body bgcolor=#F0FFF0›
‹center›

‹table border=2 cellpadding=3 cellspacing=1 width=150›

‹TR vlign=”center” height=”20″›
‹td align=center bgcolor=#CC66CC›
‹font size=+1 color=#00008B›
ライブカメラ
‹/font›
‹/td›
‹/TR›
‹/table›
‹br›
‹table border=1 cellpadding=10 cellspacing=0›

‹TR vlign=”center”›
‹td align=center bgcolor=#FFFFFF›
‹img src=”live.jpg”›

‹/td›
‹/TR›
‹/table›
‹/center›
‹br›

‹/body›
‹/html›

これをアクセスするフォルダーに保存してurlにアクセスすればOKです。

http://greenleaf.ddo.jp/~webcam/livecamera/.html

 

以上、ざっと自宅サーバー構築の流れを書いてみました。

実はこんな記事でもしばらく経ってから自分で再度自宅サーバーを構築する時に役に立つことがあります。

そういう意味ではやはり自分向けの防備録ですね。

 

  


ブログランキングに参加中です
気に入ったらポチお願いします。

にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村




2013年5月30日 木曜日

ライブカメラ用にUSB延長リピーターケーブルを購入

私の家の外部には、夜間や外出時に家の周囲をチェックするためのライブカメラが設置してあります。

防犯カメラといっても専用のガード用のものではなく、Linuxで動かしている自宅サーバー機にUSB接続のWEBカメラを接続してプライベート的に配信および定時的に画像を保存しています。

先日、家のエクステリアのメンテナンス工事を依頼していた際にも、職人さんたちの出入りや、開放されていた駐車場への出入りなどをチェックしていたのですが、途中で記録されていない事がありました。

屋外にカメラやケーブルを配置して運用していたのでそれが原因かと思いましたが、いろいろ調べていくうちに根本的なところに原因があるのがわかりました。

最初に書いたように、屋外のWEBカメラは有線式のUSB接続なので設置場所からサーバー機までUSBケーブルを延長してつないでいます。

USBケーブルは、電送されるデータの減衰の問題もあり5mまでの使用が原則になっています。

もちろん設置当初からそれは知っていましたが、今までは5mだけでなくさらに2mケーブルを2本、それにカメラ本体のケーブルを含めて10m以上伸ばしてもう何年も問題なく使えていました。

しかしケーブルや接続部の経年劣化のせいで急に写らなくなってしまいました。

そこでUSBの5mケーブルの壁を越えて使える「USB延長リピーターケーブル」を購入しました。

USB延長リピーターケーブル

リピーターケーブルは、内部で信号を増幅させて5mの規格よりも遠くへ信号を送れるようにしているものです。

このケーブルはつないでいけば20mまで延長する事が出来ます。

メス側の接続部がかなり太くなっているのが、通常の延長ケーブルと異なります。

設置してあるケーブルを外してこのリピーターケーブルにつなぎ直したところ、問題なく映像が送れました。

20mとか延長出来るのなら、屋根の上に設置して「今日の富士山」なんかの中継もおもしろいかもしれませんね。

 

【関連記事】
 この延長ケーブルの実力を、電圧と電流計で計ってチェックしてみました。

 その結果、なんと驚きの結果が。。。!!!

 その記事は、コチラ「USB電圧・電流チェッカーでいろいろ測ってみた」 です。

 


ブログランキングに参加中です
気に入ったらポチお願いします。

にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村




2011年12月26日 月曜日

Linux(CentOS)の自宅サーバでライブカメラを構築する ~motionによる動態検知編

せっっかく構築したライブカメラですが、fswebcamだと静止画しか記録出来ません。

常時監視する為には、定期的に静止画を保存する必要があります。

1分毎に保存した場合、1日分で 60枚/時×24時間=1,440枚にもなります。

1枚の静止画のサイズが15KBとして1日で22MB、1年で8GBになります。

これだけの枚数、容量だとチェックも保存するディスクにも負担となります。

どうせなら、画面の中に動きのあった時だけ記録して、しかもそれが連続した動画として見られれば最高です。

こういった事を実現してくれるソフトが、フリーソフトでもあります。

「motion」というのがそれです。

ところが、私の環境ではmotionのインストールで行き詰まっています。

今までやった事です。

こちらのサイトで最新バージョンを確認します。
http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions

「Downloads」で落とします。
http://www.lavrsen.dk/foswiki/bin/view/Motion/DownloadFiles

事前準備「Preparation For Install」
http://www.lavrsen.dk/foswiki/bin/view/Motion/PrepareInstall

Library RPM Packages Debian Packages
libm, libresolv, libdl, libpthread, libc, ld-linux, libcrypt, and libnsl glibc and glibc-devel libc6 , libc6-dev ,libglib1.2
libjpeg libjpeg and libjpeg-devel libjpeg62 and libjpeg62-dev ( optional libjpeg-mmx-dev )
libz zlib and zlib-devel zlib1g and zlib1g-dev

libavcodec, libavformat ffmpeg and ffmpeg-devel or install from source libavcodec-dev libavcodec0d libavformat-dev libavformat0d (*)

# yum install motion

# rpm -ivh motion-3.2.11-1.i386.rpm

# tar zxvf motion-3.2.12.tar.gz
./configure
make

インストールに失敗します。

エラー: 依存性の欠如:
libavcodec.so.51 は motion-3.2.11-1.i386 に必要とされています
libavformat.so.51 は motion-3.2.11-1.i386 に必要とされています
libavutil.so.49 は motion-3.2.11-1.i386 に必要とされています
libpq.so.5 は motion-3.2.11-1.i386 に必要とされています

が無いと言われます。

RPM Fusionのレポジトリをインストールしていない場合はインストールを済ませます。
rpmfusion リポジトリを追加します

# rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
その後、
# yum install motion

rpmfusion-free-release-5-0.1.noarch.rpm

rpmfusion-nonfree-release-5-0.1.noarch.rpm

をいれようとしますが、こちらもうまくいきません。

動態検知によるライブカメラ構築は、以前からやってみたかった事なので、ぜひ実行したいのですが。。。今のところ、解決策が見あたりません。

もうしばらく、 楽しんで 苦労してみます。 苦笑;

  


ブログランキングに参加中です
気に入ったらポチお願いします。

にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村




プロフィール


メカ好きおじさん写真
メカ好きおじさん

・41年前原付、中型二輪取得
・CB50で東北野宿一周
・250cc四国・九州3週間5万円野宿
・38都道府県制覇
・XL250オフ後、再度オンロード
・KAWASKI2スト最後に降りる
・16年ブランク後リターン
・50歳で大型二輪免許取得
・ハーレーFLSTCにペアライド中


ブログランキングに参加中です
気に入ったらポチお願いします。
にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村



twitterlogoツイッター、やってます!
twitterlogoインスタグラム、やってます!