基于4G网络的视频监控系统研究
作者:孙旭杨 刘滨 滕健
来源:《电脑知识与技术》2019年第04期
摘要:为提高远程视频监控系统的可移动性和灵活性,提出了一种基于嵌入式Linux的4G网络远程视频监控系统。基于Atheros AR9331嵌入式微处理器扩展了4G网络传输设备、视频采集设备等,搭建了系统前端嵌入式平台的硬件电路。通过移植OpenWrt操作系统到嵌入式平台实现了任务调度和资源管理,在OpenWrt系统中安装和配置了4G网卡驱动,并编写了应用程序实现了视频数据的采集、传输和远程监控。与传统的视频监控系统相比,该系统摆脱了线缆的束缚和网络覆盖面积的限制,增加了系统的可移动性和灵活性。 关键词:视频监控;嵌入式系统;网络传输设备;远程监控;移动性 中图分类号:TP277 文献标识码:A 文章编号:1009-3044(2019)04-0051-03
Abstract: To improve the mobility and flexibility of remote video surveillance system, put forward a kind of remote video surveillance system based on embedded Linux and 4G network. Based on AR9331 embedded microprocessor, the 4G network transmission equipment and video acquisition equipment are extended, and the hardware circuit of the system front-end embedded platform is built. The OpenWrt system is transplanted to this embedded platform to manage the
resources and schedule the tasks in the system. In the OpenWrt system, the 4G network card driver is installed and configured, and the acquisition ,transmission and remote monitoring of video data are realized by programming. Compared with the traditional video surveillance system, the system free the constraints of cable and network coverage, and increases the mobility of the system. Key words: video surveillance; embedded system; network transmission equipment; remote monitoring; mobility
視频监控系统以其直观方便、信息全面、内容丰富的特点广泛应用于安防领域,作为协助公共安全部门维护社会和谐稳定、打击违法行为的重要手段,是安防系统的重要组成部分[1,2]。近年来,随着计算机在处理能力和处理速度方面的迅速提高,多种视频图像处理技术的出现与发展,网络的全面普及和网络传输速度的显著提升,使得视频监控技术也有了长足的进步和发展,视频监控系统全面迈进了全数字化、网络化、智能化的时代,日益受到各方面的关注和重视[3]。随着第四代移动通信系统的出现和广泛应用,凭借其高速的传输速度和良好的综合业务支持平台,使得视频监控系统基于4G网络传输视频图像数据变为现实,移动视频监控系统逐渐成为新的发展趋势[4]。本文在原有视频监控系统“数字化”“高清化”和“网络化”特点的基础上,提出了一种基于嵌入式Linux的4G网络视频监控系统,实现视频监控系统的“移动化”,该系统具有使用灵活、机动性强以及实时性高的特点。
龙源期刊网 http://www.qikan.com.cn
1 系统总体方案设计
移动视频监控系统包括前端采集装置的嵌入式平台和远程终端。前端采集装置使用Atheros AR9331微处理器作为主控CPU,扩展高清摄像头采集视频信息,使用4G网络传输数据,通过串口模块进行软件的下载和调试。在软件上通过移植OpenWrt操作系统实现嵌入式平台的设备管理和任务调度,安装EC20 4G网卡驱动并且配置DDNS服务实现动态域名访问,建立网络间数据传输的通道。最后根据UVC协议标准,通过V4L2接口访问视频采集设备,获取视频图像数据,经过格式转换后以数据流的形式输出到视频流服务器实现远程视频监控。系统方案总体结构如图1所示。
本系统硬件部分以Atheros AR9331嵌入式微处理器为核心,采用模块化设计,主要包含电源模块、USB模块、串口模块、GPIO模块、4G模块、USB摄像头以及存储模块,由各模块搭建的硬件如图2所示。 2 系统软件设计
2.1 搭建嵌入式系统开发环境
为了开发和实现视频监控系统,首先需要准备开发所需的各种工具,并且搭建适合系统开发的环境平台。嵌入式开发一般都需要经过创建交叉编译环境、建立BootLoader、移植Linux内核、建立根文件系统、安装驱动程序和安装软件程序等六个步骤,整个开发过程比较烦琐[5]。而使用OpenWrt操作系统可快速完成应用平台的搭建,OpenWrt系统将交叉编译器、Linux内核、文件系统以及BootLoader全部整合到一起。当OpenWrt成功在嵌入式平台上运行时,可通过串口调试的方式,在PC机上实现对嵌入式平台功能的配置,并且它的文件系统是可写的,每次修改后并不需要重新进行编译。所以对于本系统,开发环境的搭建就可分为两步,首先编译生成基于AR9331的系统固件包并烧写到嵌入式设备中,然后安装交叉编译器用于交叉编译生成可在嵌入式平台运行的程序。
在PC机上安装VMware 10.0.1 + Ubuntu 12.04,下载OpenWrt源码包和基于AR9331的文件补丁,编译安装后,会生成OpenWrt固件,将其烧写到嵌入式平台中,就可以在嵌入式平台上运行OpenWrt系统,可以通过串口对系统进行调试。
交叉编译是指在主机平台(如PC机)上编译出能在另一个平台上执行的代码。在嵌入式系统开发的过程中,负责执行程序的嵌入式平台存储空间和运算能力不足,不能够通过本机编译生成可执行程序。需要使用能力强的PC机,使用交叉编译工具编译出能够运行于嵌入式平台的应用程序,过程如图3所示[6]。本系统的交叉编译器通过下载OpenWrt源码并且在Ubuntu中编译得到。 2.2 网络的连接和访问 2.2.1 挂载4G网卡接入网络
龙源期刊网 http://www.qikan.com.cn
接入网络方式的改变是移动视频监控系统“移动化”最直接的体现。随着4G网络的逐步覆盖,使用4G网卡接入网络将不再受线缆的束缚和网络覆盖面积的限制。在本系统设计中,通过在嵌入式平台中挂载4G网卡实现上网功能,完成数据的传输工作。通过串口进行网卡的挂载,命令如下: #opkg install
kmod-mii_3.10.49-1_ar71xx.ipk
#opkg install kmod-usb-net_3.10.49-1_ar71xx.ipk #opkg install kmod-usb-wdm_3.10.49-1_ar71xx.ipk #opkg install kmod-usb-net-qmi-wwan_3.10.49-1_ar71xx.ipk #opkg install uqmi_2014-05-27-d7a56……78fa_ar71xx.ipk # uqmi -d /dev/cdc-wdm0 --start-network internet –autoconnect
执行完上面操作后,添加一个新的网络接口“wwan0”,修改目录“/etc/config/”下的配置文件“network”,如图4所示,添加一个新的接口用于4G网络的数据通信。 经过上述操作后,嵌入式平台成为一个4G网络设备。 2.2.2 动态域名访问
嵌入式平台每次启动运行并连接到网络的时候,总会随机获得一个IP地址用于网络间的数据通信,但是动态的IP地址使远程访问、管理嵌入式平台造成了极大的不便,连接前总需要首先得到嵌入式平台当前分配的IP地址。动态域名服务DDNS允许为目标平台配置一个固定的可访问域名,并且对应的IP地址可以是动态的。DDNS(Dynamic Domain Name Server)是把动态的IP地址映射到了一个固定的域名解析服务上,当进行网络连接的时候,嵌入式平台中的客户端程序就会把本机的动态IP地址传递到服务商主机上,服务器程序则提供DNS服务进行动态域名解析。DDNS捕获目标平台随机的、动态的IP地址与域名相对应,这样用户就可以使用固定域名进行访问[7]。
在本系统中,将使用“花生壳”软件来完成动态域名解析的工作,解析嵌入式平台获得的动态IP地址,实现在任何地点和时间的情况下,无论任何的网络运营商,都能够对嵌入式平台上搭建的服务器进行连接和访问。
通过串口调试,对嵌入式平台进行以下操作: 1) 安装并启动DDNS服务
龙源期刊网 http://www.qikan.com.cn
# opkg install luci-app-ddns 2) 修改“/etc/config”目录下DDNS 的配置文件“ddns”。
如图5所示,其中“service_name”表示动态域名解析服务提供商,设置为“花生壳
(oray.net)”,“username”和“password”输入在花生壳注册的用户名和密码,“domain”是在花生壳申请的固定访问域名,当前分配的动态IP地址通过“ip_url”连接“http://ddns.oray.com/checkip”获得。 3) 更改防火墻的配置
修改“/etc/config”目录下的文件“uhttpd”,把选项“rfc1918_filter”设置为“0”。 通过以上对DDNS服务的安装和配置,就能够实现使用固定域名访问嵌入式平台。 2.3 视频图像的采集
视频采集是视频监控的重要环节,本系统通过在嵌入式平台中接入高清摄像头获取视频图像数据,这个视频采集设备属于“UVC”设备。UVC(USB video class)是应用于USB视频捕获设备的协议标准,符合此标准的硬件设备使用一个通用的驱动程序就可以插入并使用。UVC设备的管理是通过V4L2提供的接口函数来实现的。
V4L2(Video4Linux2)是Linux内核中应用于视频设备的内核驱动框架,为UVC免驱USB设备而设计,对应用程序访问音视频采集设备提供了统一的接口,能够获取图片、视频和音频等数据[8]。在“videodev2.h”文件中定义了一些V4L2重要的数据结构,图像处理的过程就是对此文件中的这些数据进行操作。V4L2支持两种采集图像的方式:用于连续视频读取的内存映射方式(mmap)和用于静态图片读取的直接读取方式(read)[9]。
在本系统中采用内存映射的方式,通过V4L2框架提供的接口函数完成视频采集,具体过程如下:
(1) 打开视频设备文件,获得设备具有的能力,对视频的制式、窗口大小、帧格式、帧率和旋转方式等参数进行设置;
(2) 向驱动请求三个视频流数据的帧缓冲区,通过内存映射的方式将申请得到的帧缓冲区的地址从内核空间映射到用户空间,并加入视频采集的输出队列中,等待视频采集的开始; (3) 启动采集后,驱动程序把获取的数据放入输入队列中的帧缓冲区,等待一帧数据采集完成后,将这个帧缓冲区移动到输出队列中,并继续采集下一帧数据;
龙源期刊网 http://www.qikan.com.cn
(4) 应用程序从输出队列中取出帧缓冲区,存储或压缩帧缓冲区中的数据,处理完成后,将这一帧缓冲区重新放入到输入队列中,实现循环采集,整个数据采集的流程如图6所示。
2.4 视频流服务器的实现
经过移植操作系统、安装4G网络驱动、配置高清摄像头等几个步骤后,嵌入式平台具备了视频采集和4G网络传输数据的能力。通过搭建视频流服务器就可以实现将嵌入式平台作为视频采集前端,可以通过远程终端访问搭建的视频流服务器实时监控摄像头采集到的视频数据。
本系统选择在嵌入式平台中安装MJPG-Streamer视频流服务器,移植安装完成后,修改服务器配置文件就可以实现移动视频监控系统中图像的采集、处理、网络传输的工作,通过串口进行安装,具体命令如下: # opkg install
libjpeg_6b-1_ar71xx.ipk
#opkg install kmod-video-core_3.10.49-1_ar71xx.ipk #opkg install kmod-video-videobuf2_3.10.49-1_ar71xx.ipk #opkg install kmod-video-uvc_3.10.49-1_ar71xx.ipk #opkg install libpthread_0.9.33.2-1_ar71xx.ipk #opkg install mjpg-streamer_r182-1_ar71xx.ipk
视频流服务器安装成功后,打开服务器配置文件,对视频采集参数进行以下设置,如图7所示。
选项“enabled”用于设置摄像头的工作状态,“1”为开启视频采集;“/dev/video0”是摄像头的驱动“port”为服务器远程访问的端口;其他参数可以配置其他属性,在此不再赘述。启动“mjpg-streamer”服务,将嵌入式平台的内网IP地址和MJPG-Streamer 搭建TCP服务器所使用的端口号“8080”与在“花生壳”申请的固定域名
“h1461l2965.51mypc.cn”进行绑定,得到一个映射的端口号“16325”,就可以通过任意终端的浏览器观看视频图像,如图8所示。 3 结语
龙源期刊网 http://www.qikan.com.cn
本文结合嵌入式Linux平台和4G网络数据传输技术,通过硬件电路设计和软件编程实现了远程无线视频监控系统。相比于传统的基于Wifi技术的无线视频监控系统,通过4G网络传输视频数据,摆脱了网络覆盖面积的限制,实现了移动视频监控系统,增加了视频监控系统的可移动性,使视频监控系统应用更加灵活,具有更好的应用前景。 参考文献:
[1] 魏笑笑.网络视频监控的关键技术及业务发展策略研究[J].科学技术与工程,2009,9(17):4965-4968.
[2] 卢秋波.视频监控技术简介与发展趋势[J].电信网技术,2007,1:9-12.
[3] 梅飞.嵌入式Linux网络视频监控系统设计[J].现代电子技术,2007,30(14):66-68. [4] 林鑫显. 基于4G无线传输的视频应用体系的研究与分析[J].电信工程技术与标准化,2015,6:49-54.
[5] 杨聪锟,杨雪芹,杨雪辉.基于嵌入式平台的视频采集软件实现[J].工业仪表与自动化装置,2016,4:30-33.
[6] 张欢庆,高丽,宋承祥.基于ARM的嵌入式Linux交叉编译环境的研究与实现[J].计算机与数字工程,2012,40(2):151-153.
[7] 曾宪章,李潇,王峰,等.动态域名解析服务系统及相關问题讨论[J].微电子学与计算机,2005,22(12):81-84.
[8] 徐家,陈奇.基于V4L2的视频设备驱动开发[J].计算机工程与设计,2010,31(16):3569-3572.
[9] 邱娜灵.基于嵌入式系统图像采集的软硬件设计与实现[D].西安:西南交通大学,2009. 【通联编辑:梁书】
因篇幅问题不能全部显示,请点此查看更多更全内容