Agent DVR: プラグイン

プラグインのインストール

プラグインをインストールする最も簡単な方法は、リモートウェブポータルを介して行うことです。接続したら、左上のサーバーアイコンをクリックし、システムの下にある「プラグイン」に移動します。ここでは、右上のドロップダウンメニューから使用するプラグインを選択し、「インストール」をクリックして開始します。

手動でインストールする場合は、問題ありません!プラグインをソースからビルドし、ビルドされた出力をAgent/Plugins/PLUGINNAMEにコピーすることができます。この方法では、インストールプロセスをより細かく制御できます。

利用可能なプラグイン

Agent DVRには、CodeProject AI統合や高度なオブジェクト追跡、音声認識、カウント検出器などの高度なビデオ処理機能が搭載されています。さらに、AgentDVRで使用できるさまざまなプラグインを提供しており、機能を拡張することができます。

プラグインリスト

バーコード
カメラからほぼすべてのバーコードをスキャンします(Windowsのみ)。

発生するイベント:バーコードが認識されました
サポート:ビデオ

スクリーンショット
ゲイン
オーディオデバイスからのオーディオにライブバンドフィルタを適用します。

発生するイベント:なし
サポート:オーディオ

スクリーンショット
ライブディレイ
ライブオーディオとビデオに遅延を追加します(スポーツ解析に便利)。

発生するイベント:なし
サポート:ビデオ、オーディオ

スクリーンショット
天気
場所に基づいてライブビデオに天気の状態オーバーレイを追加します。天候が変化した場合、例えば嵐が来た場合や風速や温度制限が超過した場合にイベントを発生させます。天気データのレイアウトと表示モードをアイコンから詳細までカスタマイズできます。
天気の設定は、情報をレイアウトするためのフォーマット文字列を使用します。以下に使用できるいくつかの例のフォーマット文字列を示します:

詳細情報:

{icon}{main}: {description} 
 風速:{wind} ガスト:{gust} 
 温度:{temp} 体感温度:{feelsLike} 
 湿度:{humidity} UVI:{uvi}

アイコンのみ:

{icon}

1行表示:

{main} {wind} {temp} {humidity} UVI:{uvi}

発生するイベント:高温、ガスト、ステータス
サポート:ビデオ

スクリーンショット
カメラでListenなどのオーディオプラグインを使用している場合は、カメラを編集し、オーディオタブを選択してマイクの設定をクリックする必要があります。そこからオーディオデバイスのプラグインタブにアクセスできます。または、サーバーアイコンをクリックして、デバイスの編集をクリックし、そのリストからマイクを編集することもできます。

プラグインの設定

プラグインのパワーを活用する準備はできましたか?単にデバイス(カメラと/またはマイク)を追加し、その編集設定に移動してください。右上のドロップダウンメニューで「プラグイン」タブを探してください。ここでは、必要なプラグインを選択し、「...」ボタンをクリックして必要に応じて設定することができます。

一部のプラグインは、アクションをアタッチできるイベントを発生させます。例えば、Weatherプラグインは、指定された値(プラグインで設定可能)を超える強風が吹いた場合にGustイベントを発生させます。カメラの編集画面に移動し、アクションタブに移動すると、これに対応するオプションが表示されます。例えば、アラームを鳴らすか録画を開始するなどの応答方法があります。単にプラグイン名:イベント(例:Weather: Gust)を「もし」の選択ボックスに選択し、アクションを割り当ててください。

プラグインを作成します

プラグインは、Agent DVR のオーディオおよびビデオ処理機能を強化するために追加できる動的モジュールです。プラグインを使用すると、Agent DVR でリアルタイムのエフェクトを適用したり、オーバーレイを追加したり、イベントを発生させたり、アラートをトリガーしたりして、高度なカスタムアクションを実行できます。

Agent DVR のプラグインを作成するには、最初にhttps://github.com/ispysoftware/AgentDVR-Pluginsで当社のオープンソースプラグインをクローンしてください。これらをビルドするには、Visual Studio の最新バージョンが必要です。

デモプラグインをベースにして開始することをお勧めします。最新バージョンのAgentがインストールされていることを確認してください。デモプラグインをビルドした後、出力フォルダからすべてのファイルを Agent\Plugins\Demo\ にコピーします。Agent DVR を再起動し、カメラを編集して、プラグインタブに移動します。プラグインを有効にし、ドロップダウンから デモ を選択し、「...」ボタンをクリックして構成します。

デモプラグインは完全にクロスプラットフォーム互換性があり、プラグインで構築できる幅広い機能を紹介しています。ライブビデオエフェクト、グラフィックオーバーレイ、ライブ音量制御、Agent DVR のイベントサブシステムとの統合が含まれています。プラグインメニューは、さまざまな入力コントロールがどのように動作するかについての洞察を提供します。


開発者向けプラグインノート:

設定: Agent DVRは設定の保存にJSONとクラスファイルを使用します。設定を構成するには、config.csファイルを編集してください。

Agent DVRの設定レンダリングは.jsonファイルに依存しています。UI表示のために、jsonディレクトリ内のconfig_en.jsonを編集し、複数のセクションをタブとしてレンダリングできます。JSON内の 'bindto' フィールドは設定フィールドにリンクします。Agent DVRは制御レンダリング、設定の保存、および更新を自動化しています。

JSONエントリに"live": trueを追加すると、OKボタンのクリックを待たずに即座の更新が可能になります。これはライブチューニングに最適です。 'converter' フィールドは、値のフォーマットに 'Utils.cs' の 'PopulateResponse' を利用しています。

メディアサポート: "video"、"audio"、または両方を処理するかを選択してください。Main.csの 'Supports' フィールドはハードコーディングできます。

連続処理: デバイスからのすべてのビデオおよびオーディオフレームが解析または処理のためにプラグインに送信されます。これはデモで示されています。

モーション/アラート処理: 'ProcessEvent' メソッドを使用して、モーションやアラート時にフレームを処理します。これにより、これらのイベント中のみフレーム処理が可能になります。

カスタムイベント: プラグイン内の 'GetCustomEvents' メソッドは、生成されるカスタムイベントのリストを返す必要があります。これらのイベントは、Agent DVR UI の 'If' リスト内のアクションの下に表示されます。アクション名とオプションの MSG、Tag、Filename、および AIJSON を指定して、これらのイベントをトリガーします。

アラート、検出、およびタグ: "alert" または "detect" イベント名を持つ Result を追加することで、アラートを発生させたりイベントを検出したりできます。'tag' イベント名を持つ Result を使用して、進行中の録画にタグを付け、必要に応じてタグを設定します。

API コール: Agent DVR は、デバイス情報とローカルサーバーポートを使用してプラグインを初期化し、デバイス用の API コマンドに便利です。プロパティ AppDataPath と AppPath も表示またはファイル保存場所として設定されます。

配布: クールまたは便利なプラグインを作成しましたか? 私たちと共有 して、コミュニティに貢献してください!