Skip to content

摄像头自动追踪 ​

支持 ONVIF 协议且具备 PTZ(云台变焦)功能的摄像头,如果支持视野(FOV)内相对移动,可以配置为自动追踪移动目标并将其保持在画面中央。

自动追踪示例(含变焦)

自动追踪行为 ​

当 Frigate 确认目标不是误报且已进入指定区域后,自动追踪器会移动 PTZ 摄像头将目标保持在画面中央,直到目标移出画面、PTZ 无法继续移动或 Frigate 丢失追踪目标。

丢失追踪后,Frigate 会在目标消失区域扫描timeout秒。如果发现同类型目标,Frigate 会继续追踪该新目标。

追踪结束后,摄像头会返回配置中return_preset指定的预设位置。

检查 ONVIF 摄像头支持 ​

Frigate 自动追踪功能需要 PTZ 摄像头支持视野内相对移动(符合ONVIF 规范中的RelativePanTiltTranslationSpace和TranslationSpaceFov条目)。

许多廉价或老旧 PTZ 可能不支持此标准。如果你的 PTZ 不支持,Frigate 会在日志中报告错误并禁用自动追踪功能。

在 ONVIF 兼容产品数据库的 FeatureList(功能列表)​ 中,可以初步判断某款摄像头是否兼容 Frigate 的自动跟踪功能。请查看该摄像头是否列出了 PTZRelative、PTZRelativePanTilt以及PTZRelativeZoom这些功能项。这些功能是实现自动跟踪所必需的。不过需要注意的是,有些摄像头虽然声称支持,实际仍可能无法正常响应。

你可以在这里查看用户反馈的支持 Frigate 自动追踪的摄像头品牌和型号列表。

配置方法 ​

首先在摄像头固件中设置 PTZ 预设位置并命名。如果不确定如何操作,请参考摄像头厂商的固件文档。常见品牌教程:Amcrest、Reolink、Dahua。

编辑 Frigate 配置文件,填写摄像头的 ONVIF 参数。指定要追踪的目标类型、触发自动追踪的必需区域,以及追踪结束后返回的预设位置名称。可选配置追踪结束前的延迟时间(秒)。

自动追踪功能需要ONVIF 连接。建议为摄像头时间戳和任何叠加文本设置画面变动遮罩,确保摄像头移动时这些区域完全排除在场景变化计算之外。

注意autotracking默认禁用,可通过配置文件或 MQTT 启用。

在摄像头配置的 ONVIF 部分,自动追踪 分组中开启自动追踪,并配置追踪目标、必需区域与返回预设。

步骤 1 / 8打开设置
设置

ONVIF

此摄像头的 ONVIF 连接和 PTZ 自动追踪设置。

阅读文档
ONVIF 主机

此摄像头 ONVIF 服务的主机(和可选协议)。

ONVIF 端口

ONVIF 服务的端口号。

ONVIF 用户名

ONVIF 身份验证的用户名;某些设备需要管理员用户才能使用 ONVIF。

ONVIF 密码

ONVIF 身份验证的密码。

ONVIF 配置文件

用于 PTZ 控制的指定 ONVIF 媒体配置,将通过 Token 或名称匹配。如果未手动指定,将自动选择第一个包含有效 PTZ 配置的媒体配置。

开启自动追踪

启用或禁用检测目标的自动 PTZ 摄像头追踪。

高级设置 (2)

校准流程 ​

PTZ 电机运行速度各不相同。执行校准会让 Frigate 测量各种移动的速度,用这些测量值更好地预测保持自动追踪目标在画面中央所需的移动量。

校准是可选的,但能极大帮助 Frigate 追踪在摄像头视野中快速移动的目标。

开始校准:将摄像头配置中的calibrate_on_startup设为True并重启 Frigate。Frigate 会让摄像头进行一系列小幅和大幅移动。校准过程中请勿手动移动 PTZ。完成后,摄像头移动将停止,配置文件会自动更新movement_weights参数用于移动计算。请勿手动修改此参数。

校准结束后,PTZ 会移动到return_preset指定的预设位置。

NOTE

校准过程中 Frigate 网页界面和其他摄像头将无响应。这是正常现象,以避免校准时产生过多网络流量或 CPU 使用。大多数 PTZ 校准约需两分钟。Frigate 日志会显示校准进度和任何错误。

此时 Frigate 会继续运行,并在 PTZ 自动追踪移动时不断获取测量值,自动更新配置文件中的movement_weights参数。

重启 Frigate 前,应将配置文件中的calibrate_on_startup设为False,否则你优化后的movement_weights会被覆盖,再次启动时会重新校准。

如需重新校准,可删除movement_weights参数,将calibrate_on_startup设为True后重启 Frigate。如果自动追踪不稳定,可能需要重新校准或完全删除配置中的movement_weights。如果更改了return_preset或摄像头的检测fps值,也建议重新校准。

如果初始校准时禁用变焦,之后启用变焦,也应重新校准。

最佳实践与注意事项 ​

每款 PTZ 摄像头都不同,自动追踪可能无法在所有情况下理想工作。此实验性功能最初基于 EmpireTech/Dahua SD1A404XB-GNR 开发。

Frigate 中的目标追踪器会估算 PTZ 移动,在摄像头移动时保持追踪目标。大多数情况下 5fps 足够,但如需追踪更快移动的目标,可适当提高帧率。过高帧率(>10fps)会拖慢 Frigate 和运动估算器,可能导致丢帧,特别是使用实验性变焦功能时。

建议使用较快的检测器。CPU 检测器性能不佳或完全无法工作。可通过 Frigate 的调试视图查看当前自动追踪目标周围较厚的彩色边框。

自动追踪调试视图

不建议在required_zones中使用全画面区域,特别是摄像头已校准且配置中包含movement_weights时。Frigate 会持续追踪已进入required_zones的目标,即使它移出该区域。

部分用户发现调整区域inertia值有帮助。详见配置参考。

变焦功能 ​

变焦是非常实验性的功能,追踪目标时可能比仅平移/倾斜消耗更多 CPU 资源。

绝对变焦使变焦移动独立于平移/倾斜移动。多数 PTZ 摄像头支持绝对变焦。绝对变焦设计保守,以适应各种摄像头和场景。绝对变焦通常只在目标停止或缓慢移动时进行。

相对变焦尝试在平移/倾斜移动同时进行变焦。测试适用于部分 Dahua 和 Amcrest PTZ。但 ONVIF 规范指出,使用相对变焦时,通用变焦范围如何映射到放大倍数、视野或其他物理变焦尺寸没有标准。如果相对变焦行为不稳定或无效,请尝试绝对变焦。

可在配置文件中调整摄像头的zoom_factor参数。较低值会在追踪目标周围保留更多场景空间,较高值会让摄像头更大程度放大目标。但请注意,Frigate 需要追踪目标边界框外足够多的像素和场景细节来估算摄像头移动。如果目标占据画面过大,Frigate 将无法估算摄像头移动而丢失目标。

此参数范围 0.1 到 0.75。默认值 0.3 较为保守,适合多数用户。由于每款 PTZ 和场景不同,你应实验确定最佳值。

应用场景 ​

安防监控中,常将"观察"摄像头与 PTZ 配合使用。当固定观察摄像头检测到目标时,可通过 Home Assistant 等自动化平台将 PTZ 移动到特定预设位置,使 Frigate 开始自动追踪。例如:住宅东西两侧安装固定摄像头监控街道,当西侧观察摄像头检测到人员时,Home Assistant 自动化可将 PTZ 转向西方预设位置。目标进入指定区域后,Frigate 自动追踪器可继续追踪离开固定摄像头视野的人员。

故障排除与常见问题 ​

摄像头兼容性 ​

我应该使用哪款 PTZ 摄像头进行自动追踪?
自动追踪支持 Reolink PTZ 摄像头吗?
日志显示摄像头"仍处于 ONVIF 'MOVING' 状态"错误,什么意思?
校准似乎已完成,但摄像头未实际追踪目标,为什么?

校准问题 ​

尝试校准摄像头,但日志显示卡在 0% 且 Frigate 无法启动
Frigate 报告校准失败错误,为什么?
自动追踪不稳定、将摄像头移向错误方向或变焦越过目标,为什么?

追踪行为 ​

自动追踪丢失目标,为什么?
日志显示 "Autotracker: motion estimator couldn't get transformations",什么意思?
为什么摄像头移动时目标检测会短暂暂停?
我可以自动开关自动追踪吗?