大家好,嫌弃成品硬盘录像机太笨重,买成品摄像头又总想让你开云存?为了保护家里隐私,自己用 Go 写了个轻量级的私有化监控小工具 CamKeep,非常适合在咱们飞牛 NAS 上跑 Docker。
项目地址:https://github.com/r0n9/camkeep
主打一个:极简、绝对隐私、不挑设备。
🌟 核心亮点
- 🔒 纯本地运行:断网也能录,画面绝对不出公网,隐私安全拉满。
- 📹 万物皆可录 (目前仅支持 RTSP):打破品牌壁垒,无论是海康大华,还是刷了机的智能摄像头、甚至闲置旧手机……只要能输出 RTSP 流,就能帮你全天候存储! 各厂商摄像头的开放RTSP流地址请自行搜索获取。(注:当前版本主打轻量,暂不支持 RTMP 或 GB28181)。
- ⚡ 极低占用 & 秒开:底层集成神级网关
go2rtc,看直播走原生 WebRTC 协议,毫秒级延迟;录像默认 .ts 格式断 电不坏,还支持超级省硬盘的“延时摄影”模式。
下图是我的 某RK3566 T ARM飞牛上跑的一路摄像头,CPU负载情况:

🚀 极速部署 (看图作业)
部署非常简单,不需要敲复杂的命令:
1. 准备 docker-compose 文件
直接在 NAS 文件夹里放个 docker-compose.yaml,改下你自己的录像保存路径就行(强烈建议网络模式选 host,否则可能无法WebRTC直播)。
参考 https://raw.githubusercontent.com/r0n9/camkeep/refs/heads/main/docker-compose.yaml
目录结构:

Docker应用 - Compose:

2. 配置文件 config/conf.yaml,填入摄像头 RTSP 地址
💡此步骤可选,v1.1.2 之后版本已支持默认配置启动,Web控制台页面上可配!
在旁边建一个config目录,并创建配置文件 conf.yaml,把你的 RTSP 地址贴进去,设置好保留几天,它满了会自动清理。
参考 https://raw.githubusercontent.com/r0n9/camkeep/refs/heads/main/conf.yaml

3. 一键启动,享受极简 UI!
启动成功后,在浏览器中访问 http://<你的NAS IP>:9110 即可进入监控中心。

录像文件查看

适合家里有闲置设备、又不想把监控画面交到公有云手里的老哥们。项目是开源免费的,欢迎各位大佬交流提提建议!
2026-04-23 v1.1.0 版本更新
- 配置热更新:支持免配置文件启动(自动生成默认模板),在 Web 端修改配置后可无缝热重启,不中断服务。
- 深度防雪崩:引入流媒体三态探活(在线 / 休眠 / 离线)。当摄像头断线时,系统会自动阻断 FFmpeg 录像进程。
- 手动快捷控制:为每个摄像头新增「强制录 / 停录 / 计划」手动控制录制功能。
- UI 体验升级:重构状态栏为双指示灯(分离“流状态”与“本地录像状态”),优化焦点浮窗透明度。

2026-04-24 v1.1.2 版本更新
- 优化:优化直播流状态展示,并完善不同流状态下的录制逻辑,最大限度降低各环节资源开销。
2026-04-30 v1.3.2 版本更新,祝五一节日快乐!
- 无缝接入 go2rtc 生态:v1.3.0+ 版本支持自动扫描并接管底层 go2rtc 运行的外部视频流。无需繁琐地重复配置参数,一键即可同步追加,完美兼容你的既有智能家居流媒体生态。
最新版本 go2rtc 已支持小米摄像头接入,由于手里没有相关设备,暂时没有验证
- 多宫格监控矩阵:支持4宫格 / 6宫格播放矩阵播放。
- 其他的一些优化:持续优化,资源开销能省一点是一点。
