Agent DVR - プラグイン

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

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

手動でインストールする場合は、問題ありません!プラグインをソースからビルドし、ビルドされた出力を[AgentDVRディレクトリ]/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 のオーディオおよびビデオ処理機能を強化するために追加できる動的なモジュールです。プラグインを使用すると、リアルタイムのエフェクト、オーバーレイ、イベントの発生、およびAgent でのアラートのトリガーを適用して、高度なカスタムアクションを実行できます。

Agent DVRのプラグインを作成するには、.Net Standard 2.0プロジェクトとして開発する必要があります。これは、すべてのプラットフォームで互換性があります。まず、https://github.com/ispysoftware/AgentDVR-Pluginsでオープンソースのプラグインをクローンしてください。ビルドするには、最新バージョンのVisual Studioが必要です。

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

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


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

構成: Agentは、設定の保存とレンダリングにXML、XSD、およびJSONを組み合わせて使用します。config.xsdファイルを編集するには、Visual StudioのXML(テキスト)エディターをエンコーディング付きで使用します。必要なフィールドを追加した後、xsdファイルのディレクトリでC:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\xsd.exe /c config.xsdコマンドを使用してC#クラスファイルを生成します。

Agentの設定のレンダリングとXMLの更新は.jsonファイルに依存しています。UI表示のためにjsonディレクトリのconfig_en.jsonを編集します。ここでは、タブとしてレンダリングされる複数のセクションを追加できます。jsonのキー「bindto」フィールドは、config XMLのフィールドにリンクします。Agentは、コントロールのレンダリング、設定の保存、および更新を自動化します。

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

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

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

モーション/アラート処理: デモプラグインの'ProcessEvent'メソッドを利用して、モーションまたはアラート時にフレームを処理します。これにより、これらのイベント中のみフレーム処理が行われます。

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

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

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

配布: クールで便利なプラグインを作成しましたか?それを共有してコミュニティに貢献しましょう!

ドキュメント
フィルターが適用されました