Shinobi视频监控平台
前言:环境配置真痛苦,docker度你不迷糊!
参考网站:https://hub.docker.com/r/migoller/shinobidocker
主机系统:ubuntu16.04
配置目的:利用Shinobi组建局域网监控平台
所需软件:docker、Shinobi、ffserver
1.Shinobi配置(docker)
1.1 docker一键pull镜像
docker pull migoller/shinobidocker
1.2 按照网站中的步骤完成以下部分,其余部分忽略
Dock the "microservice" Shinobi Docker image
- 创建Shinobi目录[Path to Shinobi direcory]及其子目录:
mkdir -p [Path to Shinobi direcory]/config [Path to Shinobi direcory]/datadir [Path to Shinobi direcory]/videos
- Shinobi目录下创建一个文件docker-compose.yml,内容如下:
version: '2'services:db:image: mariadbenv_file:- MySQL.envvolumes:- ./datadir:/var/lib/mysqlshinobi:image: migoller/shinobidocker:microservice-debianenv_file:- MySQL.env- Shinobi.envvolumes:- /etc/localtime:/etc/localtime:ro- /etc/timezone:/etc/timezone:ro- ./config:/config- ./videos:/opt/shinobi/videos- /dev/shm/shinobiDockerTemp:/dev/shm/streamsports:- "8080:8080"
- Shinobi目录下创建MySQL.env文件:
MYSQL_USER=majesticflameMYSQL_PASSWORD=passwordMYSQL_HOST=dbMYSQL_DATABASE=ccioMYSQL_ROOT_PASSWORD=blubsblawootMYSQL_ROOT_USER=root
- Shinobi目录下创建Shinobi.env文件:
ADMIN_USER=admin@shinobi.videoADMIN_PASSWORD=adminCRON_KEY=b59b5c62-57d0-4cd1-b068-a55e5222786fPLUGINKEY_MOTION=49ad732d-1a4f-4931-8ab8-d74ff56dac57PLUGINKEY_OPENCV=6aa3487d-c613-457e-bba2-1deca10b7f5dPLUGINKEY_OPENALPR=SomeOpenALPRkeySoPeopleDontMessWithYourShinobiMOTION_HOST=localhostMOTION_PORT=8080
- 后台启动Shinobi stack:(关闭可以用sudo docker-compose down)
sudo docker-compose up -d
- 运行mariadb:(YourMariaDbContainerName可以随便写,但是后面步骤必须与其一致;Shinobi目录下新建一个文件夹[Path to your MariaDB server data files];[Your very strong MariaDB root password]可以随便写,但一定要记住。)
docker run -d --name [YourMariaDbContainerName] -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -v [Path to your MariaDB server data files]:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=[Your very strong MariaDB root password] -p 3306:3306 mariadb
- 运行Shinobi:(YourMariaDbContainerName与上一步相同)
docker run -d --link [YourMariaDbContainerName]:db -p 8080:8080 -e ADMIN_USER=admin@shinobi.video -e ADMIN_PASSWORD=admin -e MYSQL_USER=majesticflame -e MYSQL_PASSWORD=password -e MYSQL_HOST=db -e MYSQL_DATABASE=ccio -e MYSQL_ROOT_PASSWORD=[Your very strong MariaDB root password] -e MYSQL_ROOT_USER=[Your MariaDB root username] -e CRON_KEY=b59b5c62-57d0-4cd1-b068-a55e5222786f -e PLUGINKEY_MOTION=49ad732d-1a4f-4931-8ab8-d74ff56dac57 -e PLUGINKEY_OPENCV=6aa3487d-c613-457e-bba2-1deca10b7f5d -e PLUGINKEY_OPENALPR=SomeOpenALPRkeySoPeopleDontMessWithYourShinobi -e MOTION_HOST=localhost -e MOTION_PORT=8080 -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -v [Path to your Shinobi data files]/config:/config -v [Path to your Shinobi data files]/datadir:/var/lib/mysql -v [Path to your Shinobi data files]/videos:/opt/shinobi/videos -v /dev/shm/shinobiDockerTemp:/dev/shm/streams migoller/shinobidocker:microservice-debian
- 浏览器登录:(xxx.xxx.xxx.xxx就是主机IP地址)
Web Address : http://xxx.xxx.xxx.xxx:8080/super
Username : admin@shinobi.video
Password : admin
- 创建自己的账户,以后可直接登录自己的账户:
http://xxx.xxx.xxx.xxx:8080/
2.流媒体推送usb摄像头
配置流媒体服务,ffmpeg将usb摄像头获取的图像信息推送至局域网中的流媒体服务器(ffserver),局域网中其他用户可用rtsp的方式获取usb摄像头的图像流。
对于ffmpeg的流媒体推送理解:https://blog.csdn.net/zouli415/article/details/79652749
ffserver和ffmpeg配置:https://blog.csdn.net/zong596568821xp/article/details/88540455
运行ffserver:
sudo ffserver -f /etc/ffserver.conf
运行ffmpeg:
sudo ffmpeg -f v4l2 -i /dev/video0 -s 640x480 -r 24 -vcodec libx264 -an http://127.0.0.1:8090/feed1.ffm
Shinobi服务器查看:
填写rtsp地址,Full URL PathThe full Stream URL.
选择查看流类型:
3.流媒体推送IntelRealSenseD435
参考网站1:https://blog.csdn.net/dieju8330/article/details/85420584
参考网站2:https://github.com/lam2003/v4l2_webstream_server/tree/f64a1f9429c74a110c57f519ac8658057203ca14
吐槽一下:
- 光是一个usb摄像头要实现流媒体服务推送rtsp流(C++编程),就已经很麻烦了。IntelRealSenseD435是3个摄像头,需要用到librealsense SDK,所以就更加难搞,只能学习网站给的程序,搞个野路子!!!
- 网站1和网站2虽然给出了代码,但是librealsense、x264、FFmpeg、live555、都需要自己编译,所以还是需要一定的编译基础的!
野路子思路:
- 获取:运用opencv正常读取IntelRealSenseD435深度图像,并保存为一个临时图片temp.jpg;
- 编码:用FFmpeg+x264实现对temp.jpg的编码,编码为H264数据流;
- 传输:用live555实现rtsp流服务,传输编码的H264数据流。
调试内容:
Intel RealSense D435的深度图为16bit-depth,RGB图为8bit-depth。
同时,用Intel RealSense D435采集640*480大小的图像,深度图采用CV_16U格式,RGB图采用CV_8UC3格式。
/*深度图*/
Mat depth_image(Size(depth_w,depth_h),CV_16U,(void*)depth_frame.get_data(),Mat::AUTO_STEP);
/*RGB图*/
Mat color_image(Size(color_w,color_h),CV_8UC3,(void*)color_frame.get_data(),Mat::AUTO_STEP);
gdb调试时可以看到,深度图dims=2, rows=480, cols=640, step[0]=1280,step[1]=2,RGB图dims=2, rows=480, cols=640, step[0]=1920,step[1]=3。(step[0]是矩阵中一行元素的字节数;step[1]是矩阵中一个元素的字节数),即深度图每一个元素都占用了2个字节存储,RGB图每个元素都占用的3字节存储(分别存储各通道数据)。
C++: int Mat::depth() const
The method returns the identifier of the matrix element depth (the type of each individual channel). For example, for a 16-bit signed element array, the method returns CV_16S . A complete list of matrix types contains the following values:CV_8U - 8-bit unsigned integers ( 0..255 )
CV_8S - 8-bit signed integers ( -128..127 )
CV_16U - 16-bit unsigned integers ( 0..65535 )
CV_16S - 16-bit signed integers ( -32768..32767 )
CV_32S - 32-bit signed integers ( -2147483648..2147483647 )
CV_32F - 32-bit floating-point numbers ( -FLT_MAX..FLT_MAX, INF, NAN )
CV_64F - 64-bit floating-point numbers ( -DBL_MAX..DBL_MAX, INF, NAN )
Shinobi视频监控平台相关推荐
- 中小学、幼儿园校园明厨亮灶视频监控平台要求
中小学.幼儿园校园明厨亮灶视频监控平台要求 为进一步落实学校食品安全主体责任,加强学校食堂食品安全管理工作,完善食品安全管理制度,规范加工制作行为,严厉打击食品安全违法违规行为,预防食物中毒事件的发生 ...
- 视频监控平台-GB28181-语音对讲功能
视频监控平台-GB28181-2016语音对讲功能 很多人在问我,语音对讲是怎么流程, 实现了怎么去测试,语音对讲是在2014版本提出来的,我这里详细写一遍国标28181-2016语音对讲的功能介绍. ...
- 利用华为云ECS服务器搭建安防视频监控平台
1. 前言 华为云的弹性云服务器(Elastic Cloud Server)是一种可随时自助获取.可弹性伸缩的云服务器,帮助用户打造可靠.安全.灵活.高效的应用环境,确保服务持久稳定运行,提升运维效率 ...
- TSINGSEE青犀视频监控平台的多种联网方式详解
TSINGSEE青犀视频根据流媒体传输协议的不同,拥有满足不同需求的视频监控平台.比如有支持国标GB28181协议的EasyGBS国标云服务,支持RTSP/Onvif协议的EasyNVR平台,以及可兼 ...
- 基于java spring框架开发部标1078视频监控平台精华文章索引
部标1078视频监控平台,是一个庞杂的工程,涵盖了多层协议,部标jt808,jt809,jt1078,苏标Adas协议等,多个平台功能标准,部标796标准,部标1077标准和苏标主动安全标准,视频方面 ...
- 浅析搭建高速公路视频监控平台的建设方案及必要性
一.方案背景 搭建高速公路视频监控平台的必要性有如下几点: 1)用于高速收费站的收费流程监控.安全监察.智能收费等相关管理工作: 2)用于交通卡口的测速.应急车道占用抓拍.违规行驶抓拍等: 3)用于监 ...
- 智慧城市视频监控平台组成
视频监控平台对本级接入的各种资源进行汇集管理,为上下级平台提供调用服务. (1)平台组成 平台由建立在 VPN 视频专用网络上的"中心管理"."媒体管理"&qu ...
- RTSP/RTMP/GB28181协议视频监控平台搭建之国网B接口协议介绍
我们知道TSINGSEE青犀视频全线产品对应了不同的视频协议,比如EasyNVR就是支持RTSP协议的视频平台,EasyDSS是支持RTMP协议的视频平台,EasyGBS是支持GB28181协议的视频 ...
- 利用华为云ECS服务器搭建安防视频监控平台【华为云至简致远】
1. 前言 华为云的弹性云服务器(Elastic Cloud Server)是一种可随时自助获取.可弹性伸缩的云服务器,帮助用户打造可靠.安全.灵活.高效的应用环境,确保服务持久稳定运行,提升运维效率 ...
- 华为 eSpace IVS 智能视频监控平台
eSpace IVS 智能视频监控平台 http://enterprise.huawei.com/cn/products/coll-communication/ivs/ivs-platform-s/h ...
最新文章
- module 'thread' has no attribute
- Ubuntu root 密码 sudo passwd
- python前缀表达式求值_python数据结构与算法 11 后缀表达式求值
- 「offer来了」2种递进学习思维,24道计网题目,保姆级巩固你的计网知识体系
- 帕累托最优生活例子_创业者:用博弈解决生活的难题
- kitti数据集反代下载
- 51nod1432 独木舟
- 今天将IE升级到了7.0版
- VMware vsphere Hypervisor、VMware vsphere和VMware Workstation小记
- Microsoft SQL Server 2008 (RTM) 升级到 Microsoft SQL Server 2008 R2
- html返回按钮 超链接,ppt中怎么添加超链接返回按钮
- 微信小程序如何跳转视频号直播间
- Java实现微信公众号授权登录
- 爬虫实现自动登陆抽屉网,实现对文章点赞,收藏,评论
- OLED电视与量子点电视,谁更值得买?
- win 10 安装单点Spark+Hadoop+Python环境
- eclipse如何设置背景颜色
- UBI,MTD(Memory Technology Device),raw flash,emmc,Flash,Block Device
- signal函数详解
- ”微服务一条龙“最佳指南-“最佳实践”篇:大厂服务端部署