系统架构
Home Assistant NVR:摄像机、录像、Frigate 与 Scrypted
使用 ONVIF 摄像机、实时流、片段录像、Frigate 或 Scrypted 构建 Home Assistant NVR,并明确规划存储、编解码器和安全选择。

简要答案:将自动化编排与录像保留分开
Home Assistant 的 Camera 集成是由其他设备集成提供的基础模块。它可以把摄像机实体提供给控制面板和自动化、播放兼容码流、拍摄快照,并使用 camera.record 创建实时画面的录像。该录像操作需要 Stream 集成,其输出路径必须可写,并且被 Home Assistant 文件配置允许。Stream 集成通过 HLS 或低延迟 HLS,在 Home Assistant 中代理兼容的实时视频。
这些文档所述的操作很实用,但其运行模式与拥有连续录像、存储保留和可搜索录像时间线的专用录像机并不相同。将 Home Assistant 用作自动化和控制面板层;需要连续录像或长期查看时,再选择 NVR。
三种 Home Assistant 摄像机架构
| 架构 | 摄像机路径 | 录像与查看 | 设置要求 | 最适合 |
|---|---|---|---|---|
| Home Assistant Camera + Stream | Camera 集成提供实体;Stream 将兼容的 H.264 或 H.265 代理为 HLS/LL-HLS | 快照、实时查看和通过操作创建的录像 | Stream 集成、用于 camera.record 的可写且被允许的输出路径、浏览器兼容的编解码器和音频 | 控制面板与摄像机自动化 |
| Frigate + Home Assistant | Frigate 录制并分析摄像机;其官方集成将实体发布到 Home Assistant | 按月、日、摄像机和时间整理录像;Media Browser 中提供对象录像和快照 | 使用同一代理的 MQTT、HACS 集成、Frigate URL,以及用于 Media Browser 的 media_source | 本地 AI 与专用 NVR 保留 |
| Scrypted + Home Assistant | Scrypted 接收摄像机流,并将其界面集成进 Home Assistant | Scrypted NVR Camera 和 Event Reel 卡片提供其录像界面 | 即使使用 Home Assistant add-on,也需要通过 HACS 安装 Scrypted 自定义组件 | 低延迟智能家居摄像机查看和 Scrypted NVR |
编解码器支持最终仍会影响查看客户端。Home Assistant 指出,许多浏览器不支持 H.265,Stream 集成也不支持 PCM 音频,因此 H.265 摄像机或不受支持的音轨在不同控制面板和设备上的表现可能不同。如果广泛的客户端播放很重要,请优先使用带兼容音频的 H.264 配置文件。
正确连接 ONVIF 摄像机
Home Assistant 官方 ONVIF 集成支持符合 ONVIF Profile S 的设备,并且需要 FFmpeg 集成。Home Assistant 可以自动发现设备,也可以接受手动添加的集成条目。文档建议在摄像机上创建专用标准用户,而不是复用管理员账户。
该集成会添加视频编码为 H.264 的兼容配置文件。如果 Home Assistant 报告“No usable cameras were found”,请至少配置一路 H.264 码流;一种实用做法是将主码流保留为 H.265,并把子码流设为 H.264。根据设备支持情况,ONVIF 还可以提供运动和其他事件传感器、设备开关、可选择的 RTSP 传输方式以及 PTZ 操作。
按真实要求部署 Frigate
Frigate Home Assistant 集成要求安装 Home Assistant MQTT 并进行手动配置。要使许多集成实体正常工作,Frigate 必须启用 MQTT 并连接到同一个代理。该集成通过 HACS 安装,其 Media Browser 需要启用 media_source。
对于摄像机,Frigate 当前硬件指南建议使用 H.264 视频和 AAC 音频,以最大限度兼容 Frigate 与 Home Assistant。多路子码流很有用,因为检测、实时查看和录像可以使用不同分辨率而无需重新编码。生产工作负载建议使用专用检测器,但不一定非要 Google Coral:当前文档支持多个检测器系列,并且不再建议大多数新安装使用 Coral。
Home Assistant 还需要一个可以访问的 Frigate URL。对于运行在另一台本地设备上的 Frigate,官方集成指南建议使用经过身份验证的端口 8971。请遵循其 TLS 和证书指南,不要把未经身份验证的内部端口暴露给不受信任的网络。
存储、安全与验证检查清单
将录像保留放在录像机层管理,使删除、磁盘限制、分段健康和故障恢复都有一个明确的责任方。使用 Home Assistant 执行自动化和显示状态,但也要通过 NVR 时间线或 Media Browser 验证录像,不能只看控制面板卡片。
- 创建专用的标准 ONVIF 摄像机用户。
- 确认 Home Assistant 可以使用一路 H.264 配置文件。
- 测试实时视频和
camera.record操作。 - 使用 Frigate 时,验证 MQTT 实体和 Media Browser 录像。
- 分别重启 Home Assistant、录像机和一台摄像机。
- 确认保留策略会在存储耗尽前删除旧录像。
- 在 Home Assistant 和录像机之间使用经过身份验证或私有的连接。
如需规划协议,请阅读 RTSP 与 ONVIF 对比。如需产品层面的详细信息,请继续阅读 OmniNVR 与 Frigate 对比或 OmniNVR 与 Scrypted NVR 对比。
常见问题
Home Assistant 不使用 Frigate 也能录制摄像机视频吗?
可以。摄像机和 Stream 集成支持时,官方 Camera 集成会提供 camera.record。请配置 Stream,使用 Home Assistant 允许的可写路径,并测试输出。如果需要连续录像、受管理的保留策略和面向录像机的时间线,请使用专用 NVR。
Frigate 必须使用 Google Coral 吗?
不需要。Frigate 支持多种检测器类型。其当前硬件指南指出,除功耗要求特别低或硬件无法使用其他加速器的部署外,大多数新安装已不再建议使用 Coral。
为什么 Home Assistant ONVIF 提示找不到可用摄像机?
Home Assistant 的 ONVIF 集成会查找 H.264 视频配置文件。至少将一路摄像机码流配置为 H.264;通常可以让主码流保留 H.265,同时使用 H.264 子码流。
资料来源
- Home Assistant — Camera integration
- Home Assistant — record camera feed action
- Home Assistant — Stream integration
- Home Assistant — ONVIF integration
- Frigate — official local AI NVR documentation
- Frigate — official hardware and detector guidance
- Frigate — official Home Assistant integration
- Scrypted — official open-source platform overview
- Scrypted — official Home Assistant integration