智能家居之第三方监控接入 HomeKit
相信很多和我一样的有宠家庭,都会为了掌握宠物的行踪或拆家的进展而购买了监控摄像头,通过互联网掌握藏在家中猫猫狗狗的踪迹,抑或是其他的为了家庭安全而购买摄像头起安保作用的家庭,都会面临相同的几个问题:我们真的需要云存储吗?我们真的信任摄像头厂商吗?我回家以后需要关掉摄像头吗?

猫猫和我一样表示怀疑,以及各个厂商的云存储价格,打消了我的想法。我一开始的方案是将监控接入了群晖的 Surveillance Station,打开了群晖的动态提醒,但随之而来的便是每天无数的提醒,监控视野内但凡有一点点风吹草动,便会让我手机震动不停。

直到我后来看到一篇关于 iCloud 安防摄像头的文档,为何不接入 HomeKit 白嫖无限 iCloud 存储呢?苹果还是相当良心的,摄像头存储的录像并不占用原有的 iCloud 空间。50 GB 方案:可添加一个摄像头。200 GB 方案:最多可添加五个摄像头。2 TB 及更高方案:不限制摄像头数量。作为高贵的美区 Apple One 超大杯车主,理论上是可以添加无数个摄像头的。具体的内容大家可以看下面的文档。
Apple Support
话不多说,那就准备开搞!以往来说,其他的设备加入 HomeKit 我会选择通过 Home Assistant 进行中转,但是因为 HA 接入的摄像头好像并不支持 动态监测、人脸识别等 HomeKit 安防高级功能,所以我们这里会使用一个新的工具。
GitHubkoush
Scrypted Docker 安装
Scrypted 本身是支持 Home Assistant Add On 的,所以不是通过 Container 安装 Home Assistant 可以方便的跟随这里的文档进行安装:
Scrypted Docs
因为我的 Home Assistant 是通过 Docker 安装的 HA Core,不支持 Add On,所以这里需要通过 Docker 来进行安装,之前提到过,我的 Home Server 运行的是 NixOS,所以可以很方便的配置 Docker,具体的配置项如下,将其改为 Docker Compose 也很方便,所以这里不再提供。
{ config, pkgs, ... }: {
virtualisation.oci-containers.containers."scrypted" = {
autoStart = true;
image = "koush/scrypted:latest";
volumes = [ "/orchestr/static/docker/scrypted:/server/volume" ];
extraOptions = [ "--network=host" ];
environment = { TZ = "Asia/Shanghai"; };
};
}Scrypted 配置
安装完成后,我们便可以在浏览器内进入 scrypted 后台,注意这里的 https 不可省略,具体的网址为:
https://your-host-ip:10443按照网页提示设置账号密码进入主界面选择 Management Console 即可。
scrypted 插件安装


点击左侧栏内 Plugins,然后点击 Install 进入以下界面:

安装以下插件:
- HomeKit
- Onvif Camera Plugin 或 RTSP Camera Plugin
- OpenCV Motion Detection
- Snapshot Plugin
- Video Analysis Plugin
- WebRTC Plugin
注意,安装完 HomeKit 插件后切勿着急配置,继续看完下文。
Scrypted Server Address 设置
注意,此步不可省略,不然会出现摄像头无画面的情况。依次点击左侧边栏 Settings ,General ,即可看到界面设置。

scrypted 摄像头配置
这里以 Onvif 协议举例,RTSP 配置过程基本一致,点击 Onvif Camera Plugin 进入插件配置,点击 Add New,进入以下界面:

输入摄像头相关参数,点击 Create ,进入摄像头配置界面,这时,应当能看到摄像头的 SnapShot ,因为我这里已经配置过一遍了,所以界面可能略有不同。点击右侧的 Extensions ,将以下的插件勾选后点击 Save。

Scrypted 插件功能
一般情况下如果使用没有异常,尽可能保留默认配置即可。
Stream

一般的家用摄像头都会有两个视频流,一般其中一个为高画质,一个为低画质,大家可以根据自己的需求选择相应的视频流,比如在家时适用高画质,出门适用低画质等。
SnapShot

可以选择一些视频预览画面的选项,比如从哪个视频流截取画面等。
Motion Detection

这里需要说明的是 Built In Motion Sensor 选项,Assist 为使用摄像头默认内置的动态监测算法,Replace 为使用 OpenCV 进行替代,如果你的摄像头没有内建相应功能的话,建议选择 Replace 。
Homekit 配置
这里有一个坑大家需要注意,HomeKit 摄像头的配置不是在 Scrypted 的 HomeKit 插件页面进行配置,而是在摄像头的 Extensions 页面,因为 Homekit 摄像头这里的默认配置是 Accessory 而不是Bridge 。对于摄像头而言我更青睐于配件而非桥接,毕竟一次性桥接一串设备进去,将来如果有什么问题需要单独配置某个设备的话,需要整个桥接的所有设备一起移除重新配置,较为麻烦。

这里有一个选项,RTP Sender 提供两个选择,Ffmpeg 与 Scrpyted ,Ffmpeg 大家众所周知,不做赘述,Scrpyted 为一个实验性选项,在这里有着更快视频转接速度,即更低的延时。
注意,这里配置完成后可能需要重启 Homekie 或 Scrypted 服务,注意观看网页顶部蓝色框的提示,这里不再截图展示。
接下来点击 Pairing ,打开 Home App,点击添加设备,扫描屏幕上的二维码,可能需要输入下方的 Pairing Code ,完成后即可将摄像头加入家庭。

Home App 设置
在添加完摄像头,App 内便会引导进行摄像头的配置,比如视频录制选项,在家或外出是是否仅串流或开启录制等,以及动态监测是否监测人,动物,包裹等,如果是室外摄像头,还可以监测汽车等,也可以开启人脸识别,避免自己在家时被 Home App 不停地通知监测到有人进入摄像头。
下面只贴一些完成后的截图吧。





结束语
到此为止,将第三方摄像头接入 Homekit 的工作就宣告结束,我们可以在这步完成后便关闭摄像头的联网权限。如果大家在配置过程中遇到什么问题,可以留言,博主将在看到后及时回复。如果你对这里的内容略感兴趣,可尝试订阅本站,点击这里即可。
Sign up for Digital Immigrants
Nobody from nowhere, belonging to no one.
No spam. Unsubscribe anytime.








