一位开发者在 GitHub 上开源了 CheapSecurity,把闲置的 Linux 单板机和普通 USB 摄像头,改造成一套能移动侦测、本地录像、邮件和 Telegram 告警的自托管监控系统。不用买专用摄像头,不用交月费,画面和录像全部存在自己手里。

这套东西的价值不在技术新颖。它把"监控数据不出家门"这件事的门槛,从买一套私有云盘,降到了一块吃灰的单板机加一个普通摄像头。但省下订阅费的代价,是把部署、维护和安全全部压在用户自己身上——这不是一款开箱即用的产品。

一块闲置单板机能跑出什么

运行门槛是 Python 3.10 以上,依赖 OpenCV 的 V4L2 支持。装好之后,通过 5000 端口打开一个网页面板,能看直播、看录像、调设置。

核心功能不复杂:MJPEG 直播、帧差法移动侦测、触发时带预录缓冲的本地录像、动作发生时发一张快照邮件、录完自动把视频传到 Telegram,存储满了按时间和容量自动清理旧文件。整个项目按 GNU AGPLv3 协议开源,代码和配置全部摆在明面上。

这些功能单独看都不新鲜,OpenCV 加 V4L2 几乎是 DIY 监控圈子的标配技术栈。CheapSecurity 做的事,是把这些散件打包成一套能直接跑起来的系统,省掉自己从零攒代码的力气。

自托管 vs 云订阅摄像头 CheapSecurity 硬件:闲置单板机+USB摄像头 费用:无月费/年费 数据:本地存储,不出网 部署:需自行配置维护 体验:非即插即用 消费级云摄像头 硬件:厂商专用摄像头 费用:云存储订阅制 数据:存于厂商服务器 部署:扫码即用 体验:App推送+售后保障

谁该现在装,谁该再等等

手里有闲置树莓派、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 上只有作者自述的功能列表,没有独立测试佐证性能和识别效果。