設定: アクション

について

Agent DVRのアクションは、カメラ/AIアラートやデバイス切断など特定のイベントへの応答です。自動的に応答するために使用します。例えば、アラームを鳴らす、スマートプラグのURLで照明をつける、別のカメラの録画をトリガーするなどです。アクションにアクセスして設定するには、デバイスを編集してメニューのActionsセクションに移動してください。

「Add」をクリックして新しいアクションを作成します。以下の画像と同様の設定画面が表示されます:

AI Actions Interface
AI Task Interface

アクションをトリガーできるイベントの種類は豊富です。複数のアクションを各イベントに関連付けることができ、これらのアクション内で様々なタグを組み込んで動的な応答を作成できます。

アクションの設定

  • Active: このトグルでアクションをアクティベートまたは非アクティベートします。別の方法として、ScheduleAPIでactionOn、actionOff、actionRunなどのコマンドを使用して、上記のIDを使用できます。
  • Name: アクションのオプション名。
  • If: 利用可能なイベントを選択してください(以下参照)。
  • With tag: (AIイベント)。これは主にAIイベントで使用されます。例えば、AI: Object Foundを選択して、ここにcatと入力すると、猫が検出されたときだけアクションがトリガーされます。タグの一致はServer Settings - Generalで選択された言語に基づきます。
  • Rule: 複数のタグがすべて一致する必要があるか(AND)、いずれかが一致できるか(OR)を選択します。
  • In Zones: (AIイベント)。モーション検出タブからモーションゾーンを指定して、検出されたオブジェクトをフィルタリングします。例えば、ゾーン1catをタグとして選択すると、ゾーン1で猫が検出されたときだけアクションがトリガーされます。すべてのゾーンを含めるには空白のままにしてください。
  • Repeat Timeout: この間隔内でイベントが発生した場合、それを抑制してタイマーをリセットします。例えば、「車両検出」をトリガーとし、30秒のタイムアウトで設定した場合、アラートは一度送信され、その後の検出されたトラフィックで30秒間隔があるまでアラートは一時停止されます。
  • Add Task: クリックしてタスクを追加します。1つのアクションに複数のタスクを割り当てることができます(v4.5.5.0+)。

利用可能なアクション

アクションはシステム、デバイス、AIイベントの幅広い範囲に応答できます。アクションを設定できるイベントは以下の通りです:

  • AI Server Down (AI Serverがエラーを返した - リクエストが3回失敗した後にイベントが発火し、サーバーがオンラインに戻るまで繰り返しません)
  • AI Server Up (AI Serverがエラー状態を終了した)
  • AI: Ask AI Positive Result (探していたオブジェクトが見つかった)
  • AI: Ask AI Result (Ask AIレスポンスの肯定的な場合も否定的な場合も発火します)
  • AI: Describe Response Received (AIが画像を説明しました - 説明は{MESSAGE}と{AIJSON}タグに含まれています)
  • AI: Face Recognized
  • AI: Face Not Recognized
  • AI: License Plate Recognized
  • AI: License Plate Not Recognized
  • AI: Loiter Detected
  • AI: Object Found
  • AI: Object Not Found
  • AI: Sound Recognized (マイクのみ)
  • Alert
  • Alert Finished
  • Call URL Response Received - これは「Call URL」タスクの実行時に取得するレスポンスでトリガーされ、他のタスクで応答できます。
  • Manual Alert
  • Motion Detected
  • Motion Finished
  • None - スケジュールで「Action: Run」コマンドを使用してアクションを手動でトリガーする場合に使用します。
  • ONVIF Event ON - 例えば、ONVIFの論理状態の更新に基づいて記録を開始・停止するために使用します (モーション検出器のタイプをONVIFに設定する必要があります)
  • ONVIF Event OFF
  • ONVIF Event Received (カメラからの任意のONVIFイベントで発火します)
  • Photo Taken
  • PTZ Preset Applied
  • Reconnect Failed
  • Recording Failed
  • Recording Finished
  • Recording Started
  • Source Disconnected
  • Source Reconnected
  • Source Covered/ Tampered
  • Switch Device Off
  • Switch Device On
  • System: Armed
  • System: Disarmed
  • System: No UI Connected - 最後のUIセッションが閉じられたとき
  • System: Profile Applied
  • System: UI Connected - ユーザーがブラウザを開いてシステムを表示するとき
  • System: UI Disconnected - セッションが閉じられたとき (ブラウザが切断されてからおおよそ1分後に発生します)
  • Timelapse Started
  • Timelapse Stopped

追加したプラグインイベントとカスタムタスクもこのリストの最後に表示されます。

監視員を検知

滞在を検出するには(人またはオブジェクトが一定期間、同じ場所に留まっている場合)、以下を設定する必要があります:

  • サーバー設定でAIサーバーを設定します
  • AI: 滞在検出アクションを追加します
  • 検出するタグを設定します。通常はpersonですが、carを使用して長時間駐車されている車を検出したり、suitcaseを使用して置き去りの荷物を検出したり、catをソファの上にいる猫を検出したりすることができます。ここで複数のタグを使用できます。例えばcar,bus,truckです。利用可能なオブジェクトのリストについては、カメラを編集する際のオブジェクト認識内のクラスリストを参照してください。
  • オブジェクトを検出するゾーンを指定します。検出器タブを使用してモーションゾーンを描画します。
  • 検出されたオブジェクトがゾーン内に留まることを許容する秒数を指定します。
  • 条件が満たされたときに実行するタスクを追加します。

注:滞在検出器はコーナーチェックとオーバーレイのようなオブジェクト認識設定を使用します

カスタムイベントの追加

プリセットされたイベントを超えて、タスクを追加することでカスタムイベントを作成できます。タスクが作成されると、イベントリストに表示されます。その後、このタスクに応答するためのアクションを設定できます。タスクは、UIのライブページからトリガーすることができます(カメラを選択し、左下のタスクアイコンをクリックする)またはスケジュールで見つかるアクション:実行コマンドを介してトリガーすることができます。

カスタムタスク

タスクは、デバイスにアタッチできるコマンドで、手動でアクションをトリガーすることができます。アクションは、ドアを開けたり、ライトを点灯させたり、音を再生するなどのタスクを実行するために、サードパーティのAPIを呼び出すことができます。タスクを追加、削除、実行するには、ライブページでデバイスを選択し、タスクアイコン をクリックします。

タスクの設定方法:

  • タスクを説明するためのテキストを入力し、「+」ボタンをクリックします。OKをクリックします。
  • 編集アイコン を使用してデバイスを編集します。右上のメニューでエディタのアクションパネルを選択します。
  • アクションを追加します。条件として、先ほど作成したタスクを選択します(タスクは利用可能なアクションのリストの一番下に表示されます)その後、タスクが行う内容を設定します。
  • OKをクリックします。
  • ライブビューからこのアクションを手動でトリガーするには、タスクボタンをクリックし、タスクの横にあるGo矢印ボタンをクリックします。

また、Agent DVR APIを介してタスクをトリガーすることもできます。

利用可能なタスク

タスクはイベントが発生したときにアクションが実行する処理であり、メール警告やプッシュ通知の送信から他のデバイスの録画制御まで行います。実行可能なタスク(次にの下)のリストは以下の通りです:

  • 警告 - デバイスに警告をトリガーします
  • ビープ - Agent DVRコンピューターのスピーカーからビープ音を再生します
  • URLを呼び出す - 認証トークン(オプション)を使用してURLを呼び出します。ここでAgent DVR APIを呼び出すか、Discord、Slack、ntfy、およびその他のサービスに警告を送信できます(ウェブフックを参照)。サーバー設定でProtect APIをチェックしている場合は、認可ヘッダーを提供する必要があります。これを行うには、サーバー設定を通じてユーザーアカウントを追加し、基本認証ヘッダー値を入力する必要があります:
BASIC YWRtaW46YWRtaW4=
  • コマンドを実行
またコマンドも参照してください
独自のコマンド/スクリプトを追加するには、.batまたは.shファイルをコマンドディレクトリに追加できます。その後、パラメーターをバッチファイルに渡すことができます。例えば、すべての写真をDドライブのルートにコピーするには:

以下を含むプレーンテキストファイルを作成します:

copy %1 D:\

copyPhoto.batとして保存します(Linuxでは.shを使用します - chmod +xを使用してこのファイルを実行可能にする必要があります) Agent/Commandsに
その後、アクションを追加します:
条件: "写真撮影"
タスク: "コマンドを実行"
ファイル: copyPhoto
パラメーター: "{FILENAME}"

  • 現在の録画をクラウドにアップロード - 現在の録画をデバイスのクラウドプロバイダーにアップロードします
  • 遅延 - 次のタスクを実行する前に一時停止します
  • Ask AIを有効/無効にする
  • 顔認識を有効/無効にする
  • LPRを有効/無効にする
  • 物体認識を有効/無効にする
  • パトロールを有効/無効にする(デバイスのPTZパトロール)
  • 音声認識を有効/無効にする
  • FTPに現在の録画をアップロード - 現在の録画をデバイスのFTPサーバーにアップロードします
  • ログ - Agent DVRログにメッセージを書き込みます
  • MQTT - MQTTメッセージを送信します
  • MQTTイメージ - 生のライブイメージをJPEGバイトとしてトピックに送信します
  • ネットワークメッセージ
  • PTZコマンド - カメラをプリセットに移動するかPTZコマンドを実行します
  • メールを送信(イメージ添付ファイル付き(オプション))
  • ビデオ付きメールを送信(期間を指定 - これはイベントのバッファを含みます)。v4.9.8.0以降
  • プッシュ通知を送信
  • SMSを送信
  • モーション検知エリアを設定(検知器で定義したエリアを選択)
  • メッセージを表示 - ウェブブラウザーに表示されるメッセージ
  • 音(Agent DVRコンピューター上)
  • 音(カメラ経由)
  • 音(ウェブブラウザー経由)
ブラウザーセキュリティのため、これはウェブページとの対話が必要です(例:何かをクリックするなど)。Chromeでこれを回避するにはchrome://settings/content/soundに移動し、サーバーのアドレス(またはリモートポータルを使用している場合は当社のウェブサイト)を許可リストに追加します。
  • 記録を開始(特定のデバイス上) - 停止されるまで記録します。
  • RTMPストリーミングを開始
  • タイムラプスを開始(特定のデバイス上)
  • 記録を停止(特定のデバイス上)
  • RTMPストリーミングを停止
  • タイムラプスを停止(特定のデバイス上)
  • Switch Device On
  • Switch Device Off
  • システム: プロフィールを適用 - プロフィールを切り替えます
  • システム: アーム
  • システム: ディスアーム
  • タグ記録 - 現在の記録にタグを追加します
  • 写真を撮影(特定のデバイス上)
  • テキスト音声変換(Agent DVRコンピューター上 - テキストはウェブサービス呼び出しを通じてレンダリングされるため、iSpyConnect.comアカウントが必要です)
  • テキスト音声変換(ウェブブラウザー経由)
ブラウザーセキュリティのため、これはウェブページとの対話が必要です(例:何かをクリックするなど)
  • テキスト音声変換(カメラ経由)
  • 適応エンコードをトリガー(別のデバイス上)
  • 警告をトリガー(別のデバイス上)
  • Ask AIをトリガー(別のデバイス上)
  • 音声認識をトリガー(別のデバイス上)
  • Trigger Detect On (別のデバイス)
  • Trigger Face Recognition (別のデバイス)
  • Trigger LPR (別のデバイス)
  • Trigger Object Recognition (別のデバイス)
  • Trigger Recording (タイムアウト付き) (別のデバイス)。Recording タブのトリガー記録タイムアウト設定までを記録します。このタイムアウトはトリガー記録アクション呼び出しのたびにリセットされます。
  • UI: Change View - 接続されている UI を別のビューに切り替える

タグの使用

Agent DVRのアクションのThenフィールドのタグを使用すると、動的なレスポンスを作成できます。重要な点は、一部のタグはコンテキスト固有であることです。例えば、{FILENAME}はAlert Eventsでは利用できず、{AI}はイベントがAIサーバーによって生成されなかった場合は利用できません。

  • {ID}: オブジェクトID。Agentでカメラまたはマイクを編集する際、エディタの左上に表示されます。
  • {OT}: オブジェクトタイプID。マイクの場合は1、カメラの場合は2です。
  • {FILENAME}: ファイル名。Recording Started、Recording Finished、Snapshot Takenなどのイベントに適用されます。ファイルへの完全なローカルパスです。
  • {CURRENT_RECORDING}: 現在の録画ファイル名。ファイルへの完全なローカルパスです。(v5.0.6.0+)
  • {MESSAGE}: アクションをトリガーしたイベントの名前。例えば「Manual Alert」。
  • {EVENT}: イベントタイプ。
  • {NAME}: デバイスの名前(General タブに記載)。
  • {GROUPS}: デバイスが属するグループ(General タブに記載)。
  • {SERVER}: サーバー名(Server Settingsより)。
  • {ALERTID}: アラートのID(関連するアラートがない場合は-1)。
  • {ALERTCOUNT}: デバイスのアラートカウント。
  • {TIME}と{DATE}: サーバーの現在時刻と日付。
  • {RECORDED}: デバイスが録画中の場合は「REC」、そうでない場合は空白。
  • {TAGS}: イベントに関連付けられたタグ。
  • {PLUGIN}: プラグインイベントからのメッセージ。
  • {LOCATION}: カメラの場所(General タブに記載)。
  • {LEVEL}と{DB}: モーションまたはオーディオレベル。{DB}はオーディオデバイスのデシベルレベル。アクション実行時に測定されます。(v4.3.7.0+)
  • {AI}: AIから検出されたオブジェクト、LPRからのプレート、またはFacial Recognitionから検出された顔のカンマ区切りリスト。
  • {AIJSON}: AIまたはLPRから返されたJSONデータ。
  • {ZONE}: アクションをトリガーしたゾーン(AIを使用していない場合は空白、または複数ゾーンの場合は1,2,3などのCSVリスト)。
  • {BASE64IMAGE}: ライブ画像データURL。raw base64エンコードバイトなので、例えば
    p=data:image/jpeg;base64,{BASE64IMAGE}
    のように必要に応じてフォーマットしてください(v4.5.9.0+以降で利用可能)。ライブ画像は幅640pxにリサイズされます。
  • {BASE64IMAGE-LG}: ライブ画像データURL。raw base64エンコードバイトなので、例えば
    p=data:image/jpeg;base64,{BASE64IMAGE-LG}
    のように必要に応じてフォーマットしてください(v6.0.8.0+以降で利用可能)。ライブ画像は幅1280pxにリサイズされます。
  • {BASE64IMAGE-NATIVE}: ライブ画像データURL。raw base64エンコードバイトなので、例えば
    p=data:image/jpeg;base64,{BASE64IMAGE-NATIVE}
    のように必要に応じてフォーマットしてください(v6.0.8.0+以降で利用可能)。ネイティブライブ画像。

例えば、AI: Face Recognizedというイベントで、ThenタスクText to Speechのテキストが

Hello {AI}
の場合、認識された各ユーザーを名前で挨拶します。

注: {BASE64IMAGE}タグを「Photo Taken」のようなファイル関連イベントで使用する場合、ファイルからの実寸画像が使用されます。それ以外の場合は現在のライブビュー画像がリサイズされます。

循環ルートを避けるため、アクションのアラートトリガーに注意してください。例えば、カメラ1のアラートがカメラ2のアラートをトリガーし、次にカメラ2がカメラ1のアラートをトリガーするような場合です。

アクションを追加すると、テーブルコントロールはアクションの概要を表示します。緑のチェックマークはアクティブなアクションを示します。

Example Action Table

アクションを有効/無効にしたり、アクションをトリガーしたりするには、schedulerを使用できます。例えば、特定の時刻に2つの画像を含むメールを送信するようにアクションをスケジュールできます。

Schedule Actions

この例では、2つの画像を含むメール送信のアクションを追加し、Noneイベントに設定しました。その後、日曜日と土曜日の午前8時にそのアクションを実行するスケジュール項目を作成しました。