日前,一位独立开发者于Hacker News上展示了其最新项目——CheapSecurity,这是一款专为Linux单板计算机(SBC)设计的轻量级、自托管CCTV(闭路电视)系统。该项目的核心理念是:以极低的硬件成本(如树莓派、Orange Pi等)和最小化的资源占用,实现可自我掌控的安防监控,从而打破传统商业安防系统昂贵、封闭且依赖云服务的痛点。
项目背景:当安防遇上“自托管”浪潮
随着物联网与边缘计算的发展,树莓派等廉价单板计算机的算力已足以支撑基础视频处理。然而,市面上的开源CCTV方案(如ZoneMinder、Shinobi、Frigate)虽功能强大,却往往对硬件要求较高,或需依赖复杂依赖库。CheapSecurity的设计者正是瞄准了这一空缺——为用户提供一个“安装即用”、占用内存仅需数十MB、全功能可通过网页端配置的自托管方案。
据项目README介绍,CheapSecurity使用C语言编写核心模块,仅调用必要的Linux V4L2接口与FFmpeg进行视频流捕获,并内建轻量级HTTP服务器用于预览与控制。其支持多路USB摄像头或通过RTSP协议接入IP摄像头,输出MP4文件或HLS直播流,完全本地存储,无需任何云服务订阅。
核心特性:轻量、灵活与隐私优先
1. 极低资源消耗
CheapSecurity的运行时内存占用可控制在50MB以内,CPU负载在单路720p视频处理时不足15%(以树莓派3B为参照)。这使得老旧或低配SBC也能作为7×24小时的监控主机,甚至可与其他服务(如NAS、Home Assistant)共存在同一设备上。
2. 模块化配置
用户通过一份简单的YAML文件即可定义摄像头源、录制计划、移动检测参数及存储路径。支持按时间、事件或持续录制,并可设置保留天数自动清理旧文件。其内置的移动检测算法使用像素差异阈值,无需GPU加速,功耗极低。
3. 隐私与安全
所有视频数据完全存储在本地,不经过任何第三方服务器。系统默认强制开启HTTPS,并支持基本认证与IP白名单。开发者表示,未来将加入端到端加密的远程访问功能(通过Tailscale或WireGuard隧道),进一步强化隐私保护。
4. 自修复与远程管理
CheapSecurity集成了看门狗机制,若某一摄像头断流或进程异常,系统将自动重启相关模块并发送邮件通知。Web界面提供实时直播、缩略图时间线、事件列表及日志查看。
技术实现与部署
CheapSecurity当前仅支持基于Debian/Ubuntu的Linux发行版(包括Raspberry Pi OS、Armbian),通过一个命令行脚本即可完成依赖安装与编译。开发者强调,项目依赖极少——除FFmpeg和libv4l2外,仅需libmicrohttpd提供轻量HTTP服务。这使得其构建时间通常不超过两分钟。
在实际测试中,采用树莓派Zero 2W搭配一枚USB摄像头,即可实现流畅的1080p预览与录制,整机功耗不足2瓦。对于需要多路监控的用户,树莓派4B可稳定支持4路720p摄像头同时录像。
应用场景与价值
CheapSecurity尤其适合以下场景:
- 家庭安防:作为智能家居的一部分,与Home Assistant联动,将本地摄像头接入自动化场景。
- 小型商铺/仓库:无需布设昂贵的PoE交换机和NVR,一根网线、一台SBC加几枚USB摄像头即可。
- 远程工作区监控:通过VPN或端口转发,从手机或笔记本实时查看办公室或实验室情况。
- 教育/实验:用于计算机视觉教学、边缘计算实验或低成本原型验证。
业界观察者认为,CheapSecurity的出现进一步降低了个人和小型组织构建私有安防系统的门槛。相较于商业云摄像头存在的订阅费、厂商锁定以及隐私泄露风险,自托管方案正成为技术用户的理性选择。
开发者声音
项目开发者(网名devnull)在接受邮件采访时表示:“Shinobi和Frigate都是优秀的项目,但我想要一个更‘朴素’的方案——没有Node.js、没有Python,只有一个二进制文件和最少的外部依赖。CheapSecurity就是这样的结果。它不会尝试去做对象识别或人脸检测,它只做好一件事:稳定地录制视频,并且让你能随时查看。”
他还提到,项目目前仍处于早期阶段(v0.3),计划在下一个版本中添加RTSP推送功能(直接将视频流发送到外部NVR或媒体服务器),以及支持更广泛的摄像头驱动。
结语
CheapSecurity以其极致的轻量化和隐私优先设计,为自托管安防提供了一条清晰的路径。虽然现阶段尚不支持AI分析与高并发场景,但对于追求低成本、高可靠性及自主控制的用户而言,它无疑是当前最具吸引力的开源CCTV方案之一。项目代码已在GitHub上以GPL-3.0许可开源,感兴趣的读者可前往部署测试。