一次摄像头的任务 - 1

来源:互联网 发布:局域网远程软件 编辑:程序博客网 时间:2024/05/18 02:00

哎,这回到家乡的工作真是有意思,除了本质的Devop之外,还有一些其他的小项目。这不,就遇到了市里边的一个环保监控项目。其实我们本来是做环保的,就是数据上传然后处理,但是环保视频监控这种项目也落到了我们这儿,还是其他子公司,但是只能硬着头皮网上上了。

这次的任务主要是摄像头的几种监控,并向市一级汇报。

毕竟没有经验,打电话给市一级的工程师咨询,我们区这个20多个企业的信息如何给你们呀,是不是要分配一个地址段呢?对方给了一个非常牛叉的建议,建议使用NVR,然后他们那边只需要配置一个就好了,不用配置多个地址,以后维护也方便。恩,听起来也比较有道理。

对于运维工程师来讲,这个NVR的作用有点类似网关的意思,出于职业病,联想到是不是有开源的软件可以用用来。于是乎,找到了cvr这个项目。

至于服务器么,只是在某数据中心的机器,如果我们要测试项目,是不是可以打个docker镜像来。

打镜像

一开始采用的是centos7.8,然后是ubuntu:14.04(官方推荐),最后到了ubuntu/desktop:16.04这个才好使。

  • Dockerfile
[root@t11 nvr]# cat Dockerfile #from  ubuntu-desktop:16.04from queeno/ubuntu-desktop:latestrun cd /etc/apt/; sed -i 's:archive.ubuntu.com:mirrors.aliyun.com:g' sources.listrun apt-get updaterun apt-get install -y libx11-dev yasm libxext-dev libgl1-mesa-dev zlib1g-dev "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev  libglib2.0-dev libpng12-dev vlcrun apt-get install -y telnet ping geditadd ./OpenCVR-r2.2.1129.16-Ubuntu-16.04-64bit /usr/local/cvrentrypoint /usr/bin/vncserver :1 -geometry 1280x800 -depth 24; cd /usr/local/cvr; ./startstor.sh; touch /tmp/1.txt; tail -f /tmp/1.txt
  • 一键打镜像
#!/bin/bashname="nvr"tag="v3.0e1"repoaddr="reg.ops.ac.cn:5000"docker build -t $name:$tag .imageid=`docker images | grep $tag  | head -n 1 | awk '{print $3}'`#docker tag -f $imageid $repoaddr/$name:$tagdocker tag $imageid $repoaddr/$name:$tagdocker push $repoaddr/$name:$tag

ngrok + vlc测试

这个地方主要是测试rtsp流了,大华的地址规则是

rtsp://admin:admin@xxx:554/cam/realmonitor?channel=1&subtype=1

ngrok用于将内部端口打出来,vlc用于串流测试,成功喽。

数据中心运行docker

机器里面运行的是centos6.5,运行docker的时候会报错,提示需要将内核升级到3.X,无奈,yum update下吧,update完成之后,没有着急重启,嘿,居然可以启动了。

数据中心 + docker + opencvr测试

测试的时候,遇到了一个大问题,opencvr软件打开后,输入的东西不是键盘打字儿的东西,但是可以粘贴,无奈只得在docker里面加上了 gedit。

可是最终配置完成,还是没有展现画面,有点失望。

配图

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

参考

http://blog.csdn.net/xiejiashu/article/details/38523437

0 0
原创粉丝点击