Agent DVR - 插件

安裝插件

安裝插件的最簡單方法是通過遠程網絡門戶。連接後,點擊左上角的服務器圖標,然後在“系統”下導航到“插件”。在這裡,您可以從右上角的下拉菜單中選擇要使用的插件,然後點擊“安裝”開始使用。

偏好手動安裝?沒問題!您可以從源代碼 構建插件,然後將構建的輸出複製到[AgentDVR目錄]/Plugins/PLUGINNAME。這種方法可以讓您更好地控制安裝過程。

可用插件

Agent DVR擁有先進的視頻處理功能,如CodeProject AI集成,以及高級物體跟踪、音頻識別和計數檢測器。為了進一步提升您的體驗,我們提供了一系列插件,您可以在AgentDVR中使用以擴展其功能。

插件列表

條碼
從攝影機掃描幾乎任何條碼(僅限Windows)。

觸發事件:已識別條碼
支援:視頻

截圖
增益
對來自音頻設備的音頻應用實時頻帶濾波器。

觸發事件:無
支援:音頻

截圖
實時延遲
對實時音頻和視頻添加延遲(用於體育分析很有用)。

觸發事件:無
支援:視頻,音頻

截圖
天氣
根據您的位置,在實時視頻上添加天氣狀態覆蓋。如果天氣變化(例如即將來臨的風暴或超過風力或溫度限制),則觸發事件。您可以自定義天氣數據的佈局和顯示模式,從僅有圖標到完整詳細信息。
天氣配置使用格式字符串來佈局信息。以下是一些可用的示例格式字符串:

完整信息:

{icon}{main}:{description} 
 風力:{wind} 陣風:{gust} 
 溫度:{temp} 體感溫度:{feelsLike} 
 濕度:{humidity} UVI:{uvi}

僅圖標:

{icon}

單行顯示:

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

觸發事件:高溫,陣風,狀態
支援:視頻

截圖
如果您正在使用像Listen這樣的音頻插件在攝影機上,您需要編輯攝影機,選擇音頻標籤,並點擊配置麥克風。然後,您可以從那裡訪問音頻設備的插件標籤。或者,您可以點擊服務器圖標,編輯設備,並從該列表中編輯麥克風。

配置插件

準備好利用插件的功能了嗎?只需添加設備(攝像機和/或麥克風),然後進入其編輯設置。在右上角的下拉菜單中尋找「插件」選項卡。在這裡,您可以選擇所需的插件,並點擊「...」按鈕將其配置為符合您的需求。

一些插件會觸發事件,您可以將動作附加到這些事件上。例如,天氣插件在突風超過指定值時(可在插件中配置)會觸發「Gust」事件。編輯攝像機並轉到「動作」選項卡,您可以選擇如何回應此事件-例如,響起警報或開始錄製。只需在「如果」選擇框中選擇插件名稱:事件-即「天氣: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(文本)編輯器進行編輯,並設置編碼。在添加必要字段後,使用命令 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\xsd.exe /c config.xsd 在 xsd 文件目錄中生成 C# 類文件。

Agent 的配置渲染和 XML 更新依賴於 .json 文件。編輯 json 目錄中的 config_en.json 文件以進行 UI 顯示,您可以添加多個作為選項卡呈現的部分。json 中的 'bindto' 鍵字段與配置 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" eventName 的 Result 來觸發警報或檢測事件。使用 'tag' eventName 為正在進行的錄像標記,並根據需要設置標記。

API 調用: Agent 使用設備信息和本地服務器端口初始化插件,這對於設備的 API 命令非常有用。屬性 AppDataPath 和 AppPath 也用於顯示或文件保存位置。

分發: 創建了一個很酷或有用的插件?與我們分享,並為社區做出貢獻!

文件
應用篩選器