一位开发者在 GitHub 上开源了 CheapSecurity,把闲置的 Linux 单板机和普通 USB 摄像头,改造成一套能移动侦测、本地录像、邮件和 Telegram 告警的自托管监控系统。不用买专用摄像头,不用交月费,画面和录像全部存在自己手里。
这套东西的价值不在技术新颖。它把"监控数据不出家门"这件事的门槛,从买一套私有云盘,降到了一块吃灰的单板机加一个普通摄像头。但省下订阅费的代价,是把部署、维护和安全全部压在用户自己身上——这不是一款开箱即用的产品。
一块闲置单板机能跑出什么
运行门槛是 Python 3.10 以上,依赖 OpenCV 的 V4L2 支持。装好之后,通过 5000 端口打开一个网页面板,能看直播、看录像、调设置。
核心功能不复杂:MJPEG 直播、帧差法移动侦测、触发时带预录缓冲的本地录像、动作发生时发一张快照邮件、录完自动把视频传到 Telegram,存储满了按时间和容量自动清理旧文件。整个项目按 GNU AGPLv3 协议开源,代码和配置全部摆在明面上。
这些功能单独看都不新鲜,OpenCV 加 V4L2 几乎是 DIY 监控圈子的标配技术栈。CheapSecurity 做的事,是把这些散件打包成一套能直接跑起来的系统,省掉自己从零攒代码的力气。
谁该现在装,谁该再等等
手里有闲置树莓派、Orange Pi 或者 Odroid,又愿意折腾 Linux 命令行的技术用户,装这套系统的边际成本几乎为零。硬件本来就在吃灰,学费顶多是几个晚上的调试时间。
评估自托管方案的开发者,也可以把它当成现成的移动侦测加告警骨架,在这基础上改自己需要的样子。
普通家庭用户得先想清楚三件事:谁来打系统更新,录像存多久,网络暴露出问题谁负责。这些活,萤石、小米这类云摄像头厂商替你做了,月费买的其实就是这份省心。
| 场景 | 推荐做法 |
|---|---|
| 有闲置 SBC,愿意维护 Linux | 直接部署,边际成本低 |
| 想要告警骨架做二次开发 | 可作为现成脚手架 |
| 只想要画面,不想碰命令行 | 优先选云摄像头 |
| 需要 7x24 稳定报警和售后 | 云服务仍有优势 |
软件夜视撞上硬件天花板,公网部署得自己防
夜间模式靠软件 CLAHE 增强加亮度对比度调整,再尝试拉低帧率、提高增益。项目文档自己写明——大多数普通 USB 摄像头不开放曝光和增益的 V4L2 控制接口,这些调整很可能被摄像头直接忽略。
真正的夜视能力,还是得靠红外敏感摄像头配合红外补光灯。软件方案顶多让弱光画面的轮廓稍微看清一点,这条限制值得单独记一下:买错摄像头,"夜间模式"四个字基本白搭。
生产环境默认用 Gunicorn 绑定在 0.0.0.0:5000,局域网内任何设备都能直接访问这个网页面板。要暴露到公网,前面必须加一层带 HTTPS 和认证的反向代理,内置的 Basic Auth 不够用。config.json 里存着 SMTP 密码和 Telegram Bot Token,这个文件被列进了 .gitignore——一旦泄露,后果不止是丢监控画面。
启用邮件或 Telegram 告警,意味着抓拍图片和录像片段要经过第三方服务器中转。"数据完全本地化"这句话,在开告警的那一刻就不成立了。
接下来最该盯的变量,是项目能不能扩充摄像头兼容清单,能不能有更多用户跑出稳定性反馈。目前 GitHub 上只有作者自述的功能列表,没有独立测试佐证性能和识别效果。
