标题 | 基于ONVIF协议的井下电视客户端的研究 |
范文 | 严正国 魏美丽 吕国强 摘 要: 目前的井下电视在测井速度、耐温耐压、视频的传输速率等方面已经取得了较高水平,但在客户端视频的显示方面还存在一定差距,比如视频的分辨率、清晰度和实时动态的OSD显示等方面。为了解决不同厂商生产的网络摄像机、XVR/NVR设备之间的互通问题,使得整个监控系统之间的信息交互顺畅,基于ONVIF协议设计了一种井下电视客户端。实验结果表明,可以在设计的客户端上清晰地看到井下信息,实现实时动态的OSD显示,同时实现设备的发现、链接,视频的预览、存储、抓图等功能。 关键词: ONVIF协议; 井下电视; 网络视频显示; 客户端; OSD显示; 信息交互 中图分类号: TN948?34 文献标识码: A 文章编号: 1004?373X(2018)20?0165?03 Abstract: The current downhole TV has achieved a high level in logging velocity, temperature and pressure resistance, and video′s transmission rate, but there exists a certain gap in display aspects of the client video such as video resolution, definition, and real?time dynamic OSD display. Therefore, a downhole TV client based on the ONVIF protocol is designed to resolve the intercommunication problem between network cameras produced by different manufacturers and XVR/NVR devices, and make the information interaction in the whole monitoring system smooth. The experimental results show that the designed downhole client can display clear information, and realize real?time dynamic OSD display, discovery and link of devices, and functions of video preview, storage, and screenshot. Keywords: ONVIF protocol; downhole TV; network video display; client; OSD display; information interaction0 引 言 井下电视作为一种用于石油测井领域的视频监控系统,从20世纪60年代的模拟测井到后来的成像测井,经历了一段快速的发展历程[1]。经过查阅相关资料表明,目前的井下电视在测井速度、耐温耐压、视频的传输速率等方面已经取得了较高水平,但在客户端视频的显示方面还是有一定差距的,比如视频的分辨率、清晰度和实时动态的OSD显示等方面。所以研究井下电视的客户端,将多种功能集在一起,不但能播放高清视频,而且还能实现对摄像头设备的发现、链接,对视频的预览、存储、抓图等功能。 为了解决不同厂商生产的网络摄像机、XVR/NVR设备之间的互通问题,使得整个监控系统之间的信息交互顺畅,需要引进ONVIF协议。1 整体设计 本次設计的思想是,将井下的信息由电缆高速网络传输模块变成网络视频,通过软件对网络视频解码成一个复合视频流,然后对其字符叠加,加入字符流,再对整个视频流编码,Web服务端通过调用Web服务端获取到视频流,对其进行处理,从而实现一个客户端,能够完成视频的预览、回放,实时动态的OSD显示等功能。整体框图如图1所示。 1.1 搭建Web服务框架 ONVIF(Open Network Video Interface Form)是在2008年由索尼等企业共同创建的一个论坛。在2008年11月,该论坛正式发布了ONVIF的第一版规范:ONVIF核心规范1.0,目前版本为2.5。ONVIF协议描述了网络视频的模型、接口、数据类型以及数据交互的模式,致力于解决网络视频监控设备的互连问题。该规范中包括了多个模块,如设备发现、设备管理、媒体服务、云台控制等。ONVIF规范中设备管理和控制部分所定义的接口均以Web Service的形式提供[2]。所以在获取媒体流之前先搭建Web服务框架。 搭建Web服务框架选用的是gSOAP工具包。gSOAP是一种提供了一组透明化的gSOAP API编译工具和一个SOAP/XML关于C/C++语言的实现,一定程度上简化了使用C/C++语言开发Web服务程序的工作[3]。 ONVIF提供一系列与网络摄像机相关的WSDL文件,如用于设备管理的Devicemgmt.wsdl,用于媒体服务的Meida.wsdl,用于搜索设备的Remotediscovery.wsdl,以及用于公共数据结构的ONVIF.xsd等。从官网下载相应的WSDL文件,再利用gSOAP工具包提供的wsdl2h和soapcpp2可执行程序将WSDL文件生成ONVIF.h头文件和一些C或C++文件。也可直接通过网络编译这些WSD文件,同样可以达到效果。对这些头文件和C/C++文件建立工程,就搭建好了Web服务框架。 1.2 媒體流的获取 该模块是基于ONVIF协议实现的。客户端发送SOAP请求。该请求通过HTTP协议发送到服务端,凡是支持ONVIF协议的摄像头(服务端)都会有Web Service接口。Web Service主要利用HTTP和SOAP协议使数据在Web上传输[4?5],通过配置WSDL文件,调用相应的解析器。最后通过HTTP协议生成SOAP请求,将媒体流和录像机设备的IP地址发送给客户端。整个原理见图2。 在获取媒体流之前必须先发现服务端(摄像头),通过采用WS?Discovery文档实现自动搜索服务端,并获取服务端的IP地址,该过程是基于组播技术完成的。由加入网络的每个服务端向客户端所在的网络多播发送Hello,客户端则多播发送Probe,能够匹配Probe报文中的Types和Scopes内容的服务端单播回复ProbeMatch;当服务端摄像头离开该网络时,则需要多播发送Bye消息[6?7]。整个过程中,摄像头可以随意加入或离开网络。通过这种通信方式就能发现服务端设备。 媒体流的获取需要通过定义一个media profile来实现。该媒体文档是媒体信息的集合,包括音视频源、音视频编码等。服务端包括音频编码配置、视频编码配置等[8]。当客户端发送获取媒体流请求时,服务端会返回给客户端一个profile后,等待修改请求,如果无需修改profile,继续返回设备的服务能力集,然后给出点播地址URL开始传输码流,从而获得媒体流[9]。整个获取媒体流程见图3。 1.3 编解码实现 目前市场上的大多数摄像机都已经被集成化了,摄像头采集到媒体后,对视频进行A/D转化,将模拟信号转化为数字信号,然后对数字媒体进行压缩,直接输出就是压缩后的媒体流,所以要对媒体流操作,必须先进行解码。本设计中选用开源的VLC解码器,其高效的解码能力,能支持多种视频格式,稳定的跨平台性能保证了整个系统的实时性和流畅性。VLC解码实际上是利用其解码库实现的,该解码库能支持多种视频格式的解码,如H.264,MPEG?4,MxPEG等格式。解码流程见图4。 视频编码是实现视频压缩的过程。视频压缩可以缩小视频信号传输的带宽,也能降低视频信号数字化后所需的存储容量。当解码后的媒体流加上字符流后,形成一个含有音视频和字符的混合媒体流,该混合流只有通过编码后才便于存储。常见的编码技术有MPEG系列和H.26系列,相比之下,H.26系列的编码技术比MPEG系列的有以下优势,如CPU占用量小、更好的图像质量、节省带宽和存储空间、编码效率高等,所以选用H.26系列的H.264编码技术。本文选用的是H.264 视频压缩技术。该技术引入了分层结构,使其能够适应于不同网络间的视频传输。VLC提供了一个libdvbpsi独立库,专门用来解析和编码。只要调用该库就能实现视频流和字符流的编码。 1.4 构建客户端 利用VLC进行客户端开发。VLC是videoLAN计划的开源多媒体播放器,支持众多音频与视频解码器及文件格式,也支持DVD影音光盘、VCD影音光盘及多种流媒体协议。该播放器的核心是LibVLC,其提供了大量接口,如流访问、音视频输出、插件管理、线程系统,可用于二次开发。其主体编程流程图如图5所示。 1.5 开发平台的选择 本设计开发平台选择的是Windows 7操作系统。Windows以其友好的界面和简单的操作而被广泛使用,所以使用此操作系统进行研究具有很大的发展前景。利用VLC提供的开源库和ONVIF提供的WSDL搭建本文的开发框架和Web框架。在开发过程中用到的编程语言有C++,HTML,XML,JS,用到的编译工具有Microsoft Visual Studio 2008(VS2008)和ONVIF测试工具。2 系统测试 利用ONVIF官方提供的测试工具ONVIF Device Test Tool,该工具提供对所有接口测试的功能,以检测系统的ONVIF协议是否符合官方规定。打开Discovery模块,点击Discovery Devices后,能搜索到同一网段内支持ONVIF协议的摄像头。打开Diagnostic模块,可以对系统的某一功能进行测试。打开Media模块,通过Get获取Media URL,MediaProfile等配置,最终获取得到RTSP流媒体服务器地址,并播放视频。打开Device Management模块,该模块提供了设备管理功能,可以获得设备信息、服务地址、时间设置、网络参数等,同时可以对其进行设置。在浏览器上输入从媒体流获取模块中获得的设备IP地址号,可以通过网页浏览该客户端,播放测井视频。3 结 语 本文是在基于ONVIF协议的基础上研究了井下电视的客户端,通过ONVIF协议获取到井下的视频流,对视频流进行视频的编解码,再利用VLC的源码,对其进行二次开发,即可实现一个客户端。该客户端可实现实时动态的OSD显示,设备的发现,媒体播放、存储、回放等功能。 参考文献 [1] 高瑛.数字高清井下电视测井仪关键技术研究[D].西安:西安石油大学,2015. GAO Ying. Research on key technologies of digital HD downhole TV logging tool [D]. Xian: Xian Shiyou University, 2015. [2] 蔡小淳.基于ONVIF标准的高清网络摄像机的设计与开发[D].广州:暨南大学,2014. CAI Xiaochun. The design and development of high?definition network camera based on ONVIF standard protocol [D]. Guangzhou: Jinan University, 2014. [3] 杨丰瑞,刘雄风,刘亭.基于Android的ONVIF协议网络视频监控客户端的接口研究[J].广东通信技术,2015,35(6):20?25. YANG Fengrui, LIU Xiongfeng, LIU Ting. Research on interface of network video surveillance client based on Android ONVIF protocol [J]. Guangdong communication technology, 2015, 35(6): 20?25. [4] 徐飞明.基于ONVIF协议的NVR软件平台的设计与开发[D].杭州:浙江大学,2012. XU Feiming. Design and development of NVR software platform based on ONVIF protocol [D]. Hangzhou: Zhejiang University, 2012. [5] 蔡月茹,柳西玲.Web Service基础教程[M].北京:清华大学出版社,2005. CAI Yueru, LIU Xiling. Basic course of Web Service [M]. Beijing: Tsinghua University Press, 2005. [6] 马宇昌.网络摄像机应用接口的研究与实现[D].南京:南京邮电大学,2013. MA Yuchang. Research and implementation of IP camera application interfaces [D]. Nanjing: Nanjing University of Posts and Telecommunications, 2013. [7] 肖路欢,谢灿,何策.gSOAP在基于ONVIF协议的网络视频监控系统中的应用[J].数字技术与应用,2013(6):128?129. (上接第167页) XIAO Luhuan, XIE Can, HE Ce. gSOAP based on ONVIF protocol network video monitoring system [J]. Digital technology and application, 2013(6): 128?129. [8] 储强.ONVIF协议媒体服务的设计实现[D].哈尔滨:哈尔滨工业大学,2012. CHU Qiang. Design and achievement of media service in ONVIF specification [D]. Harbin: Harbin Institute of Technology, 2012. [9] 宋刚,杨显富.实时流媒体传输及其协议[J].成都大学学报(自然科学版),2005,24(1):28?31. SONG Gang, YANG Xianfu. Real?time streaming media transport and protocol [J]. Journal of Chengdu University (Natural science), 2005, 24(1): 28?31. [10] 陈名松,邱晓金,许笑.基于OpenCV与Socket的网络视频监控系统设计与实现[J].现代电子技术,2017,40(2):57?59. CHEN Mingsong, QIU Xiaojin, XU Xiao. Design and realization of network video surveillance system based on OpenCV and Socket [J]. Modern electronics technique, 2017, 40(2): 57?59. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。