admin 管理员组文章数量: 887021
2024年1月17日发(作者:php正则入门)
企业微信端无人机直播系统设计与实现
摘要:无人机直播系统是以油田实际生产为背景,利用无人机远程数据获取、流媒体直播、实时视频格式转换、WEB端flv视频呈现、部标808数据获取等技术来实现通过企业微信端远程查看无人机巡检情况,利于油田技术人员第一时间根据现场实际情况作出工况判断,同时合理安排下一步生产方案。
关键词:无人机;无人机搜寻;图像识别;大数据检索
1
前言
随着油田的大规模开发,地面产能建设规模持续扩大,为了减员增效,数字化油田建设已成为油田地面工程高质量发展的关键因素。无人机巡检技术具有巡检区域大、快捷、风险低等特点,为数字化油田建设与生产维护提供了远程诊断和优化管理的有效途径,长距离精细化机巡在油田生产领域得到了广泛的应用,它可根据油田生产需求进行地形勘测与选址优化、配电线路巡检、管道巡检、应急抢险及综治排查等作业,替代了工作效率低、成本高、效果差的人工巡检模式,可实时获得大量有效数据的采集[1]。随着无人机在大规模的实际生产中的应用,作为整个无人机系统的重要组成部分,无人机直播系统也在不断更新发展。
现阶段无人机直播系统都是由无人机生产厂家自主开发,所以在无人机的选择上必须以厂家提供的飞行器为主,而厂家提供的配套系统往往价格较高,且适配的机器型号种类有限,所以就会导致使用的无人机和直播场景不匹配的情况,达不到实际工作要求。而着眼于大庆油田,要完全发挥出无人机直播的优势,达成实现无人机提升故障巡检效率、降低安全监测成本、保障石油开采安全的目的,需面临以下两方面问题。
1.1 直播服务器架构选择问题
目前流媒体直播服务器按开放性程度可以分为两大类,商业流媒体服务器和开源流媒体服务器。通过下图可以更加直观的了解流媒体服务器的种类划分。
商业流媒体服务器和开元流媒体服务器相比优点是服务更加稳定,承载用户数数量较大,缺点是后期维护成本高,扩展性较差,不适合持续的功能性开发。所以结合现阶段实际使用情况和后期功能持续开发的原因,选择开源流媒体服务器比较合适。
开源流媒体服务器主要分为SRS,NGINX-RTMP,CRTMP SERVER三种架构。
从底层服务构成而言CRTMP和NGINX-RTMP是相同的,都使用了RTMP协议,但是对二次开发要求比较高,开发时效性较差,所以不考虑将其作为服务器底层架构支持。综上条件,只能在SRS和NGINX-RTMP之间选一个作为服务器底层架构。查阅资料显示,SRS架构优势在于单进程能支持9000并发,NGINX-RTMP单进程最多支持3000个,单进程的性能SRS是NGINX-RTMP的三倍,直播延迟比较低,在1秒以内[3]。缺点是只支持直播。NGINX-RTMP架构优势在于多进程方面更加稳定,支持直播和录播双功能,服务器扩展性更强,相关生态更加完善,缺点是直播延时较高,在1-3秒之间。对于二者的选择各有利弊,需要根据具体测试情况来最终确定。
1.2
无人机直播协议选择问题
在开始讨论直播协议之前,我先把流媒体服务中的双端关系说一下。在一个完整的流媒体服务框架中,角色就是"两端加一服"。推流端、拉流端加上媒体服务器。如下图所示。同时按照应用场景的不同,协议又分:推流协议;拉流播放协议;
现在市场上无人机RTMP推流是最通用的推流方式,通过RTMP推流到服务器,然后再通过服务器拉流来完成直播。对于不同应用场景需要选择正确的的拉流协议才可以将直播呈现给用户。通用的拉流协议主要有三种,分别是RTMP协议,HLS协议,以及HTTP-FLV协议,下面我们来一一介绍。
RTMP,全称 Real Time Messaging Protocol,即实时消息传送协议。Adobe
公司为Flash播放器和服务器之间音视频数据传输开发的私有协议。工作在TCP
之上的明文协议,默认使用端口1935。协议中的基本数据单元成为消息,传输的过程中消息会被拆分为更小的消息块单元。最后将分割后的消息块通过 TCP 协议传输,接收端再反解接收的消息块恢复成流媒体数据。RTMP主要有以下几个优点:RTMP 是专为流媒体开发的协议,对底层的优化比其它协议更加优秀,同时它Adobe Flash支持好,基本上所有的编码器都支持RTMP输出。另外RTMP适合长时间播放,即10天多连续播放没有出现问题。最后RTMP的延迟相对较低,一般延时在1-3s之间。
HTTP-FLV, 即将流媒体数据封装成 FLV 格式,然后通过 HTTP 协议传输给客户端。HTTP-FLV 依靠MIME的特性,根据协议中的Content-Type来选择相应的程序去处理相应的内容,使得流媒体可以通过HTTP传输。相较于RTMP协议,HTTP-FLV 能够好的穿透防火墙,它是基于HTTP/80传输,有效避免被防火墙拦
截。除此之外,它可以通过HTTP302跳转灵活调度/负载均衡,支持使用HTTPS加密传输,也能够兼容支持Android,iOS的移动端。
上述两个协议都是有Adobe公司推出的,而HLS则是苹果公司基于HTTP 的流媒体传输协议。主要应用于iOS设备,包含以及Mac OSX提供音视频直播服务和录制内容(点播)等服务。相对于常见的流媒体协议,HLS 最大的不同在于它并不是一下请求完整的数据流。它会在服务器端将流媒体数据切割成连续的时长较短的 ts 小文件,并通过 M3U8 索引文件按序访问 ts 文件。客户端只要不停的按序播放从服务器获取到的文件,从而实现播放音视频。
通过对三种协议的深入理解可以发现如下图所示,RTMP和HTTP-FLV优势是延迟低,缺点是必须依靠FLASH才能运行,而HLS通用性较强,可以得到HTML5全方位支持,方便后期WEB呈现,缺点是有延迟较高。
2 系统功能和组成
本系统要实现的功能是通过无人机将远程获取的实际工况视频发送到指定服务器,之后通过中国石油企业微信端获取服务器视频进行实时直播。本系统的优势有三点:
1. 适配市场上绝大部分无人机机型,在实际生产需求中可以达到和无人机型号解耦,不受厂家定制系统限制。
2. 支持企业微信端实时查看工作现场工况,方便上级部门及时针对实际生产情况制定工作方案。
3. 多种直播方式,局域网WIFI+4G信号双重传输通道,有效解决网络信号对传输效率的影响。
本系统由采集端、服务器端和播放端三个部分组成。流媒体采集端由飞行器本身自带的推流设备组成,负责实时将无人机拍摄的画面通过特定协议打包推送至后台服务器。服务器端主要功能由五部分组成,分别是视频流的接收模块,存储模块,视频流解码模块,视频流转码模块,视频流转发模块。播放端主要是由企业微信WEB前端组成,负责把服务器端视频流拉至本地进行视频播放。
3 系统实现
根据实际应用场景需要,本系统服务器选用RTMP+NGINX的流媒体服务架构,为了在企业微信应用端进行展示,同时和Adobe的FLASH解耦,前端WEB拉流使用HTTP-FLV协议,此协议可以很好的支持手机端和WEB端同时进行无人机远程直播。
3.1 直播服务器搭建
3.1.1 部署nginx
Nginx 是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器,并在一个BSD-like协议下发行。其特点是占有内存少,并发能力强。为了方便阐述,本系统在Linux 环境下部署nginx。首先,在nginx官网上下载安装包,解压执行tar xvf 命令。
3.1.2 部署nginx-rtmp-module
通过官网github下载nginx-rtmp-module软件包,解压放置在nginx目录下,修改conf目录下的文件[2]。这些配置参数很重要,是直播功能能否实现的关键。为此,给出了详细的参数配置。
3.1.3 飞机端推流设置
在dji遥控器设置RTMP推流地址,界面如下:
RTMP地址填写格式:rtmp://175.47.241.177:1935/live1/home其中live1为nginx服务器开启的服务名称,home为自定义服务密码。
3.1.4 企业微信端WEB设置
由于飞机端传输视频流为flv格式,所以在前端页面编程需要使用flv视频格式相关sdk,否则在手机网页端无法进行视频播放。前端完成页面如图所示:
3.1.5 直播
在企业微信端点击无人机监管平台APP,进入无人机监管平台页面,点击无人机设置的推流频道,即可开始进行远程无人机直播。后期可根据油田实际工况增加远程工况识别,工况预警等功能。
4 结语
本文对系统的最终实现进行了功能测试和性能测试。在测试结果来看,系统在功能上实现了在企业微信端进行无人机远程工况查看,通过远程工况判定进行下一步的工作安排。随着油田数字化发展,无人机的应用会更为广泛,将替代工作效率低、成本高、效果差的人工巡检模式,可实时获得大量有效数据的采集。随着无人机在大规模的实际生产中的应用,作为整个无人机系统的重要组成部分,无人机直播系统也将不断更新和发展。
参考文献:
[1] 张福 . 无人机在突发事件报道 和 直 播 中 的 作 用 [J]. 传 播 力
研 究 ,2019,3(9):230-230.
[2] Adobe Systems Incorporated.AMF 3 Specification[EB /OL].
http:/
/wwwimages.adobe.com/.com/content/dam/Adobe/en/devnet/amf/pdf/amf- file-format-spec.pdf,2006.
[3] 姜浩然,徐林.基于RTMP的流媒体服务器的研究[J].计算机与数字工程,2011,39( 10):104-108.
作者简介:高博文,男,1991年生,2010年毕业黑龙江大大学(电子工程学院)电子信息工程系,工学学士,现从软件开发工作,研究涉及无人机大数据分析、无人机直播、无人机管理系统开发等方面内容。
版权声明:本文标题:企业微信端无人机直播系统设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1705447890h485169.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论