前言
在数据分析中,常常会有设计管理驾驶舱,或者指挥中心等综合性数据可视化大屏,在这种大屏设置中经常会有对接摄像头的需求,希望能够直接展示摄像头查看实时监控,或者点击大屏看板可以跳转弹出实时监控,今天小编就为大家介绍一下如何使用葡萄城公司的嵌入式BI工具------Wyn商业智能对接海康威视摄像头,如下图所示:
实现思路:
1.一种是海康提供摄像头的实时视频流(M3U8/HLS)的查看地址,然后就可以使用Wyn上的监控视频组件直接连接使用。
2.第二种是用户没有实时视频流的地址,只有海康威视摄像头查看站点,输入账号密码才可以在线查看监控视频;
也就是有海康摄像头的RTSP的视频流地址,这种视频流不能直接在前端使用,需要进行转换才可以正常前端查看;
本文介绍通过海康威视提供的RTSP实时视频流地址,借助后端Python程序或者通过ffmpeg+nginx将流进行转码,然后在Wyn上使用。
实现步骤:
1.对接摄像头
找到要对接的海康威视摄像头,登陆对应的站点查看摄像头配置。
切换到配置页面,查看这个摄像头的地址,以及RTSP的端口
2.生成摄像头的RTSP的视频流地址
海康威视的摄像头RTSP的视频流地址格式如下:
bash
rtsp://用户名:密码@IP:端口/h264/channel/stream/av_stream
需要根据自己摄像头的平台,修改连接上的用户名,密码,IP,端口。
3.部署Python后端视频流转码服务
小编这边使用的是python实现了一个接口,将第二步的RTSP的视频流转成一个HTTP接口供前端Wyn使用。
访问的URL规则如下:
bash
http://localhost:5000/video_feed?rtspurl=rtsp://``用户名:密码@IP:端口/h264/channel/stream/av_stream
小编这边后端程序发布的是5000端口,可以根据自己的需要修改代码,使用其它端口;
发布的HTTP接口接收一个参数,参数值为第二步的RTSP视频流地址。
后端程序源码如下,可以根据自己环境部署到服务器上:
4.Wyn仪表板对接监控视频
在Wyn上创建仪表板使用图片组件,绑定第3步所发布的HTTP接口地址,即可在线实时查看视频监控
5.通过ffmpeg+nginx将RTSP视频流转换成M3U8格式视频
下载ffmpeg,这个大家可以从网上直接下载就行,然后在控制台输入如下命令就可以用ffmpeg将RTSP视频流转成M3U8格式的视频流
perl
ffmpeg -rtsp_transport tcp -i ``rtsp://``用户名:密码@IP:端口/h264/channel/stream/av_stream -c copy -f hls -hls_time 1.0 -hls_list_size 2 -hls_flags 2 C:/Program Files/Wyn/video/test.m3u8
这个命令需要根据自己摄像头的平台,修改连接上的用户名,密码,IP,端口,以及转换后的M3U8视频流存放地址;
M3U8视频流转换好之后,前端是不能直接访问的,这时候需要借助nginx进行代理来实现前端可以访问的M3U8视频流地址;nginx大家可以网上下载,修改nginx的配置文件,添加如下代理
ini
location /video {
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root "C:/Program Files/Wyn";
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
代理之后就可以通过这台机器的IP端口来进行访问了,比如使用80端口的话,最终M3U8视频流访问地址为:http://ip:80/video/test.m3u8
6.Wyn仪表板对接监控视频
在Wyn上创建仪表板使用监控视频组件,绑定第5步转换后的M3U8视频流地址,即可在线实时查看视频监控
总结
以上这两个方式都可以实现前端加载海康威视的摄像头视频流,以及如何使用Wyn商业智能对接海康威视摄像头的全过程,如果您想了解更多信息,欢迎点击这里查看更多详细信息。
扩展链接: