ZoneMinder
摄像头
购买
关键点是选择支持onvif协议的ip摄像头
RTSP地址
获取IP摄像头的RTSP流媒体地址
需要用到Onvif Device Manager
部署
快速部署
Docker 容器化部署 ZoneMinder 的 docker-compose.yml 文件
# Docker Compose 文件版本为 3
version: '3'
# 定义名为 zoneminder 的服务
services:
zoneminder:
# 使用 dlandon 用户提供的 ZoneMinder 最新 Docker 镜像
image: dlandon/zoneminder:latest
# 设置容器启动后的名称
container_name: zoneminder
# 设置容器总是重启策略,即使退出也会尝试重启
restart: always
# 不以特权模式运行容器,限制其对主机资源和设备的访问权限
privileged: false
# 设置共享内存大小为4GB,满足视频监控系统需求
shm_size: 4G
# 设置环境变量
environment:
# 设置容器内部时区为上海时间
TZ: Asia/Shanghai
# 设置容器内进程用户ID与组ID
PUID: 99
PGID: 100
# 可能用于多端口映射配置(此处未启用)
MULTI_PORT_START: 0
MULTI_PORT_END: 0
# 端口映射
ports:
# 将宿主机8443端口映射到容器内部443端口(HTTPS通信)
- "8443:443/tcp"
# 将宿主机9001端口映射到容器内部9000端口(可能为ZoneMinder服务端口)
- "9001:9000/tcp"
# 数据卷挂载
volumes:
# 挂载宿主机配置目录到容器配置目录,实现配置文件持久化存储
- "/mnt/zoneminder/config:/config:rw"
# 挂载宿主机缓存目录到容器缓存目录,用于持久化其他需要保存的数据
- "/mnt/zoneminder:/var/cache/zoneminder:rw"手动设置
选择镜像
搜索 zoneminder ,选择第一个 quantumobject/docker-zoneminder,版本选择 latest
挂载卷
在 docker 文件夹中,创建一个新文件夹,并将其命名为 zoneminder,再建一个子目录 config
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/zoneminder/config | /config | 存放设置 |
docker/zoneminder/zm | /var/cache/zoneminder | 存放截图、事件等 |
端口映射
Web 用了端口 3380 ,Event Server 从 9000 改为了 9030,
| 本地端口 | 容器端口 |
|---|---|
| 3380 | 80 |
| 9030 | 9000 |
| 6802 | 6802 |
环境
| 可变 | 值 |
|---|---|
ZM_DB_HOST | 数据库地址,默认值为 db |
ZM_DB_NAME | 库名,默认值为 zm |
ZM_DB_USER | 数据库用户名,默认值为 zmuser |
ZM_DB_PASS | 数据库密码,默认值为 zmpass |
ZM_DB_PORT | 数据库端口,默认值为 3306 |
TZ | 时区,默认值为 America/New_York |
ZM_DB_HOST :设为主机的 IP
使用
进入Web页面
在浏览器中输入 http://主机IP:3380/zm
隐私条款
拉到最下面,左侧选择 Accept,右侧点 APPLY
设置中文
菜单 Options –> System –> LANG_DEFAULT,从 en_gb 改为 cn_zh
拉到最下面,右侧点 save
添加摄像头
控制台 –> 新建监视器
选项卡-【一般】

名称:只能使用数字、字母、破折号和下划线
Server:选则
Auto信号源类型:选则
FFmpeg功能:选则
监视
选项卡-【信号源】

信号源路径:
rtsp://192.168.0.81:554/user=admin&password=&channel=1&stream=0.sdp?real_stream远程方法:用了默认的
TCP捕获分辨率:按实际的填写就可以
信号源路径
用Onvif Device Manager来获取RTSP流媒体地址
登录
此时输入的用户名和密码为【摄像机设备】自身的用户名和密码,有的厂家设备不需要。输入正确的用户名和密码,即可实时预览IPC及参数配置。
实时预览
在**【Device List设备列表】选择一个IPC(单击即可),点击【Live video】**即可预览该IPC画面,main stream是主码流预览,sub stream是子码流预览
预览画面的下方,会显示rtsp路径
rtsp://192.168.10.167:8554/screenlive&unicast&p=rtsp&ve=H264&w=1920&h=1080&ae=PCMU&sr=8000
海康地址格式分段含义说明
rtsp://[username]:[password]@[address]:[port]/Streaming/Channels/[id]?transportmode=[type]rtsp:// => 协议格式头
username => 用户名,例如:admin
password => 密码,例如:123456
address => IPC设备的网络地址,例如:192.168.1.65
port => IPC设备的RTSP输出端口,默认为554,若为默认可不填写
id => 通道号&码流类型
- 101:通道1主码流 201通道2主码流
- 102:通道1子码流 202通道2子码流
- 103:通道1第三码流
- 1201:通道17主码流
- 001:通道0主码流
type => 可选参数,拉流模式,默认为unicast,若为默认可以不填写
- unicast:单播模式拉流
- multicast:组播模式拉流
rtsp://admin:1HCepUAE@192.168.10.206:554/h264/ch1/main/av_streamrtsp://admin:admin@192.168.10.206:554/h264/ch1/main/av_streamrtsp://192.168.10.206:554/h264/ch1/main/av_streamrtsp://用户名:密码@ip:端口号/编码格式/通道号/码流/av_stream
- 2023年后更新的固件,萤石的RSTP会被默认关闭,需要在【萤石云视频APP】中手动开启RSTP:
- 【我的】-【工具】-【局域网设备预览】-【开始扫描】-【选择摄像头】-【设置】-【更多设置】-【本地服务开关】-【开启RTSP】-【保存】。
- 稍等1分钟,PotPlayer即可打开RSTP连接。
- RSTP刚连上是【黑屏】启用连接服务最终显示画面需要等待10秒左右;如果一直黑屏不显示画面,则是因摄像头只支持一个视频通道,如果APP在查看监控画面,RSTP就一直黑屏,需要先关闭APP再试。
模拟摄像头
PC-VirtualCamera
VirtualCamera是一款虚拟的Onvif IP摄像机,它是将windows电脑屏幕变成一个Onvif协议的网络摄像机,可以在现有的监控系统(VMS\NVR)中轻松地接入PC工作站。该软件可以获取计算机屏幕和网络摄像机视频流,然后将它们作为虚拟IP摄像机的实时在线视频源进行传输存储记录与实时显示。
http://www.bakevision.cn/virtualcamera/information.html
免费试用3天

移动端-IP摄像头
IP Camera_v26.9_apkpure_shenyao_china.com.apk 沈垚


点击分享

参考文献
- https://blog.csdn.net/weixin_38165869/article/details/129496553
- https://laosu.cf/2021/05/28/Web%E7%89%88%E8%A7%86%E9%A2%91%E7%9B%91%E6%8E%A7%E8%BD%AF%E4%BB%B6ZoneMinder/#%E5%AE%89%E8%A3%85%E9%95%9C%E5%83%8F
- https://zhuanlan.zhihu.com/p/659949180
- https://zhuanlan.zhihu.com/p/110648002
- https://zhuanlan.zhihu.com/p/367194479