Skip to content

第三方监控摄像头接入 HomeKit,支持动态监测与免费 iCloud 存储

Posted on:November 30, 2023 at 03:05 AM

Table of contents

Open Table of contents

前言

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

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

synology

直到我后来看到一篇关于 iCloud 安防摄像头的文档,为何不接入 HomeKit 使用 iCloud 存储呢?苹果还是相当良心的,摄像头存储的录像并不占用原有的 iCloud 空间。50 GB 方案:可添加一个摄像头。200 GB 方案:最多可添加五个摄像头。2 TB 及更高方案:不限制摄像头数量。作为高贵的美区 Apple One 超大杯车主,理论上是可以添加无数个摄像头的。具体的内容大家可以看下面的文档。

在 iCloud 中使用 HomeKit 安全视频储存加密安保摄像头录制的视频

话不多说,那就准备开搞!以往来说,其他的设备加入 HomeKit 我会选择通过 Home Assistant 进行中转,但是因为 HA 接入的摄像头好像并不支持 动态监测、人脸识别等 HomeKit 安防高级功能,所以我们这里会使用一个新的工具: Scrypted

Scrypted Docker 安装

Scrypted 本身是支持 Home Assistant Add On 的,所以不是通过 Container 安装 Home Assistant 可以方便的跟随这里的文档进行安装:Scrypted 文档

因为我的 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 插件安装

202312230056091703264169.img

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

plugins

安装以下插件:

注意,安装完 HomeKit 插件后切勿着急配置,继续看完下文。

Scrypted Server Address 设置

注意,此步不可省略,不然会出现摄像头无画面的情况。依次点击左侧边栏 Settings ,General ,即可看到界面设置。

settings

scrypted 摄像头配置

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

onvif

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

save

Scrypted 插件功能

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

Stream

stream

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

SnapShot

snapshot

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

Motion Detection

motion

这里需要说明的是 Built In Motion Sensor 选项,Assist 为使用摄像头默认内置的动态监测算法,Replace 为使用 OpenCV 进行替代,如果你的摄像头没有内建相应功能的话,建议选择 Replace 。

Homekit 配置

这里有一个坑大家需要注意,HomeKit 摄像头的配置不是在 Scrypted 的 HomeKit 插件页面进行配置,而是在摄像头的 Extensions 页面,因为 Homekit 摄像头这里的默认配置是 Accessory 而不是Bridge 。对于摄像头而言我更青睐于配件而非桥接,毕竟一次性桥接一串设备进去,将来如果有什么问题需要单独配置某个设备的话,需要整个桥接的所有设备一起移除重新配置,较为麻烦。

homekit

这里有一个选项,RTP Sender 提供两个选择,Ffmpeg 与 Scrpyted ,Ffmpeg 大家众所周知,不做赘述,Scrpyted 为一个实验性选项,在这里有着更快视频转接速度,即更低的延时。

注意,这里配置完成后可能需要重启 Homekie 或 Scrypted 服务,注意观看网页顶部蓝色框的提示,这里不再截图展示。

接下来点击 Pairing ,打开 Home App,点击添加设备,扫描屏幕上的二维码,可能需要输入下方的 Pairing Code ,完成后即可将摄像头加入家庭。

Home App 设置

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

配置过程忘记截图,只贴一些完成后的截图吧:

screenshots

结束语

到此为止,将第三方摄像头接入 Homekit 的工作就宣告结束,我们可以在这步完成后便关闭摄像头的联网权限。如果大家在配置过程中遇到什么问题,可以留言,博主将在看到后及时回复。