カウンター
  • 596今日の閲覧数:
  • 1073昨日の閲覧数:
アーカイブ
カテゴリー
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分おき)に最新画像をアップするとともに、監視しているカメラに映っている範囲内に動くモノがあった時だけ撮影して保存する監視カメラ、ライブカメラが構築できました。

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

 

  


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




2014年11月24日 月曜日

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

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

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

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

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

 


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




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

 

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

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

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

 

  


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




2013年5月30日 木曜日

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

 


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




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

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

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

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

  


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




2010年11月20日 土曜日

早送り・逆回転動画の作り方-アニメーションGIF/FLAH

スイスで撮影したマッターホルンに朝日が差して、時間の経過と共に山の頂からすそ野の方に赤く染まっていく動画。

5分以上あるこの動画を5秒程度に早めて再生する動画に変換してサイトにアップしましたが、この動画の作り方を教えて欲しいというお問い合わせをいただきましたので、記事にまとめてみました。

自分で撮った動画を、自分のパソコン上で早送りで見るだけなら、例えばフリーソフトの「GOMOLAYER」を使えば簡単に再生出来ます。

(※ GOMOLAYERでは、再生速度を0.2倍(遅い)から4倍速(早い)まで変更可能です。
   再生している時に「X」キーを押すたびに遅くなり、「C」キーを押せば早くなります。
   「Z」キーを押せば通常再生(1倍速)に戻ります。 )

例えば、「花の咲く様子」「昆虫の誕生、羽化」「太陽や雲の動き」あるいは「街行く人があるく様子」や「バイクや車でのツーリングの風景や景色を短時間で見たい」等々、いろんな事に利用できます。

私のブログでも今回の「マッターホルンの朝焼け」以外にも「初日の出のライブカメラ」などがあります。

早送りや逆回転の動画の作り方はいろいろあると思いますし、市販のソフトでも出来ます。

私が作った方法は、ネットで入手可能なフリーソフトを利用して「無料で簡単に作れる」ものです。

画像は早送り、逆回転で再生しますが、音声は削除しています。

というより、かなり高倍速にするような動画なら、高速化された変な音声はいらないと思っています。

作成するフォーマットとしては、「アニメーションGIF」と「FLASH」の両方を紹介します。

途中までの作業は同じですが、前半で「アニメーションGIF」、後半で「FLASH」での作成方法を紹介します。

 

実は、早送り動画といってもこの方法は、動画を1枚1枚の静止画に変換して、それをパラパラ漫画のように連続して再生させ、その際に1枚毎の再生時間を調整する事で早送りの倍速を調整し、また連番で並べる時に昇順と降順を入れ替えて逆回転にしています。

 

■おおまかな流れは、
 1. 動画を用意する
 2. 1枚ごとの静止画に分解する
 3. 正回転の時はそのまま、逆回転の時は逆の順番にファイル名を変更する
 4. 作成したい動画のサイズにすべての静止画のサイズを変更する
     (※ ここまではGIFでもFLASHでも同じ作業です)
 5. GIFアニメーション作成ソフトに読み込ませる
 6. 再生したい倍速を設定する
 7. アニメーションGIFを作成する
以上です。

 

■使うフリーソフト
 1. GOMPLAYER ・・・ 動画再生ソフト
                 いろんな形式の動画に対応し、ボタン一つで速度変更、色補正もしてくれます。
                 今回は動画を複数枚の静止画に分解するのに使います。
                 ダウンロード先は、コチラ
                 ※ インストール時に聞かれる「GOM ENCODER」は今回不要です。

 2. Namery    ・・・・ ファイル名変更ソフト
                 このタイプのソフトはいろいろ出ていますが、
                 個人的にはこのソフトの機能と使いやすさとインターフェイスが気に入ってます。
                 逆回転ようにリネームする場合に使います。
                 順方向の速度変更の動画を作るだけなら不要です。
                 ダウンロード先は、コチラ

 3. チビすな !!   ・・・・ 静止画のサイズ変更ソフト
                 これも色んなフリーソフトがあると思いますが、
                 exifデータを残したままリサイズ出来るのでお気に入りです。
                 ダウンロード先は、コチラ

 4. Giam      ・・・・ GIFアニメーションを作るソフト
                 わかりやすい操作が気に入ってます。
                 読み込める画像タイプが多く、他のGIFアニメーションも読み込めます。
                 ダウンロード先は、コチラ

 

■作成方法
1. 動画から静止画を作成する  
「GOMPLAYER」で動画を再生する。
キャプチャーを開始する少し(1秒位)前で一時停止(ポーズボタン)する。
画面を右クリックして「映像メニュー」「静止画キャプチャー設定」画面にする。

baisoku01.jpg

 ・設定内容
   保存先変更 :デフォルトでは、C:Documents and Settings以下になりますが、
          階層が深いのでわかりやすいドライブのフォルダーに変更してもいいでしょう。
   フォーマット:「JPEG」のままでいいでしょう
   JPEG品質  :1~255までの任意ですが、動画に利用するなら128位でも十分でしょう。
   連続キャプチャーフレーム:
          1~999までのフレーム数が選べます。
          毎秒1枚ずつキャプチャーすると16分程度まで可能です。
   連続キャプチャー間隔(秒):
          デフォルトの「0」は出来るだけ連続してキャプチャしますが、
          これだと33秒で999枚に達してしまいます。
          1/100秒単位で設定出来ますが、
          元の動画の長さ(時間)によって決めます。

          例えば元が5分のものをキャプチャ出来る最大枚数にする場合は、
              5分=300秒ですから
              999枚÷300=3.33枚
              すなわち1秒間で3.33枚キャプチャ出来ます
              という事は、キャプチャ間隔は、1÷3.33=0.300ですから、0.3秒にします。
          ただし「0.30」と入力出来ませんので「1」と入力して右横のダウンボタンで秒数を減らして、「0.30」にします。
ここまで設定したら、その状態のままで、GOMPLAYERの再生ボタンをクリックして、再び動画を再生する。
キャプチャーを開始した場所に来たら(最初からキャプチャーしたい時はすぐに)、先ほどの「静止画キャプチャー設定」画面の「連続キャプチャー」ボタンをクリックする。
「静止画キャプチャー設定」画面の「保存フォルダを開く」をクリックしてキャプチャーした画像を確認する。

baisoku02.jpg

出来た静止画のファイル名は、「”元の動画名”.”元の拡張子”_9桁の連番数字.jpg」になります。

2. 逆回転再生させたい場合は、ここで連番を逆にリネームします。
「Namery」を起動したら、左の階層から変更したい画像のある画像フォルダを選択します。
表示されている「名前」欄のリストの上のバーをクリックすると、並び方(上からの順番)が逆になります。

baisoku03.jpg

その状態で「リネーム設定」で「文字列+連番」にして逆に連番を振ります。
これで連続したコマ送り動画にすると逆回転したものになります。

2. 画像のサイズを変更します。
キャプチャした画像は、元の動画と同じサイズになっています。
新たに作りたい早送り動画のサイズも同じならこのままでもいいのですが、サイズを変えた動画にしたいなら、この静止画の状態でリサイズした方がキレイで早いようです。
ここではリサイズソフトに「チビすな !!」を使います。
ソフトを起動したら、「画像ファイルの存在するフォルダ」のフォルダーアイコンをクリックして設定します。
「縮小画像の出力先フォルダ」も同様にわかりやすいフォルダを指定します。
「縮小サイズ」は、一般的な「640×480」「480×360」ならこのラジオボタンを、それ以外なら「その他」をクリックして、次の画面で「画像サイズを指定する(ピクセル単位)」で入力します。この時一番下の「縮小画像の縦横比」の「元画像の縦横比を保持する」「指定矩形に収まるように合わせる」にチェックを入れておきます。

baisoku04.jpg

あとは元の画面に戻って「実行」を押せば完了です。

ここで「裏ワザ」というほどでもないですが、一つオモシロイワザを。
デジカメやビデオは4:3でも16:9でも横長の画像ですが、たまに動画でも縦長で撮りたい時があります。
そんな時、この方法で早送り画像にするのであれば、カメラを縦に構えて撮影します。
上記の方法で1枚ずつにキャプチャした静止画を、「チビすな !!」でリサイズ、あるいはそのままのサイズで、「画像の回転」で90°か270°回転させれば、縦長の早送り動画を作る事が出来ます。

3. アニメーションGIFに変換します。
「Giam」を起動したら、さきほどキャプチャ、リサイズしたフォルダーを開き、中の画像をすべて選択したまま、画面左下の白いスペースにドラッグします。
そうするとリストが作成され、左上のプレビューが出ます。

baisoku05.jpg

各種の設定内容です。
・「繰り返しセット」:チェックすると繰り返し再生します。
           リピート回数は下の「繰り返し回数」に入力します。
・「永久に繰り返す」:チェックすると何度もリピート再生します。
・「ウェイト有り」:ここにチェックすると再生する速度を変更出来ます。
          下の「ウェイト[1/100s]」欄に数値を入力します。
          例えば「10」とすると1枚毎の表示時間を0.1秒とし、30枚の画像なら3秒で再生します。
          上記の例で元動画が1分(60秒)で30fps(1秒間に30コマ)の動画をキャプチャしたものなら、60×30=180枚の画像となります。
          これを「ウェイト=10」とすると18秒で再生しますので60÷18=約3.3倍速での再生になります。
設定したら、上のツールバーの右端の「青い▲」をクリックするとプレビューを見る事ができます。
よければ、ツールバーの「ファイル」「名前を付けて保存」します。

これで完成です。

あとはこのgifファイルを自分のWEBサイトにアップすればOKです。

4.さらに高速で
上記のやり方でも高速に表示させる事ができますが、さらに10倍、20倍とやりたい時には、ちょっとだけ裏ワザを使います。
それは「元の画像を間引く」ことです。
例えば、「01,02,03,04,05,06,。。。」とある画像を「01,04,07。。。」として倍速動画にすれば、さらに3倍速になります。
連番になっている画像をどうやってトビトビにするか。
これもソフト的に出来るんでしょうけど、もっと簡単に力ワザでやってしまいます。
その方法は、「エクスプローラで一覧表示させて、複数の範囲設定で選択した画像のも、別ファイルに保存する」というものです。
下のキャプチャ画像を見ていただければわかると思います。

倍速動画

こうやって作成した倍速画像がコチラです↓↓

倍速動画

さらに高速になっているのがわかりますか。

たぶんもっと簡単で便利な倍速画像作成ソフトや方法もあるでしょうけど、こんな風にフリーソフトを活用して何かを作るのも、パズル感覚で楽しいですよ。

 

【追記】
上のGIF動画ではあまり滑らかになりません。

次にFLASHでもっと滑らかな動画を作ってみます。

複数の静止画からFLASH動画を作るには、フリーソフトのMotionSWFを使います。

こちらのサイトからダウンロード出来ます。

http://www.vector.co.jp/soft/win95/art/se226046.html

ソフトの使い方については、、、このソフトにあるヘルプを見てもらうのが一番わかりやすいようですので解説は省きます。

これで作成した動画です。



 

こちらの方がスムーズに再生出来ますね。

 

さらに高速の動画を作ってみました。



 

逆回転動画もFLASHで作ってみました。



 

上の動画は、逆回転としては内容的にあまりおもしろくないですね。

バイクの後ろを撮影したら同じようなものが撮れますね。


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




2008年1月2日 水曜日

1月2日の日の出に再挑戦

昨日に引き続き、今日も日の出のライブカメラをアップします。

今日は夜中の月の動きも追加してあります。

太陽が出た瞬間、カメラがオーバーフローしてしまってホワイトアウトしています。
これはもう仕方ないですね。



 

ちなみに、
こういった「コマ落としの動画風、静止画」は割と簡単・安価に出来ます。
・私が使ったのは1~2千円程度の安いUSBカメラ
・フリーソフトを2、3つ
だけです。
これだけでこんな感じの動画を作れちゃいます。
よくある「花の咲く様子、昆虫が脱皮する様子」や「雲が流れる様子」なんかも面白いですよ。
試してみてはいかがですか?


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




2008年1月1日 火曜日

家から見た初日の出

新年、あけましておめでとうございます。

今年の初日の出です。
バイクでの出先ではなく、家の窓から見たものです。

今から30年前、友人3人で原付3台並んで、千葉の犬吠埼の日の出を見に、深夜走ったあの寒さは忘れられません。
今年も安全運転で走り続けます。


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




2007年4月18日 水曜日

水槽ライブカメラを復活!

しばらくライブカメラは公開していませんでしたが、
水槽を綺麗にした記念にしばらくの間、ライブカメラの画面を
ブログに公開します。
リビングに設置したUSB接続のカメラから5m以上のUSBケーブルで
自宅サーバー機に接続しています。
更新は1分毎に行っています。
夜間は照明を落としていますので暗くなっています。


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




2007年1月15日 月曜日

リアルタイム動画のライブカメラ

風邪もなんとか治りかけてきました。

自宅サーバーも最近は安定稼動中。
となるとちょっとつまらなくなってしまう。
ここはひとつ何か面白い事がやりたいな。

と、いう訳でまた「リアルタイムで動画を表示するライブカメラ」でもやりましょうか!?
以前、Windowsでサーバーをやっていた時は熱帯魚の水槽を配信していました。
現在はメインサーバーはLinuxで静止画ライブカメラ用にWindowsサーバーを使用しています。
動画サーバーもこのWindowsサーバーで稼動させLinuxサーバーから配信すればなんとかなるでしょう。
でも今のWindowsサーバー機は静止画用なのでマシンスペックの低いノートPCなんです。

さてさてうまくいくかな?


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

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


バイクランキング


ツイッター、やってます!
twitterlogo




プロフィール


プロフィール写真
メカ好きおじさん

・44年前に原付、中型二輪取得
・CB50で東北一周ソロで野宿旅
・250ccで四国・九州3週間5万円の野宿旅
・38都道府県制覇
・XL250オフ後、再度オンロードに戻る
・KAWASKI2ストを最後にバイクを降りる
・16年のブランク後リターン
・50歳で大型二輪免許取得
・ハーレーFLSTCに奥さんとタンデム中
・2012年から北海道タンデムツーリング6回


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

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


バイクランキング

PVアクセスランキング にほんブログ村


ツイッター、やってます!
twitterlogo