关于 Agent DVR: 插件

安装插件

插件是可选的附加模块,通过条形码扫描、天气叠加层和音频滤波器等额外的音频和视频处理功能扩展 Agent DVR。

安装插件的最简单方法是通过远程网络门户。连接后,点击右上角的服务器图标并导航到系统下的"插件"。在这里,您可以从右上角的下拉菜单中选择您想使用的插件,然后点击"安装"开始。

更喜欢手动安装?没问题!您可以从源代码构建插件 ,然后将构建的输出复制到 Agent/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),您需要编辑摄像头,选择"音频"选项卡,然后点击配置麦克风。从那里,您可以访问音频设备的"插件"选项卡。或者,您可以点击服务器图标,编辑设备并从该列表中编辑麦克风。

配置插件

准备好利用插件的强大功能了吗?只需添加一个设备(摄像头和/或麦克风)并进入其编辑设置。在右上角的下拉菜单中查找"插件"标签。在这里,您可以选择所需的插件,并点击"..."按钮将其配置为符合您的需求。

某些插件会触发事件,您可以为其附加操作。例如,"天气"插件会在阵风超过指定值时触发"阵风"事件(可在插件中配置)。编辑摄像头并导航到"操作"标签可为您提供响应选项 - 例如发出警报器声音或启动录制。只需在"时间"选择框中选择插件名称:事件(例如"天气:阵风"),然后分配一个操作。

创建您自己的插件

插件是可以添加到 Agent DVR 的动态模块,用于增强其音频和视频处理功能。使用插件,您可以在 Agent DVR 中应用实时效果、叠加层、触发事件和警报,实现高级自定义操作。

要开始为 Agent DVR 创建插件,请从克隆我们的开源插件开始,地址为 https://github.com/ispysoftware/AgentDVR-Plugins。您需要最新版本的 Visual Studio 来构建它们。

我们建议以演示插件作为基础开始。确保安装了最新版本的 Agent。构建演示插件后,将输出文件夹中的所有文件复制到 Agent\Plugins\Demo\。重启 Agent DVR,编辑摄像头,然后转到"插件"标签页。启用插件,从下拉菜单中选择"Demo",然后单击"..."按钮进行配置。

演示插件完全跨平台兼容,展示了您可以使用插件构建的广泛功能。它包括实时视频效果、图形叠加层、实时音量控制,以及与 Agent DVR 事件子系统的集成。插件菜单提供了有关各种输入控件如何操作的见解。


开发者的插件注意事项:

配置:Agent DVR 使用 JSON 和类文件来存储设置。要配置设置,请编辑 config.cs 文件。

Agent DVR 的配置呈现依赖于 .json 文件。在 json 目录中编辑 config_en.json 以进行 UI 显示,您可以添加多个部分,作为标签页呈现。json 中的"bindto"键字段链接到配置字段。Agent DVR 自动处理控件呈现、设置存储和更新。

在 json 条目中添加 "live": true 可启用立即更新,无需等待确定按钮单击,这对于实时调优很有用。"converter"字段利用 Utils.cs 中的"PopulateResponse"进行值格式化。

媒体支持:选择处理"视频"、"音频"或两者。Main.cs 中的"Supports"字段可以硬编码。

连续处理:来自设备的每个视频和音频帧都被发送到插件进行分析或处理,如演示中所示。

移动侦测/警报处理:通过利用演示插件中的"ProcessEvent"方法在移动侦测或警报时处理帧。这允许仅在这些事件期间处理帧。

自定义事件:插件中的"GetCustomEvents"方法应返回它生成的自定义事件列表。这些事件随后出现在 Agent DVR 用户界面"操作"中的"如果"列表下。使用"结果"项触发这些事件,指定操作名称和可选的 MSG、Tag、Filename 和 AIJSON。

警报、检测和标记:通过添加带有"alert"或"detect"eventName 的结果来触发警报或检测事件。使用"tag"eventName 标记正在进行的录像文件,并根据需要设置标记。

API 调用:Agent DVR 使用设备信息和本地服务器端口初始化插件,这对于设备的 API 命令很有用。还设置了 AppDataPath 和 AppPath 属性,用于显示或文件保存位置。

分发:创建了一个很酷或有用的插件?与我们分享并为社区做出贡献!