この場合、動画ファイルのサイズが大きく、ほとんど映像が変化しない夜間は、100MBだけ録画した時の長さが20分くらいになりますが、日中は3分くらいで100MBになってしまいます。
1TBのNASに録画する場合、1日で30GBなので、だいたい1カ月しか録画できません。
では、どうするか。
カメラ単体では、圧縮率の高いMPEG4 H.264録画に対応していないため、録画された動画ファイルをパソコンで変換して対応します。
このとき、使用するのが「FFMPEG」と、先ほど公開した「FileWatcherManager」です。
○ FFmpeg
○ FileWatcherManager Ver.1.00aをリリースしました! ( ソフトウェア ) - あさりのみそしるダイアリー - Yahoo!ブログ
「FileWatcherManager」は、このために作成したんですよね。
本当は、WebCamRecordControllerみたいな名前にして、作成した動画ファイルを加工するための専用プログラムにするつもりでしたが、いろいろな用途に使えた方が勝手がいいと思い、こういう形になりました。
スクリプトを書かないといけないので、ちょっと敷居が高いかもしれませんが、拡張性や自由度は高いかと。
必要ならフロントエンドでも作ればいいかと。
さて、ここからは手順です。
1.まず、先ほどのURLから、FFMPEGとFileWatcherManagerをダウンロードします。
2.FileWatcherManagerを適当なフォルダに展開します。
ずっと稼働するものなので、できれば決まった場所に置いておくことをおすすめします。
3.ffmpegフォルダ内に、ダウンロードしたffmpeg.exeファイルを展開します。
その他のファイルも、必要なら展開します。
4.スクリプトを編集します。
サンプルで付属しているwebcam_ctrl.fwsファイルをそのまま流用します。
exec manual-scan
group fileconv
set do-process step-by-step
set watch-subdir true
set always-full-scan true
set ignore-short-interval-update true
set ignore-short-interval 3000
set show-do-process-console false
set ignore-events-when-do-command true
watch dir
\\(IPアドレス)\(共有フォルダー名)\(フォルダー名)\IPCamera_Record
if file.property
$filename$ == .+\.avi$
$is_file_using$ == false
then
do process
avi2mp4.bat "$filepath$" "$filedir$\$filename2$.mp4"
end-group
直すのは、赤字の部分だけです。
この設定は、ネットワークカメラの設定に依存します。
Qwatchの設定>システム>NAS保存設定で指定したものを、そのまま赤字の部分に指定します。
5.start.batを実行します。
これで、ネットワークカメラで録画されたAVIファイルが、自動的にMPEG4 H.264形式に変換されます。
変換後のファイルは、Windows Media Player などで再生できます。
動画ファイルの映像にもよりますが、ファイルサイズは元ファイルの3~60分の1にまで圧縮できます。
長ければ1TBで1年分くらい保存できそうですね!
ただし、動画を変換するためには、FileWatcherManagerを動かすパソコンが稼働している必要があります。
常時動作するパソコンがない場合は、普段使用するパソコンに環境を用意し、普段使いの裏で変換作業をするというのもいいかもしれません。
この辺の細かいところは、バッチファイルやスクリプトをいじって調整できると思います。
また、フォルダ容量をチェックして、サイズが指定した値以上になったらファイル移動なり削除なりをすることもできます。
フォルダサイズをチェックするグループをスクリプトに追加すると対応できると思います。
そのほか、バッチファイルをスタートアップに登録しておけば、Windows起動と同時に実行できて便利ですね。
おわり。