配置: 操作

关于

Agent DVR 中的操作是对特定事件的响应,如摄像头/AI 警报或设备断开连接。使用它们可以自动响应,例如触发警报、通过智能插座 URL 打开灯或在另一个摄像头上触发录制。要访问和配置操作,请编辑设备并在菜单中导航到操作部分。

点击"添加"创建新操作。您将看到类似于下方图像的配置屏幕:

AI Actions Interface
AI Task Interface

可以触发操作的事件类型繁多。每个事件可以关联多个操作,您可以在这些操作中加入各种标签来创建动态响应。

配置操作

  • 活动状态:切换此项以激活或停用操作。或者,您可以使用计划任务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,您需要提供授权标头。为此,您需要通过服务器设置添加 用户账户并输入基本身份验证标头值:
BASIC YWRtaW46YWRtaW4=
  • 执行命令
另请参阅 命令
要添加您自己的命令/脚本,可以将 .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 浏览器)
由于浏览器安全性,这需要首先与网页交互(例如点击某些内容)。要在 chrome 中解决此问题,请转到 chrome://settings/content/sound 并将服务器地址(或如果您使用远程门户,则为我们的网站)添加到允许列表。
  • 在...时开始录制(某个设备)- 将持续录制直到停止。
  • 开始 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} 标签,它将使用文件中的完整大小图像。否则它将调整当前实时视图图像的大小。

在操作上触发警报时要谨慎,以避免循环路由,例如摄像头 1 上的警报触发摄像头 2 上的警报,而摄像头 2 上的警报又触发摄像头 1 上的警报。

添加操作后,表格控件会显示您的操作摘要。绿色复选标记表示活动操作。

Example Action Table

您可以使用 调度器 来启用/禁用操作或触发操作。例如,您可能计划一个操作在特定时间发送带有两张图像的电子邮件。

Schedule Actions

在此示例中,添加了一个操作以发送带有 2 张图像的电子邮件,设置为"无"事件。然后创建了一个 计划条目 在周日和周六的上午 8 点执行该操作。