プログラムによる機能拡張

動体を検知した時にあなたが作成したプログラムを実行します。

設定画面の「プログラム実行」を開いて、あなたが作成したプログラムをあらかじめ設定しておくと、Msakoが動体を検知したときに、このプログラムが自動的に実行されます。

Msakoは、次のタイミングであなたのプログラムを実行します。

例えば、イベントが開始したときにstart.vbsというVBスクリプトを実行させたい場合は、次のように設定します。

この場合「作業ディレクトリ」にあらかじめstart.vbsを設置して置く必要があります。

ここで設定したプログラムは、Msakoとは別のプロセスとして非同期に実行されます。つまり、Msakoは設定されたプログラムを起動した後そのプログラムの終了を待ちません。しかし、Msako本体の動作を妨げないために、プログラム作成にあたっては、プログラムが起動されたらできるだけ速やかに終了するよう心掛けてください。

プログラムが実行されるとき、Msakoから次のような環境変数が渡されます。

環境変数名内容
MSAKO_CAMERA_NAMEカメラ名玄関カメラ
MSAKO_CAMERA_TYPEカメラの種類
  • =0:Unknown
  • =1:MJPGCamera
  • =2:H264Camera
  • =3:OnvifCamera
  • =4:VideoCaptureDevice
1
MSAKO_VIDEO_WIDTH映像の幅
(単位:ピクセル)
1280
MSAKO_VIDEO_HEIGHT映像の高さ
(単位:ピクセル)
720
MSAKO_STATE監視の状態
  • =0:INIT
  • =1:TUNING
  • =2:READY
  • =3:DETECT
  • =4:EVENT
  • =5:ALARM
  • =6:ABORT
  • =7:TERMINATE
3
MSAKO_EVENT_STARTイベント発生時刻
(yyyy-mm-dd HH:MM:ss)
2016-08-01 12:34:56
MSAKO_EVENT_MAGNITUDE検知レベルの最大値
(単位:dB)
48
MSAKO_EVENT_DURATIONイベント経過時間
(単位:ミリ秒)
59000
MSAKO_ALARM_LEVEL警告レベルの設定値
(単位:dB)
54
MSAKO_SENSITIVITY感度の設定値
(単位:%)
85
MSAKO_VIDEO_FOLDER録画フォルダのパスC:\video\玄関カメラ

VB Scriptの例

1.次の内容を持つファイルをpopup.vbsという名前で「作業ディレクトリ」に保存します。

  1. Set oShell = WScript.CreateObject("WScript.Shell")
  2. CAMERA_NAME = oShell.ExpandEnvironmentStrings("%MSAKO_CAMERA_NAME%")
  3. oShell.Popup CAMERA_NAME & "が動体を検知しました", 3, "Msako5"

2.「プログラムのパスと引数」欄に次のように記入します。

cscript //nologo popup.vbs

3.イベントが発生すると次のようなメッセージが3秒間だけ表示されます。

Windows Power Shellの例

1.次の内容を持つファイルをpopup.ps1という名前で「作業ディレクトリ」に保存します。

  1. $wshell = New-Object -ComObject Wscript.Shell
  2. $CAMERA_NAME = [environment]::getenvironmentvariable("MSAKO_CAMERA_NAME")
  3. $wshell.Popup($CAMERA_NAME + "が動体を検知しました", 3, "Msako5")

2.「プログラムのパスと引数」欄に次のように記入します。

powershell -ExecutionPolicy Unrestricted .\popup.ps1

3.イベントが発生すると次のようなメッセージが3秒間だけ表示されます。