{"repo":"r0n9/camkeep","free":true,"listed":false,"github":"https://github.com/r0n9/camkeep","clone":"git clone https://github.com/r0n9/camkeep.git","description":"A lightweight, self-hosted Network Video Recorder (NVR) designed for home NAS and edge devices.","language":"Go","stars":41,"topics":["docker","ffmpeg","fnos","go2rtc","golang","ip-camera","nas","nvr","rtsp","self-hosted"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"CamKeep 简体中文 English --- 全面兼容 go2rtc 的自托管 NVR，面向家庭 NAS 与边缘设备。 CamKeep 基于 Go、go2rtc 和 FFmpeg，提供本地优先的视频接入、录制、回放和设备管理能力。它已经不再只是 RTSP 极简录像机，而是一个可以接入 go2rtc 现有流、ONVIF 设备以及其他 go2rtc source 的统一 NVR 网关。 设计初衷与原则 CamKeep 的初衷不是替代大型企业级安防平台，而是为家庭 NAS、低功耗小主机和内网自托管场景提供一套够用、稳定、可控的 NVR。 极简 ：单容器运行，配置尽量少，常用能力优先在 Web 控制台完成，不把用户拖进复杂的视频工程配置里。 低功耗 ：优先复用 go2rtc 流代理，录像默认流拷贝，封面与状态刷新控制频率和并发，尽量适合长期运行在 NAS、软路由、ARM 小主机上。 内网安全 ：默认本地优先，不依赖云端，不上传视频和设备信息；建议部署在可信局域网内，必要时通过本地用户鉴权或反向代理访问。 ✨ 功能亮点 🧩 go2rtc-native 接入 ：支持 RTSP、ONVIF、FFmpeg、脚本等 go2rtc 兼容接入源，也可以直接导入已有 go2rtc 流。 🕹️ ONVIF 控制与事件诊断 ：自动识别 ONVIF 控制候选设备，支持 PTZ、变焦、对焦、光圈控制，并可诊断 Event 服务、PullPoint 支持和最近收到的事件。 🖼️ 实时封面 ：每个实时节点展示持久化封面；优先使用 go2rtc 截图，失败后回退本地 FFmpeg。 📺 紧凑实时看板 ：实时节点卡片适配桌面和移动端，封面只在可视区域按需加载，后台轻量巡检，减少性能消耗和画面闪烁。 🕓 24H 时间轴回放 ：保留原卡片列表和旧时间轴，同时新增可吸附到播放器下方的 24H 时间轴，支持拖动、滚轮缩放、移动端双指缩放和按时间点播放。 🧰 Web 配置管理 ：单页面配置管理，支持表单/YAML 双模式、摄像头卡片折叠、恢复未保存修改、单个添加、批量添加和从 go2rtc 导入未接管流。 🎥 完整录像能力 ：支持定时录像、手动强制开始/停止、动检录像、延时摄影、TS/MP4 切片、历史回放、下载和删除。 🧠 事件源可选的动检 ：支持本地低分辨率帧差、ONVIF PullPoint，或自动组合两者，用 Time-Shift 缓存生成事件录像。 🧭 普通录像动检标记 ：连续录像时也能叠加活动区间，不影响录像启停，方便在 24H 时间轴上快速定位有人、车或画面变化的片段。 🧹 自动存储管理 ：支持过期清理、过小碎片过滤、每日按小时/连续区间合并录像；残留的普通录像片段会自动修复封装，动检片段也可按需合并。 🔒 本地用户与权限 ：不依赖云端、不强制账号、不上传摄像头数据；支持本地管理员/只读用户、在线会话状态和按摄像头限制普通用户可见范围。 接入源说明 CamKeep 直接沿用 go2rtc 的接入能力，不局限于 RTSP 地址。你可以填写 RTSP、ONVIF、FFmpeg 等接入方式，也可以在 Web 配置页扫描并导入已有 go2rtc 流。导入后，go2rtc 继续管理流定义，CamKeep 负责录制、回放、状态展示和设备控制。 ONVIF 事件与动检标记 ONVIF 接入设备在能力探测成功后，CamKeep 会识别 Event 服务和 PullPoint 支持情况。配置页可以展开 ONVIF 事件诊断，查看监听状态、最近事件，并启动 30 秒 Pull","default_branch":null,"files":null,"tree":[],"storefront":"/r/r0n9","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/r0n9/camkeep/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}