mac 篇二:自建docker视频录像机NVR存储-家用摄像头云存储服务zoneminder
目录:
前言
Docker配置 Zoneminder
Zoneminder 配置摄像头
Homeassistant 接入
前言
上次的文章中提到了很多关于我家用黑苹果作为服务器所运行的功能。请参考mac 篇一:macOS server + Docker,我的家庭服务解决方案
其中有很多服务器是跑再docker上的,全平台通用。类似于plex,calibre之类的,张大妈上面已经有很多类似的文章了。
真正的视频监控管理,大家选择NVR都是采用硬件,海康之类的。专业设备其实价格非常高,而我们日常家用,也就一两个摄像头。且往往因为品牌原因和很多nvr不兼容。
其次,家用摄像头大多是用sd卡本地存储。如果家里进贼了,别的不敢肯定,摄像头必须带走。如果你没有购买家用品牌摄像头的云存储,那么摄像头就是个带流媒体的摆设。而这些云存储空间的价格,有点小贵。并且,我很不信任这些云存储。
价格
所以,最终在尝试了很多NVR以后,稳定使用了zoneminder。 接下来就进入无脑复制黏贴代码教程
配置zoneminder
先说一下,我是用mac terminal来操作的,群晖之类linux的系统,可以用docker面板去安装么,当然也可以复制我的代码
Step 1 建一个网络模式
docker network create net
Step 2 新建数据库
以下代码中,你可以无脑直接复制使用,或者更换个数据库的用户名和密码以及docker contianter名称(如果这改了,Step 3也请修改)
docker run -d -e TZ=Asia/Shanghai -e MYSQL_USER=zmuser -e MYSQL_PASSWORD=zmpass -e MYSQL_DATABASE=zm -e MYSQL_ROOT_PASSWORD=mysqlpsswd -e MYSQL_ROOT_HOST=% --net net --name zmdbtest mysql/mysql-server:5.7
在数据库创建完成以后, 稍微等个1分钟。 如果你的docker本地库中没有mysql,那估计需要一会,因为我已经pull过mysql的镜像了,所以直接完成了。
配置数据库
Step 3 配置并拉取zoneminder镜像
我用的是一个现成的镜像,dockerhub上面找的,100万点赞。的确非常不错DockerHub镜像地址
以下代码中请替换你的本机存储地址和你想用的端口(如果Step 2当中对数据库镜像名做了修改,此处也需要修改输完命令后,你需要等待一段事件,让docker去拉取镜像
docker run -d --shm-size=4096m -v /Volumes/HomeDate/docker/nvr:/var/cache/zoneminder/events -e TZ=Asia/Shanghai -e ZM_DB_HOST=zmdbtest --net net --name zmtest -p 8099:80 quantumobject/docker-zoneminder
其中-v /Volumes/HomeDate/docker: 把-v空格后面的修改成你希望视频存储的路径,必须修改
其中-e ZM_DB_HOST=zmdbtest:如果你对数据库做了改名请,将zmdbtest变成你修改的名称
配置ZM
完成以上操作后,你可以用docker ps命令或者portanier看一下两个镜像的运行状态,
Portanier
配置摄像头
zoneminder安装成后,用浏览器访问 192.xxx.xxx.xxx(你的服务器ip地址):8099(你设置的端口地址)/zm,就像这样 192.168.31.222:8099/zm
一定记得访问需要加上斜杠/ZM
之后你会看到隐私申明界面,拉倒最底下,apply即可。
隐私申明
进入主页后,就可以开始配置了,我这里用我家的垃圾摄像头,海尔的贴牌货,加工方是yoosee,连ios客户端都可以混用的纯正贴牌。采用的是ovnic传输方式。
主页
添加摄像头
需要根据你的设备所使用的协议来添加摄像头,我在添加摄像头上花的时间可能比配置整个服务的时间还长,建议你可以参考zm的官方文档,当中罗列了很多摄像头品牌及配置方式。官方wiki链接:zm wiki
这里补充以下Zoneminder的录像模式,monitor代表仅监控,record代表录像,morecord就是又监控又录像,比较常用。当然zm还有很多动态监测录像,还有一大堆的配置选项,这个就看你的需求了。
如果你是海尔的或者yoosee的,直接照我的来应该就可以了。配置前,请现在手机客户端中设置你的NVR用户名和密码:
- general - source type修改为libvlc - source - source path填写rtsp://username:password@192.168.31.xxx:554/onvif1 - source - capture width:录像长 - source - capture height:录像宽
配置摄像头
最终效果:
监控界面
存储路径:
存储状况
Home Assistant接入
Yoosee的ovnic接入HA非常不友好,基本上10秒一帧,有了zm就不一样了。毕竟HA官方是支持zm接入的,请再配置文件中写入以下内容(先去设置一下zm的用户和密码
zoneminder: - host: 192.168.31.xxx:port username: xxxxx password: xxxxx
差不多就这样。
appleman44
校验提示文案
Maxwww
校验提示文案
值友96
校验提示文案
值友7755042558
校验提示文案
爱吃的小胖子
校验提示文案
上帝也忙着数钱
校验提示文案
上帝也忙着数钱
校验提示文案
爱吃的小胖子
校验提示文案
值友7755042558
校验提示文案
值友96
校验提示文案
Maxwww
校验提示文案
appleman44
校验提示文案