关于
Agent DVR 中的操作是对特定事件的响应,如摄像头/AI 警报或设备断开连接。使用它们可以自动响应,例如触发警报、通过智能插座 URL 打开灯或在另一个摄像头上触发录制。要访问和配置操作,请编辑设备并在菜单中导航到操作部分。
点击"添加"创建新操作。您将看到类似于下方图像的配置屏幕:

可以触发操作的事件类型繁多。每个事件可以关联多个操作,您可以在这些操作中加入各种标签来创建动态响应。
配置操作
- 活动状态:切换此项以激活或停用操作。或者,您可以使用计划任务和API,其中包含 actionOn、actionOff 和 actionRun 等命令,使用上面显示的 ID。
- 名称:操作的可选名称。
- 如果:选择一个可用事件(见下文)。
- 带标签:(AI 事件)。这主要与AI 事件一起使用。例如,如果您选择AI:发现对象并在此输入猫,操作将仅在检测到猫时触发。请注意,标签匹配基于服务器设置 - 常规中选择的语言。
- 规则:选择是否必须匹配所有多个标签(与)或任何标签都可以匹配(或)。
- 在区域内:(AI 事件)。指定移动侦测区域(来自移动侦测选项卡)以筛选检测到的对象。例如,选择区域 1 和标签猫,操作将仅在区域 1 中检测到猫时触发。留空以包括所有区域。
- 重复超时:如果事件在此间隔内已被触发,则会抑制该事件,同时重置计时器。例如,将"检测到车辆"作为触发器且超时为 30 秒,警报将发送一次,随后的警报将暂停,直到检测到的交通有 30 秒的间隙。
- 添加任务:点击以添加任务。您可以为一个操作分配多个任务(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 事件开启 - 用此选项例如根据 ONVIF 逻辑状态更新来开始和停止录制(需要将移动探测器类型设置为 ONVIF)
- ONVIF 事件关闭
- 收到 ONVIF 事件(在来自摄像头的任何 ONVIF 事件时触发)
- 已拍照
- 已应用 PTZ 预置位
- 重连失败
- 录制失败
- 录制完成
- 开始录制
- 源已断开连接
- 源已重新连接
- 源被遮挡/篡改
- 关闭设备
- 开启设备
- 系统:已布防
- 系统:已撤防
- 系统:无 UI 连接 - 当最后一个 UI 会话关闭时
- 系统:已应用配置文件
- 系统:UI 已连接 - 当有人打开浏览器查看你的系统时
- 系统:UI 未连接 - 当会话关闭时(浏览器断开连接后大约一分钟时发生)
- 延时摄影已启动
- 延时摄影已停止
你添加的任何插件事件和自定义任务也会出现在此列表的末尾。
检测徘徊
要检测徘徊(人员或物体在一个地点停留一段时间),您需要配置以下内容:
- 在服务器设置中设置一个 AI 服务器
- 为 AI:检测到徘徊行为 添加一个 操作
- 设置您要查找的标签 - 通常为 人,但您也可以使用 汽车 来检测在某个区域停放时间过长的汽车,或使用 手提箱 来检测遗留的行李,或使用 猫叫声 来检测坐在您沙发上的猫。您可以在此处使用多个标签,例如 汽车,公共汽车,卡车。有关可用对象的列表,请参阅在编辑摄像头时对象识别中的类别列表。
- 指定您要在其中查找对象的区域。使用探测器标签页绘制移动侦测区域。
- 指定您可以容忍检测到的对象在区域中停留的秒数。
- 添加任务以在满足条件时执行。
注意:徘徊检测器使用对象识别设置中的设置,如检查角落和叠加层
自定义任务
任务是可以附加到设备的命令,用于手动触发操作。操作可以调用第三方API来执行打开门、打开灯、播放声音等任务。要添加、删除和执行任务,请在直播中页面上选择设备,然后点击任务图标。
设置任务:
- 输入一些文本来描述任务,例如"打开灯",然后点击+按钮。点击确定
- 点击编辑图标来编辑设备。使用右上角的菜单在编辑器中选择操作面板。
- 添加一个操作。将"如果"条件选择为您刚刚创建的任务(任务显示在可用操作列表的底部),然后配置您希望该任务执行的操作。
- 点击确定
- 现在您可以通过点击任务按钮并点击任务旁边的前进箭声按钮,从直播中视图中手动触发此操作。
您也可以通过Agent DVR API触发任务。
可用 任务
任务是当事件触发时操作执行的内容,从发送电子邮件警报或推送通知到控制其他设备上的录制。您可以执行的可用任务列表(在 Then 下)为:
- 警报 - 在设备上触发警报
- 蜂鸣 - 通过 Agent DVR 计算机的扬声器播放蜂鸣音
- 调用 URL - 使用可选的身份验证令牌调用任何 URL。您可以在此处调用 Agent DVR API,或向 Discord、Slack、ntfy 及类似服务发送警报(请参阅 Webhooks)。如果您在服务器设置中选中了 Protect API,您需要提供授权标头。为此,您需要通过服务器设置添加 用户账户并输入基本身份验证标头值:
- 执行命令
要添加您自己的命令/脚本,可以将 .bat 或 .sh 文件添加到"命令"目录。然后可以将参数传递到批处理文件中。例如,要将所有照片复制到 D 盘根目录:
创建包含以下内容的纯文本文件:
copy %1 D:\将其保存为 copyPhoto.bat(在 linux 上使用 .sh - 您需要使用 chmod +x 使此文件可执行)到 Agent/Commands
然后添加操作:
if:「拍摄照片」
then:「执行命令」
文件:copyPhoto
参数:「{FILENAME}」
- 将当前录制上传至云端 - 将当前录制上传到设备的 云提供商
- 延迟 - 在运行下一个任务之前暂停
- 启用/禁用"询问 AI"
- 启用/禁用人脸识别
- 启用/禁用 LPR
- 启用/禁用对象识别
- 启用/禁用巡逻开启功能(设备上的 PTZ 巡逻)
- 启用/禁用声音识别
- 通过 FTP 上传当前录制 - 将当前录制上传到设备的 FTP 服务器
- 日志 - 将消息写入 Agent DVR 日志
- MQTT - 发送 MQTT 消息
- MQTT 图像 - 将原始实时图像以 jpeg 字节形式发送到主题
- 网络消息
- PTZ 命令 - 将摄像机移动到预设位置或运行 PTZ 命令
- 发送电子邮件(带可选的图像附件)
- 带视频发送邮件(指定持续时间 - 这包括事件的 缓冲区)。v4.9.8.0+
- 发送推送通知
- 发送短信
- 设置运动检测区域(选择在 检测器 上定义的区域)
- 显示消息 - 在查看的 Web 浏览器上显示消息
- 声音(在 Agent DVR 计算机上)
- 声音(通过摄像机)
- 声音(通过 Web 浏览器)
- 在...时开始录制(某个设备)- 将持续录制直到停止。
- 开始 RTMP 流传输
- 在...时开始延时摄影(某个设备)
- 在...时停止录制(某个设备)
- 停止 RTMP 流传输
- 在...时停止延时摄影(某个设备)
- 开启设备
- 关闭设备
- 系统:应用配置文件 - 切换 配置文件
- 系统:布防
- 系统:撤防
- 标记录像 - 向当前录制添加标记
- 开启拍照(某个设备)
- 文字转语音(在 Agent DVR 计算机上 - 需要 iSpyConnect.com 账户,因为文本通过网络服务调用呈现)
- 文字转语音 (通过 Web 浏览器)
- 文字转语音 (通过相机)
- 触发自适应编码于(另一个设备)
- 触发警报于(另一个设备)
- 触发询问 AI(另一个设备)
- 触发音频识别(另一个设备)
- 触发检测于(另一设备)
- 触达人脸识别(另一设备)
- 触发车牌识别 (LPR)(另一设备)
- 触发对象识别(另一设备)
- 触发录制(含超时)(另一设备)。此操作将根据"录制"标签页上的触发录制超时时间设置进行录制。每次触发录制操作调用都会重置此超时时间。
- UI:切换视图 - 将已连接的用户界面切换到不同的视图
使用标签
Then 字段中的标签允许您创建动态响应。需要注意的是,某些标签是特定于上下文的。例如,{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 或多个区域的 CSV 列表,例如 1,2,3,则为空)。
- {BASE64IMAGE}: 实时图像数据 URL。它是原始的 base64 编码字节,所以需要根据需要格式化,例如
p=data:image/jpeg;base64,{BASE64IMAGE}(可用 v4.5.9.0+)。实时图像调整大小为 640px 宽。 - {BASE64IMAGE-LG}: 实时图像数据 URL。它是原始的 base64 编码字节,所以需要根据需要格式化,例如
p=data:image/jpeg;base64,{BASE64IMAGE-LG}(可用 v6.0.8.0+)。实时图像调整大小为 1280px 宽。 - {BASE64IMAGE-NATIVE}: 实时图像数据 URL。它是原始的 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:已识别人脸,Then 任务 文字转语音 中的文本
Hello {AI} 将按姓名问候每个识别出的人物。
注意:如果您对文件相关的事件(如"已拍摄照片")使用 {BASE64IMAGE} 标签,它将使用文件中的完整大小图像。否则它将调整当前实时视图图像的大小。
添加操作后,表格控件会显示您的操作摘要。绿色复选标记表示活动操作。
您可以使用 调度器 来启用/禁用操作或触发操作。例如,您可能计划一个操作在特定时间发送带有两张图像的电子邮件。
在此示例中,添加了一个操作以发送带有 2 张图像的电子邮件,设置为"无"事件。然后创建了一个 计划条目 在周日和周六的上午 8 点执行该操作。