設定: アクション

について

Agent DVRのアクションは、カメラ/AIアラートやデバイスの切断などの特定のイベントへの応答です。アラームを鳴らす、スマートプラグのURLで照明をオンにする、別のカメラで録画を開始するなど、自動的に応答するために使用します。アクションにアクセスして構成するには、デバイスを編集し、メニューのアクションセクションに移動します。

[追加]をクリックして新しいアクションを作成します。以下の画像のような構成画面が表示されます。

AI Actions Interface
AI Task Interface

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

アクションの構成

  • アクティブ: これを切り替えてアクションをアクティブまたは非アクティブにします。または、スケジュールAPIを使用して、actionOn、actionOff、actionRunなどのコマンドを実行し、上記のIDを使用することもできます。
  • 名前: アクションのオプション名。
  • 条件: 利用可能なイベントを選択します(以下を参照)。
  • タグ付き: (AIイベント)。主にAIイベントで使用されます。たとえば、AI: オブジェクトを検出したを選択して、ここにcatと入力すると、猫が検出された場合にのみアクションがトリガーされます。タグの照合は、サーバー設定 - 一般設定で選択された言語に基づきます。
  • ルール: 複数のタグがすべて一致する必要があるか(AND)、どれかが一致できるか(OR)かを選択します。
  • ゾーン内: (AIイベント)。モーション検知タブからモーションゾーンを指定して、検出されたオブジェクトをフィルターします。たとえば、ゾーン1catをタグとして選択すると、ゾーン1で猫が検出された場合にのみアクションがトリガーされます。すべてのゾーンを含めるには空白のままにします。
  • 繰り返しタイムアウト: このイベントがこの間隔内で発生している場合はそれを抑制し、タイマーもリセットします。たとえば、トリガーが「車両検知」で、タイムアウトが30秒の場合、アラートは1回送信され、検出された交通に30秒のギャップがあるまで、その後のアラートは一時停止されます。
  • タスクの追加: クリックしてタスクを追加します。1つのアクションに複数のタスクを割り当てることができます(v4.5.5.0以上)。

利用可能なアクション

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

  • AI サーバーが停止しています (AI サーバーがエラーを返しています - リクエストが 3 回失敗した後、イベントが発火し、サーバーがオンラインに戻るまで再度発火しません)
  • AI サーバー稼働中 (AI サーバーがエラー状態から脱出しました)
  • AI: AI の肯定的な結果 (探していたオブジェクトが見つかりました)
  • AI: AI の結果 (肯定的か否定的かを問わず、AI に質問した場合のレスポンスで発火します)
  • AI: 記述レスポンスを受信しました (AI によって画像が説明されました - 説明は {MESSAGE} および {AIJSON} タグに記載されています)
  • AI: 顔を認識しました
  • AI: 顔が認識されませんでした
  • AI: ナンバープレートを認識しました
  • AI: ナンバープレートが認識されませんでした
  • AI: 滞留検出
  • AI: オブジェクトを検出した
  • AI: オブジェクト未検出
  • AI:音が認識されました (マイクのみ)
  • アラート
  • アラート終了
  • コール URL 応答を受信しました - これは「URL を呼び出す」タスクが実行されたときに取得するレスポンスによってトリガーされ、他のタスクでそれに応答できます。
  • 手動アラート
  • 動きを検知しました
  • 動きが終了しました
  • なし - スケジュールで「アクション: 実行」コマンドを使用して、アクションを自分でトリガーする場合はこれを使用します
  • ONVIF イベント ON - これを使用して、たとえば ONVIF ロジカル状態の更新に基づいて録画を開始・停止できます (モーションセンサーのタイプを ONVIF に設定する必要があります)
  • ONVIF イベント OFF
  • ONVIF イベントを受信しました (カメラからのあらゆる ONVIF イベントで発火します)
  • 写真撮影
  • PTZ プレセットが適用されました
  • 再接続に失敗しました
  • 録画に失敗しました
  • 録画が完了しました
  • 録画を開始しました
  • ソースが切断されました
  • ソースが再接続されました
  • ソースが覆われている/改ざんされている
  • デバイスをオフにする
  • デバイスをオンにする
  • システム: 武装
  • システム: 非武装
  • システム: UI は接続されていません - 最後の UI セッションが閉じられたとき
  • システム: プロファイルを適用しました
  • システム: UI が接続されています - 誰かがブラウザを開いてシステムを表示したとき
  • システム: UI の接続が切断されました - セッションが閉じられたとき (ブラウザが切断されてから約 1 分後に発生します)
  • タイムラプスが開始されました
  • タイムラプスが停止しました

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

ウロウロ歩きの検出

滞留(人物またはオブジェクトが一定期間同じ場所に留まること)を検出するには、以下を構成する必要があります:

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

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

カスタムイベントの追加

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

カスタムタスク

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

タスクを設定する:

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

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

利用可能なタスク

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

  • アラート - デバイスのアラートをトリガーします
  • ビープ音 - Agent DVR コンピューターのスピーカーからビープ音を再生します
  • URL を呼び出し - オプションの認証トークン付きで任意の URL を呼び出します。ここで Agent DVR API を呼び出したり、Discord、Slack、ntfy などのサービスにアラートを送信したりできます(Webhook を参照)。サーバー設定で Protect API をチェックしている場合は、認証ヘッダーを指定する必要があります。これを行うには、サーバー設定から ユーザーアカウント を追加し、Basic 認証ヘッダー値を入力する必要があります:
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 を送信
  • モーション検出エリアを設定(検出器 で定義したエリアを選択)
  • メッセージを表示 - Web ブラウザに表示されているメッセージを表示します
  • 音声(Agent DVR コンピューター上)
  • 音声(カメラ経由)
  • 音声(Webブラウザ経由)
ブラウザセキュリティにより、これは Web ページとの対話が必要です(例:何かをクリック)。Chrome でこの制限を回避するには、chrome://settings/content/sound にアクセスし、サーバーのアドレス(またはリモートポータルを使用している場合は弊社の Web サイト)を許可リストに追加してください。
  • 録画開始条件(特定デバイス) - 停止されるまで録画が続きます
  • RTMP ストリーミングを開始
  • タイムラプス開始条件(特定デバイス)
  • 録画をオンで停止(特定デバイス)
  • RTMP ストリーミングを停止
  • タイムラプス停止条件(特定デバイス)
  • デバイスをオンにする
  • デバイスをオフにする
  • システム:プロファイルの適用 - プロファイル を切り替えます
  • システム:有効化
  • システム:解除する
  • 録画にタグを付ける - 現在の録画にタグを追加します
  • オン時に写真を撮る(特定デバイス)
  • 音声合成(Agent DVR コンピューター上 - iSpyConnect.com アカウントが必要です。テキストは Web サービス呼び出しでレンダリングされます)
  • 音声合成 (Web ブラウザ経由)
ブラウザセキュリティにより、これは Web ページとの対話が必要です(例:何かをクリック)
  • 音声合成 (カメラ経由)
  • トリガー:適応エンコードをオンにする条件(別デバイス)
  • トリガー:アラートを発火する条件(別デバイス)
  • トリガー:Ask AI を実行する条件(別デバイス)
  • トリガー:音声認識を実行する条件(別デバイス)
  • 検出トリガーオン(別のデバイス)
  • 顔認識トリガー(別のデバイス)
  • LPR トリガー(別のデバイス)
  • オブジェクト認識トリガー(別のデバイス)
  • 録画トリガー(タイムアウト付き)(別のデバイス)。これは「録画」タブの録画トリガータイムアウト設定まで録画します。このタイムアウトは、録画トリガーアクションの呼び出しのたびにリセットされます。
  • UI:ビュー切り替え - 接続済みのUIを別のビューに切り替えます

タグの使用

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

  • {ID}: オブジェクト ID。Agent でカメラまたはマイクを編集する場合、エディターの左上に表示されます。
  • {OT}: オブジェクトタイプ ID。マイクの場合は 1、カメラの場合は 2。
  • {FILENAME}: ファイル名。録画を開始しました、録画が完了しました、スナップショットを取得しましたなどのイベントに適用されます。ファイルの完全なローカルパスです。
  • {CURRENT_RECORDING}: 現在の録画のファイル名。ファイルの完全なローカルパス。(v5.0.6.0+)
  • {MESSAGE}: アクションをトリガーしたイベントの名前 (例: 手動アラート)。
  • {EVENT}: イベントタイプ。
  • {NAME}: デバイスの名前 (一般設定タブにあります)。
  • {GROUPS}: デバイスが属しているグループ (一般設定タブにあります)。
  • {SERVER}: サーバー名 (サーバー設定から)。
  • {ALERTID}: アラートの ID (-1 の場合は関連付けられたアラートがありません)。
  • {ALERTCOUNT}: デバイスのアラート数。
  • {TIME} と {DATE}: サーバーの現在の時刻と日付。
  • {RECORDED}: デバイスが録画中の場合は「REC」、それ以外の場合は空白。
  • {TAGS}: イベントに関連付けられたタグ。
  • {PLUGIN}: プラグインイベントからのメッセージ。
  • {LOCATION}: カメラの場所 (一般設定タブにあります)。
  • {LEVEL} と {DB}: モーション検知またはオーディオレベル。{DB}はオーディオデバイスのデシベルレベルです。アクション実行時に測定されます。(v4.3.7.0+)
  • {AI}: AI から検出されたオブジェクト、LPR からのプレート、または 顔認識 から検出された顔のカンマ区切りリスト。
  • {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+で利用可能) ネイティブライブ画像。
  • {TRIPCOUNT}、{TRIPCOUNTLEFT}、{TRIPCOUNTRIGHT}: トリップワイヤー交差カウンター(合計、左、右)は、カメラ上のすべてのトリップワイヤーで合計されています。カメラがトリップワイヤー検出器を使用していない場合は0です。(v7.7.4.0+)
  • {TRIPJSON}: トリップワイヤーカウンターがJSONで、ワイヤーごとの詳細付き。例:
    {"left":3,"right":2,"total":5,"wires":[{"wire":1,"left":3,"right":2,"total":5}]}
    (v7.7.4.0+)

例えば、AI: 顔を認識しましたイベントの場合、次にタスク音声合成 (Text to Speech)とテキスト

Hello {AI}
を使用すると、認識された各人物に名前で挨拶します。

注: 「撮影済み」などのファイル関連イベントで {BASE64IMAGE} タグを使用した場合、ファイルからフルサイズ画像を使用します。それ以外の場合は、現在のライブビュー画像をリサイズします。

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

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

Example Action Table

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

Schedule Actions

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