大家好,CamKeep 之前在论坛发布过一版
https://club.fnnas.com/forum.php?mod=viewthread&tid=61805
期间收到了很多朋友的使用反馈。经过一段时间的迭代,目前 CamKeep 已经更新至 v1.4.0 版本。
本次更新重点补齐了大家比较关注的动检录制和录制计划配置功能,并对历史录像界面的交互进行了大幅重构,进一步降低 NAS 的存储占用并提升回放体验。
以下是 v1.4.0 版本的主要更新内容:
一、 核心功能新增
1. 动检录制与事件录像(低功耗、省空间)
新版本支持在普通录制模式下启用动检录制(新增 motion_detect 与 motionDetectRatioThreshold 配置项)。
- 低资源消耗: 采用了基于低分辨率帧差的运动检测流程。在大幅降低无效录像存储占用的同时,依然保持了极低的系统资源消耗。大家可以参考下方的资源消耗图,动检模式下的实际性能开销非常小。
某 RK3566 ARM飞牛上跑了 2 路动检录像,CPU负载

- 事件录像完整性: 引入了事件录像机制,支持预录、检测中缓存、事件结束后自动封片,确保动检触发前后的关键画面得以完整保留。
- H.265 适配: 补充了 H.265 录像探测与播放适配逻辑,改善了浏览器端对不同编码录像的处理和播放体验。
2. 录像计划能力增强
录像时间段的配置变得更加灵活,满足更多场景的需求:
- 多时间段配置: 现在
record_time 支持在同一天内配置多个时间段,例如 08:00-12:00,14:00-18:00。
- 跨天配置支持: 支持夜间跨天的时间段设置,例如
22:00-06:00。
- 状态优先级明确: 明确了“手动强制录制”、“手动强制停录”与“自动计划”之间的优先级逻辑,让计划录制与人工干预的联动更加清晰,避免录制状态混乱。
3. 配置校验能力补强
为了减少配置错误导致的服务异常,系统增加了严格的校验流程:
- 新增配置保存前校验,前端在点击“保存并应用”前会检查
conf.yaml 格式。
- 后端保存接口同步增加了二次校验,防止绕过前端写入非法配置。
- 校验范围涵盖:YAML 语法错误、空配置/多文档、未知字段、重复的摄像头 ID、时间格式错误、枚举值错误以及常见数值的取值范围越界等。
二、 体验与展示优化
1. 历史录像页面优化
对录像回放页面的交互进行了重新设计:
- 按日归档: 历史录像列表重构为按日期归档展示,浏览层级更清晰。默认展示最近 7 个录像日,支持起止日期范围筛选。
- 存储统计: 新增特定日期内的录像数量与容量统计,方便快速评估存储占用规模。
- 分类展示: 优化了“合并后的录像文件”与“普通切片录像”的区分展示方式,提升了回放查找的效率。
2. 每日合并策略优化
- 每日合并逻辑从“整天合并为一个文件”优化为“按自然小时分组合并”,缩小了单文件体积,定位具体时间的录像更精准。
- 合并后的文件统一输出为 MP4 格式,提升了下载分享后的跨平台兼容性。
- 前端同步优化了合并录像的显示方式,降低用户的理解成本。
3. 实时节点与状态展示优化
主界面的摄像头卡片现在能提供更详细、准确的状态信息:
- 流状态细分: 明确区分了流在线、待机、断线等状态。
- 录制状态细分: 细化为未录像、录制中、动检中、动检录制中。
- 计划与手动联动展示: 节点侧会直观展示当前的录像计划(计划内/计划外/全天录制)。当用户进行手动覆盖时,也会有对应的联动状态提示,方便排查“为什么当前没有录”或“为什么当前仍在录”的问题。
更新建议:
老用户更新前,建议先备份一下原有的 conf.yaml 配置文件。可以直接通过 Docker 拉取最新镜像进行升级。
注意清理老的容器和镜像,确保是v1.4.0。
欢迎大家下载体验,如果有任何使用上的问题或功能建议,可以直接在帖子下方留言反馈!