本帖最后由 hassmingovo 于 2025-8-27 23:58 编辑
序
借着最近刚放弃门锁的电子猫眼,重新在门口换上普通的摄像头,折腾了一套利用摄像头检测事件借助大模型分析生成文本+截取动图进行通知。主要是使用Scrypted 的scrypted-advanced-notifier 插件。今天来分享下安装和配置流程,抛砖引玉,给大家提供一个思路,给其他也使用scrypted 提供一个正确的配置,避免一些坑
- 下面先看下效果图演示
- 以上是我手动触发的演示,实际是出现人后,先截图请求AI,再会自动截取前后10s的图片拼成gif,结合AI返回内容和动图拼成一个
homeassistant 通知
通知长按可以展示,点击通知可以直接跳转至Scrypted 集成界面的对应时间线
论坛其实也有不少Scrypted使用讨论,但时间比较久远,有些信息对不上了,加上作者更新挺勤的,这里就先简单介绍下Scrypted,最大的特点是可以创建支持homekit配对的摄像头实体,对应apple家庭用户可以很方便接入,实现hsv安全视频+苹果的icloud动态视频云存,还有另一个新手友好,全是可视化配置,使用起来很方便。同时提供开箱即用的nvr功能,可以把录像存本地nas,不过nvr功能是需要付费授权的。不过放心,今天提到的通知功能使用时nvr功能是非必须的,可以放心食用。
准备
首先需要搭建scrypted服务,由于涉及到图像物体识别,安装的宿主机最好支持GPU解码和计算,我使用的是N100,说是支持12个摄像头,家庭使用绰绰有余,其他具体可以参考下图,更多参考官方文档:https://docs.scrypted.app/buyers-guide/servers.html 其次准备好支持的摄像头,摄像头方面就不多赘述,简单来说支持onvif的摄像头都可以,像是小米这种私有协议的需要考虑其他方案
安装Scrypted
Scrypted支持多种安装方式,我这里只列举自己安装过的几种:window安装,pve安装,其他安装方式参考官方文档 https://docs.scrypted.app/installation.html
cd /tmp
curl -s https://raw.githubusercontent.com/koush/scrypted/main/install/proxmox/install-scrypted-proxmox.sh > install-scrypted-proxmox.sh
bash install-scrypted-proxmox.sh
配置摄像头
- 在插件界面搜索onvif插件并安装,如果你使用的是海康,unifi等其他品牌摄像头可以直接搜索相关品牌的插件,适配度更高,但一般支持onvif的摄像头使用onvif插件即可
- 安装完成后,在插件列表中找到
ONVIF Camera Plugin ,点击进去,可以看到会自动发现同一网关下支持的摄像头,如果没有,可以点击add手动添加,添加时只需要填入摄像头的ip,账号密码即可,我这里都是TPlink的摄像头,摄像头提前配置好之后,打开插件就能自动发现
- 摄像头相关参数一般默认也能用,但是摄像头比较多的情况下,尽量降低一下主码流的分辨率(许多摄像头已经支持2k,4k),一般1080p足够,目前Scrypted已经支持h265编码,保留h265编码即可,有些设备启用的是所谓智能h265编码,记得关掉该选项,不然流可能出现问题
- 以上配置完之后,摄像头应该就能在Scrypted中正常工作了,不过现在只支持读流,还不支持录像回放和物体检测等。如果是homekit用户,在摄像头下打开homekit插件,扫码配置就完事了,剩下交给icloud。如果非homekit用户需要安装额外的插件来支持,注意录像回放存储本地功能需要使用到付费插件Scrypted nvr,其他物体检测等功能插件均免费使用
接入HA
scypted官方提供可以直接接入的HA集成,安装方式如下
- 使用HACS安装,添加自定义地址 https://github.com/koush/ha_scrypted
- HACS中搜索
Scrypted 进行安装
- 配置host,已经安装的scypted访问地址:192.168.2.124:10443
- 安装后重启可以查看道scypted侧边栏,说明安装成功
可以直接通过scypted页面进去查看摄像头,也可以利用webpage card配置来展示摄像头卡片
type: iframe
url: >-
/api/scrypted/<token>/endpoint/@scrypted/nvr/public/#/iframe/<id>
allow_open_top_navigation: true
layout_options:
grid_columns: full
grid_rows: 4.25
- url获取方式:scypted页面→摄像头→CAMERA SETTINGS→Integrate→homeassistant card url,获取对应url地址修改势力即可,其他相关参数详细参考官方文档https://docs.scrypted.app/home-assistant.html
安装和配置scrypted-advanced-notifier 插件
- 进入scypted的插件页面点击install搜索
scrypted-advanced-notifier ,点击安装
- 进入scypted的插件页面点击install搜索
mqtt ,点击安装,在MQTT BROKER中配置你使用的mqtt服务器地址,用户名,和密码,也可以使用mqtt插件自己启用的mqtt服务
- 勾选后开启mqtt服务,就不需要单独起一个了,或者配置已有的其他mqtt服务器
- 检测来源可以选择原生检测或者选择nvr插件作为来源(这个需要你安装了nvr插件)
- 进入scypted的插件页面点击install搜索
homeassitant ,点击安装,配置自己的homeassitant参数
-
获取homeassitant令牌填写,地址填局域网访问的ip:端口即可
- 启用ha插件的配置或者时手动配置ha地址
- 通知实体配置,配置完成后可以看到关联的一些实体,包括摄像头。通知设备(ha关联移动设备),打开相应开关表示已启用
- 其他参数配置,配置完成一个通知有多种方式,这里介绍一个相对简单的方式
-
rule:通知规则,用来配置如何触发,如何通知(关键配置)
-
在GENERAL中DETECTIONRULEs 手动输入一个新规则名(任意字符)比如 rule1,回车后,tab会新增同名的rule1 配置页,点击进去配置
-
可以参考如下配置,notifiers下拉可以选择homeassistant关联的设备,比如mobile.xxx 在detections source 下拉可以选择原生检测或者nvr插件,没有nvr插件则直接选择原生检测即可,detections class 选择你要触发的类型,也是下来选择。一般就选择人物,其他看情况。devices 下来选择你已经开启插件的设备,按照以下配置就可以实现最开始的效果。
!
-
进入scypted的插件页面点击install搜索llm ,点击安装,配置可用的baseurl,支持openai类型的接口,地址填写例如https://api.openai.com/v1
-
Capabilites下拉可选择,选择image,模型填写支持图像的模型,如gpt-4.1
- 在高级通知插件中就可以选择AI配置,下拉可以看到
llm 插件的配置
摄像头添加配置
- 在scypted摄像头设备下也有
scrypted-advanced-notifier 插件的相关配置,需要一起配置才能工作
- 在GENERAL中选择对应检测源,一样的如果有nvr插件选择nvr插件,没有就选择原生检测,Snapshot from Decoder,主要是影响Decoder加载时机来处理视频,可以选择Onmotion或者Always,如果选择Onmotion经常触发不了还是选择Always
- NOTIFIER中记得打开Notification和AI description,如果不需要ai的话可以不打开
注意事项
-
测试通知,在TEST填写参数可以快速给自己的设备发起一条通知,验证是否正常运行
- 一般按照图中配置可以方便验证,自行调整视频格式和速度查看效果
-
如何在外网下也能正常显示通知和通知中的图片
-
需要配置Scrypted Cloud,登录Scrypted 账号使得外网可以访问
- 正常登录会自动分配一个地址提供你外部访问,这样最方便
- 当前如果有自己的域名,也可以使用自己的域名访问,可以在Scrypted Cloud插件中选择Custom Domain模式,填写你的hostname和对应端口,这个端口需要做下端口转发,确保外网能访问该地址,后续通过该地址访问视频等资源
-
在scrypted-advanced-notifier 插件中的ADVANCED中配置Assets origin source 为 CloudSecure
|