Docker部署AI智能监控安防系统-Frigate
lakeblackshear/frigate 是一个开源项目,主要用于视频监控和物体检测,它结合了机器学习和计算机视觉技术,提供了实时的对象检测和人脸识别功能,适用于家庭安全、监控和自动化等场景。
主要功能如下:
1、可以无缝接入支持ONVIF/RTSP协议的摄像头,实时查看或回放录像,亲可将实时录像保存到NAS本地,实现NAS当NVR的目的;
2、普通摄像头接入后,可以借助frigate的AI功能实现物体检测、分析监控画面并实时提醒,还能划定安全区域等等,让不支持AI的摄像头也能实现智能识别;
3、开源免费,摄像头数量不限,不像品牌NAS的监控套件有数量限制或付费要求,完美平替;
4、可以接入HomeAssistant系统实现智能联动,这个是真的强啊,玩HA智能方案的朋友有福了!
docker部署命令
docker-compose部署
后台管理界面
现在打开浏览器,通过访问你NAS的内网IP地址加5555端口(如果你没修改的话)号即可进入frigate后台了,如下图所示,因为我们还没添加摄像头,所以会提示No frames have been received,遗憾的是frigate目前还没汉化版本,所以是全英文的,不过添加摄像头也不难,下面就来演示一下如何添加。
确定摄像头是否能添加
能否把你的摄像头添加到frigate中实现查看、识别和录像,首先要确定摄像头是否支持,在确定前首先你的摄像头可能需要支持以下两种协议,即ONVIF和RTSP。
ONVIF(Open Network Video Interface Forum)和 RTSP(Real-Time Streaming Protocol)都是用于网络视频传输的协议,但它们的功能和用途不同。
ONVIF:
定义:ONVIF 是一个标准化的协议,专为网络视频设备(如摄像头)设计,旨在实现不同设备之间的互操作性。
功能:支持设备发现、配置、控制(如摄像头的转动、变焦等),并传输视频流。
用途:主要用于网络摄像头的管理和控制,确保不同品牌的设备可以兼容使用。
RTSP:
定义:RTSP 是一个应用层协议,用于控制音视频流的传输,主要用于多媒体播放和实时传输。
功能:仅提供视频流的播放、暂停、停止等控制功能,不涉及设备管理或配置。
用途:主要用于实时视频的流传输,例如在网络摄像头上通过 RTSP URL 来获取视频流。
一般情况下,如果摄像头支持 ONVIF,它通常也会支持 RTSP,因为 ONVIF 协议包含了对 RTSP 流的支持作为传输视频流的一种方式,所以只要能确定你手上的摄像头支持ONVFI,那么就可以接入frigate中。
一般来说,如海康、TP-LINK、水星的主流摄像头都是支持ONVIF的,我目前家里的几个摄像头基本是TP和水星的,完美支持ONVIF协议,如果不确定你的摄像头是否支持ONVIF或RTSP,请联系官方客服查询或去其官网查询。
就以我手上的TP-LINK/水星为例,进入摄像头的后台,在网络设置-端口这里就可以查看RTSP端口为554,说明它支持接入frigate,记下。
此外还需要确定RTSP流的地址,直接搜索引擎去查,加上品牌名,比如说TP RTSP地址,这不就查找到了。
所以,我这个水星(TP的低端品牌)摄像机的RTSP地址就是:rtsp://摄像头用户名:摄像头密码@摄像头IP:摄像头RTSP端口/stream1
其中stream1是主码流,高清,优先使用这个,当然,其它品牌摄像头可能不同,具体请自行确定,随机应变。
确定摄像头RTSP地址后,咱们可以修改一下frigate的配置文件进行摄像头添加了。
配置文件修改
frigate的配置文件如下图所示,在其config文件夹下找到config.yaml打开编辑即可。
默认是这样的内容,我们需要修改一下。
为了演示方便,直接贴出通用的配置文件吧~如下所示,已经对各项参数做了详细标示,它们作用是什么都有写,请随机修改。
或者直接修改cameras:部分的IP和user、password为你当前摄像头的配置即可,摄像头IP和摄像头账密就不用问怎么来了吧,除非这个摄像头不是你的,修改完后,完整复制。
将其粘贴到config.yaml中完整替换原有配置文件,点击保存。
接着重启一下Frigate。
现在,在浏览器中刷新一下frigate后台,发现有画面出现了,第一个摄像头就添加完成了,继续添加的话就复制cameras:下的tp-link_camera_outside01: # 自定义摄像头名称这一段添加就行,摄像头名称记得别一样,就可以继续添加多个摄像头了,目前好像是没有限制的。
点击进去可以进行全屏查看,可以发现右上角的人形检测和录像、快照都打开了。
不过人形检测有点消耗CPU资源,因为实时检测这些会需要算力,如果NAS处理器性能不好,会占满,所以这也是为什么compose部署有做了资源限制,如果人形检测不是刚需,建议关闭,或者在前面配置文件中把roles中的detect关键字注释掉就不会自动开启人形检测了。
点击左上角的History可以回看视频,可以拉动右侧时间轴进行回话,挺方便的。
录像文件位置
录像保存的位置就是你前面映射的storage那个目录,如果你没更改,那么它保存在如下图所示的位置,做了摄像头名称、日期区分,并且是以MP4格式保存的。
打开播放,一切正常,它基本是以几分钟为一小段进行保存,而且前面配置文件中已经设置了最长保存录像天数,超过这个天数的会自动删除,所以不用担心会占满NAS空间,当然你也可以自定义保存时长,只要你硬盘容量足够大,保存多久都是可以的。
frigate比较强的点在于可以无缝集成到HA中,如果你刚好使用NAS部署了HomeAssistant,那么可以玩出更多花样来。
更多进阶文档配置可以查看官方介绍,可自定义的设置实在是太多了,但是如果你和我一样只是接入摄像头进行检测、录像之类的话,使用我前面提供的配置就足够了,喜欢折腾的可以深入研究一下。
Last updated
Was this helpful?