NAS宝藏开源项目:免费搭建智能视频监控平台

logo.png

最近在 GitHub 上刷到一个特别实用的开源项目——Owl,这是一个完全免费的视频监控平台,用 Go 语言开发的,部署起来超级简单。更厉害的是,它不仅支持各种主流的监控协议,还内置了 AI 智能检测功能。看了一圈,感觉这个项目真的很适合分享给大家。

这个项目是干什么的#

Owl 是一个视频监控管理平台,说白了就是让你能把各种摄像头接入进来,然后在网页上统一管理和观看。不管你的摄像头是什么牌子、什么型号,基本上都能接进来用。

这个项目最大的亮点就是开箱即用。不需要你有多深的技术功底,跟着文档操作,很快就能把整套系统搭起来。而且完全免费开源,代码放在 GitHub 上,想怎么改就怎么改。

项目地址:https://github.com/gowvp/owl
在线演示:http://gowvp.golang.space: 15123(用户名密码都是 admin)

有兴趣的朋友可以先去看看在线演示,直观感受一下效果。

为什么值得关注#

说起视频监控,很多人第一反应就是海康、大华这些品牌的商业方案。但问题是,这些方案要么价格不便宜,要么功能被限制得死死的。想自己折腾一套,又发现开源项目大多是 Java 或 C++ 写的,光是把环境搭起来就要费半天劲。

Owl 这个项目就很好地解决了这些痛点:

部署简单到爆。因为是用 Go 语言开发的,编译出来就是一个独立的可执行文件,没有乱七八糟的依赖。再加上 Docker 镜像,一条命令就能跑起来。

协议支持全面。国标 GB28181 协议支持得特别好(2011、2016、2022 三个版本都支持),还支持 ONVIF、RTSP、RTMP 这些常见协议。也就是说,不管你家里的摄像头是国产的还是进口的,新的还是旧的,基本都能接入。

带 AI 检测功能。集成了 YOLO 物体识别算法,能自动识别画面中的人、车、动物等。比如你想知道有没有陌生人闯入院子,或者想统计每天有多少车经过门口,这个功能就派上用场了。

节省带宽。有个很聪明的设计叫”按需拉流”,就是只有当你打开网页看监控的时候,系统才会从摄像头拉取视频。没人看的时候自动停止,这样能节省大量带宽和流量。

功能清单#

看看这个平台具体都能干什么:

设备接入

  • 支持 GB28181 标准设备(摄像头、NVR、平台级联等)
  • 支持 ONVIF 协议的网络摄像机
  • 支持 RTSP 和 RTMP 流媒体设备
  • 可以自动发现局域网内的 ONVIF 设备

视频播放

  • 浏览器直接播放,不需要装插件
  • 支持 H264 和 H265 视频编码
  • 支持 G711A、G711U、AAC 音频编码
  • 支持多种播放协议:HTTP-FLV、WebSocket-FLV、HLS、WebRTC、RTSP、RTMP
  • 可以跨网络观看(内网摄像头,外网也能看)

智能检测

  • YOLO AI 物体识别
  • 默认每秒检测 5 帧画面
  • 可以根据需要关闭或调整检测频率

其他功能

  • 设备目录查询
  • 设备信息查询
  • 实时快照抓取
  • 设备校时
  • 自动离线检测
  • 中文和英文界面切换

手把手教你部署#

好了,重点来了——怎么把这个平台搭起来。作者提供了超级简单的 Docker 部署方案,跟着做就行。

准备工作#

部署之前,你需要确保服务器上已经装好了:

  • Docker(必须)
  • Docker Compose(必须)

第一步:创建一个目录,比如叫 owl-nvr

1
2
mkdir owl-nvr
cd owl-nvr

第二步:创建 docker-compose.yml 文件

1
nano docker-compose.yml

把下面的内容复制进去:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
services:
gowvp:
image: gospace/gowvp:latest
restart: unless-stopped
ports:
# 管理平台端口
- 15123:15123
# GB28181 信令端口
- 15060:15060
- 15060:15060/udp
# 流媒体端口
- 1935:1935 # RTMP
- 554:554 # RTSP
- 8080:80 # HTTP
- 8443:443 # HTTPS
- 10000:10000
- 8000:8000/udp
- 9000:9000/udp
# GB28181 收流端口范围
- 20000-20100:20000-20100
- 20000-20100: 20000-20100/udp
volumes:
# 数据持久化目录
- ./data:/opt/media/bin/configs

第三步:启动服务

1
docker compose up -d

看到类似 “Container owl-nvr-gowvp-1 Started” 的提示,就说明启动成功了。

第四步:访问管理界面

打开浏览器,访问 http://你的服务器IP:15123

默认账号密码都是:admin

第一次登录建议马上修改密码。

有些地区访问 Docker Hub 可能比较慢,可以改用阿里云镜像:

1
image: registry.cn-shanghai.aliyuncs.com/ixugo/homenvr:latest

AI 检测功能配置#

Owl 默认就开启了 AI 检测,每秒检测 5 帧画面。不需要额外配置,直接就能用。

如果你觉得检测太频繁或者不需要 AI 功能,可以关闭它:

  1. 进入容器配置文件:
1
docker exec -it owl-nvr-gowvp-1 cat /opt/media/bin/configs/config.toml
  1. 修改配置文件,添加或修改这一行:
1
disabledAI = true
  1. 重启服务:
1
docker compose restart

使用 Nginx 反向代理#

如果想通过域名访问,可以配置 Nginx 反向代理。配置文件里加上这几行:

1
2
3
4
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix "https://你的域名";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

适合什么场景#

这个项目特别适合以下场景:

家庭监控:想在家里装几个摄像头看宠物、看孩子,又不想花大价钱买商业方案的。

小微企业:公司规模不大,想搭个监控系统管理办公区、仓库、门店的。

学习研究:想了解视频监控技术、GB28181 协议,或者学习 Go 语言项目开发的。

私有化部署:对数据安全特别在意,不想把视频流传到云端厂商那里的。

老设备利用:手头有一堆旧摄像头,想统一管理起来继续用的。

项目资源#

如果想深入了解这个项目,这些资源可能有帮助:

项目地址https://github.com/gowvp/owl
在线演示http://gowvp.golang.space:15123
API 文档https://apifox.com/apidoc/shared-7b67c918-5f72-4f64-b71d-0593d7427b93

作者还写了一系列开发日记,从零开始讲怎么实现 GB28181 协议,挺适合想学习的朋友:

  • GB/T28181 开源日记[1]:从 0 到实现 GB28181 协议的完整实践
  • GB/T28181 开源日记[2]:搭建服务端,解决跨域,接口联调
  • GB/T28181 开源日记[3]:使用 React 组件构建监控数据面板

等等,一共有 8 篇,都发在掘金上,搜”GB/T28181 开源日记”就能找到。

还有一些使用教程,都挺详细的,新手也能看懂。

写在最后#

Owl 这个项目目前已经有 600 多个 Star 了,社区挺活跃的。作者还在持续更新,下一步计划支持 HomeKit 集成(也就是能在苹果 Home 里看摄像头),还有录像回放、PTZ 云台控制等功能。

如果你正好有视频监控的需求,不妨试试这个项目。部署真的很简单,10 分钟就能跑起来。就算最后没用上,折腾一下学点东西也挺好的。

NAS宝藏开源项目:免费搭建智能视频监控平台

https://homer.sisubeny.space/posts/21cf579a.html

Author

Homer

Posted on

2026-01-10

Updated on

2026-04-07

Licensed under