20264 月30
AI:用Claude Code 开发了一款轻量级摄像头监控平台,飞牛OS应用
功能说明
基于 Python FastAPI + SQLite + Ant Design + ZLMediaKit + Jessibuca 实现的简易 ONVIF / RTSP 摄像头监控平台。
- Python:实现WEB后台服务,包括用户登陆相关、摄像头操作接口、录像文件定时清理等
- ZLMediaKit:流媒体服务,提供推流转发、录像等流媒体功能
- SQLite:存储用户名、密码、权限、摄像头信息、录像文件信息
- Ant Design:前端界面,由AI生成(感觉交互还有优化空间)
- Jessibuca:前端流媒体播放器
https://github.com/budwk/budcam 源码及安装包地址
安全机制
- 用户身份:Jwt Token
- 摄像头权限:通过 SQLite 数据库关联查询
- 流媒体服务:hook 通过用户 token 回调验证,不登陆获得合法 token 无法通过链接直接查看摄像头
- 网络安全:流媒体服务通过 nginx + 前端代理,无需暴露流媒体服务端口
开发心得
- 打包fpk安装包:创建独立配置文件,需要把脚本放到 cmd/install_callback 里,直接放 intsall_init 是不行的,而且要通过挂在文件夹的方式挂在到docker,而不是直接挂在文件,因为docker会把文件路径创建成文件夹,导致文件创建失败