作者:互联网 时间: 2026-09-12 17:30:02
面对实际交付,我看hkcam的重点不在星标,而在这项能力:开源HomeKit监控摄像头。把它放到日常自动化流程中,最容易暴露的是输入边界、依赖和失败处理如果不清楚就很难稳定复用,不能只看演示是否顺利。试跑可以从用一项范围明确的真实任务完成最小试跑开始,并把配置时间、输出质量、异常信息和维护痕迹写进验收记录。对愿意先做小范围验证并复查原始文档的团队来说,这个仓库值得继续验证;只求即装即用的人则要先看维护成本。
香港摄像机
hkcam 是 HomeKit IP 相机的开源实现。
它使用 ffmpeg 访问摄像机流,并使用 hap 将流发布到 HomeKit。
可以在 HomeKit 应用程序中查看摄像头流。例如,我的 Home+ 应用程序与 hkcam 完美配合。
特点
开始使用
hkcam 使用 Go 模块,因此需要 Go 1.11 或更高版本。
麦克
最快的入门方法是
git clone https://github.com/brutella/hkcam && cd hkcam
task hkcam 来构建并运行 cmd/hkcam/main.go001 02 003)这些步骤需要安装 git、go、task 和 ffmpeg。在 macOS 上,您可以通过 Homebrew 安装它们。
brew install git
brew install go
brew install go-task/tap/go-task
brew install ffmpeg
树莓派
您可以使用摄像头模块或 USB 摄像头与 Raspberry Pi 来创建您自己的监控摄像头。
例如,ELP 1080P USB 半球摄像机 非常适合户外使用。它具有IP66防水功能,内置IR LEDs夜视功能。在最新的 Raspberry Pi OS 上运行 hkcam 时,这款相机可为您提供良好的质量和出色的性能。
更便宜的替代方案是通过带状电缆连接的 相机模块。在 Raspberry Pi OS 上使用相机模块时,您必须启用 传统相机支持。这就是为什么我认为这个选项并不理想。
如何在树莓派上安装?
按照以下步骤在 Raspberry Pi OS Lite(32 位)上安装 hkcam 和所有必需的库。
选择OS→树莓派OS(其他)→树莓派OS Lite(32位)
将SD卡插入电脑并选择它作为存储
单击设置图标并启用SSH,设置用户名和密码并配置wifi
单击“写入”将操作系统写入 SD 卡
将 SD 卡插入 Raspberry Pi
连接相机(在我的例子中是 ELP 1080P)和电源
通过 SSH 连接到您的树莓派(首次启动可能需要一段时间,所以请耐心等待)
ssh [email protected](输入您之前配置的密码)
安装 ffmpeg
apt-get install ffmpeg
安装v4l2环回
apt-get install v4l2loopback-dkms
/etc/modules-load.d/v4l2loopback.conf 在启动时启用 v4l2loopback 模块v4l2loopback
/etc/modprobe.d/v4l2loopback.conf 来指定模块应创建哪个环回文件(在我们的示例中为 /dev/video99)options v4l2loopback video_nr=99
/dev/video99是否存在hkcamwget https://github.com/brutella/hkcam/releases/download/v0.1.0/hkcam-v0.1.0_linux_arm.tar.gz
tar -xzf hkcam-v0.1.0_linux_arm.tar.gz 提取存档hkcam./hkcam -data_dir=/var/lib/hkcam/data -multi_stream=true -port=8080 -verbose
启动 Apple Home 应用程序并点击 + → 添加配件
点击更多选项...
选择相机并确认该配件未经认证
输入密码 001-02-003 并继续
如果一切按预期工作,您必须将 hkcam 配置为守护进程 - 以便 hkcam 在启动后自动运行。
这可以通过不同的方式完成 – 建议使用 systemd,
如何使用 Ansible 安装?
我制作了一个 Ansible 剧本,用于配置您的 Raspberry Pi 并安装 hkcam。 以下步骤需要安装 ansible。在 macOS 上,您可以通过 Homebrew 安装它。
brew install ansible
首先安装Raspberry Pi OS,如上所述。 然后创建 ssh 密钥并将其复制到 Raspberry Pi。
ssh-keygen
ssh-copy-id [email protected]
之后,您可以使用以下命令执行剧本。
cd ansible && ansible-playbook rpi.yml -i hosts
命令完成后,您的相机即可添加到 HomeKit。
多流
通常在 HomeKit 中,一次只能由一台设备查看摄像机流。 如果第二台设备想要观看流媒体,Apple Home 应用程序会显示
相机不可用 等到家里的其他人停止查看此摄像头后再重试。
hkcam 通过设置选项 -multi_stream=true 允许多个设备观看同一流。这很整洁。
持久快照
除了视频流外,hkcam 还支持 持久快照。
持久快照是一种拍摄相机快照并将其存储在磁盘上的方法。
然后您可以通过 HomeKit 访问它们。
持久快照目前由 Home+ 支持, 从下面的截图中你可以看到。
还支持在自动化中拍摄快照。
网页界面
当在特定端口(通过指定 -port=...)运行 hkcam 时,您可以通过浏览器通过 url http://{ip-address}:{port} 访问 Web 界面。
Web 界面显示最近的快照并允许您安装更新。
树莓派零W
当使用 ELP 1080P USB 相机运行 hkcam 时,我确实遇到了内核恐慌。
使用以下更改更新 /boot/config.txt 可以解决这些内核恐慌。
arm_freq=800
arm_freq_max=900
arm_freq_min=700
Raspberry Pi 零 W 外壳
我还为 Raspberry Pi Zero W 和标准相机模块设计了一个外壳。 您可以使用支架将相机放置在桌子上,或将其与 铰接式 Raspberry Pi 相机安装座 的支架结合使用,将其安装在墙上。 3D 打印零件可作为 STL 文件 (此处为)获得。
该外壳不防水,不应在室外使用。相反,您应该使用 ELP 1080P 相机 并通过 USB 将其连接到 Raspberry Pi。