寇晓斌,张涛,张佳伟
(1.新疆农业大学计算机与信息工程学院,新疆乌鲁木齐830043;2.新疆师范高等专科学校现代教育技术中心,新疆乌鲁木齐830043;3.新疆教育云技术与资源实验室,新疆乌鲁木齐830043)
基于Mjpg_Streamer的跨内网视频监控系统研究
寇晓斌1,3,张涛2,张佳伟2
(1.新疆农业大学计算机与信息工程学院,新疆乌鲁木齐830043;2.新疆师范高等专科学校现代教育技术中心,新疆乌鲁木齐830043;3.新疆教育云技术与资源实验室,新疆乌鲁木齐830043)
随着国民经济和信息技术的迅速发展,视频监控系统在各行各业的应用日渐广泛。针对目前网络视频监控系统部署费用昂贵、不支持远程跨局域网访问等问题,提出基于开源视频服务器软件Mjpg_Streamer,利用AutoSSH反向隧道搭建内网穿透的远程视频监控系统设计方案。
视频监控;Mjpg_Streamer;内网穿透
随着网络技术和多媒体技术的迅速发展,视频监控系统已被广泛地用于道路交通安全监控、工业监控、银行监控以及校园和家庭安防监控等领域,它正向着数字化、网络化和智能化方向不断发展。普通用户对视频监控的成本及灵活性提出了更高的要求,因此研究具有成本低、方便安装、可跨平台使用的网络视频监控系统是非常必要的[1-2]。
整个网络视频监控系统包括客户端和服务器端两个部分。服务器端采用基于linux操作系统的轻量级视频服务器软件MJPG-streamer。摄像头采用普通USB高清摄像头。
MJPG-streamer视频服务器从USB摄像头获取图像数据,经过压缩处理以JPEG格式传送到浏览器。用户可以随时随地利用PC或移动终端通过浏览器访问视频服务器的web地址来实现远程视频监控。
图1 系统设计
1.1 主要优势
(1)高效实现远程监控
网络视频监控系统是专为实现远程监控而设计,用户可以随时随地利用PC、移动终端等进行远程监控,及时处理预警信息,极大提高了监控效率。
(2)安装简便易扩展
网络视频监控系统可以利用现有USB摄像头进行监控,本地网络进行传输,安装简便易扩展。
(3)多人同时监控
网络视频监控系统,管理者可以随时随地实时查看监控画面,多位管理者可以同时监控,互不影响。
Mjpg_Streamer是一个基于Linux操作系统的轻量级开源视频服务器软件。它可以从webcam摄像头采集图像,并将图像以流的形式通过基于IP的网络传输到浏览器、VLC播放器及其他拥有浏览器的移动设备[3-4]。
2.1 Mjpg_Streamer的相关组件
MJPG-streamer采用模块化的设计方法,以功能块为单位进行描述,这些功能块叫做plug-in(组件)。软件中定义好了各组件的输入、输出,以及组件之间的衔接关系。用户可自行根据对功能的需求,选择需要的模块。这种模块化的程序设计简化了代码的编写、调试、维护,程序员只需要遵守设计的规范,就可以轻松地改写软件,或者编写新的模块以增强软件的功能[5-6]。
MJPG-streamer最主要并且最常用的组件是input_uvc输入组件和output_http输出组件。如图2所示。
图2 MJPG-streamer的组件体系
2.2 Mjpg_Streamer安装配置
(1)安装运行
通过SVN下载源码文件:svn co https://svn.code.sf.net/p/ mjpg-streamer/code进入mjpg-streamer路径下:执行make,根据提示安装依赖包。执行make install进行安装。
安装完成,执行start.sh脚本,打开浏览器访问默认地址http://localhost:8080,看到视频图像则安装成功。
(2)配置简介
运行命令:mjpg_streamer-i"input_uvc.so-r 320*240"-o "output_http.so-c"username:password"-w www-p 8888"-o "output_file.so-f/home/mjpg-streamer"
通过参数-r设置分辨率,-c添加用户名和密码进行加密,-p修改默认端口,-f将监控记录保存。
3.1 AutoSSH简介
AutoSSH是一款开源工具,可以帮助管理SSH会话、自动重连和停止转发流量。在使用SSH反向隧道使内网主机与外网主机建立通信时,如果网络不稳定导致通信失败,内网主机手动需要重新连接。使用AutoSSH可以实现断线重连而不需要用户进行操作。
3.2 AutoSSH反向隧道配置
(1)SSH反向隧道配置
假设外网主机地址:111.111.111.111。在内网主机上配置:ssh-NfR 1234:localhost:8888 user1@111.111.111.111-p2221。
这个配置是将外网主机的1234端口与内网主机的8888端口绑定,通过外网主机的1234端口就可以访问内网主机的数据,查看到内网的视频监控画面。这种反向连接不稳定,可能随时断开。
(2)AutoSSH反向隧道
首先通过编译安装AutoSSH软件包,使用命令autossh-M 5678-NR 1234:localhost:8888 user1@123.123.123.123-p2221
因为AutoSSH本身就在后台运行,所以没有-f参数,通过-M 5678参数监控SSH会话状态,实现断线重连。
本文通过研究Mjpg_Streamer视频服务器以及AutoSSH反向隧道原理,实现了基于Mjpg_Streamer的跨内网视频监控系统。为个人用户及家用网络监控提供了可行的解决方案,具有一定的参考价值。
[1]赵雪.视频监控系统的发展与应用[J].科技资讯,2012(2):28.
[2]信师国,刘庆磊,刘全宾.网络视频监控系统现状和发展趋势[J].信息技术与信息化,2010(1):23-25.
[3]刘魏,唐健,袁芳.基于Mjpg-streamer的视频监控研究[J].轻工科技,2016(3):68-69.
[4]刘豪.基于Linux的MJPG-Streamer视频监控系统实现[J].科技视界,2015(32):130-131.
[5]陈恒鑫,林威,张钦宇.基于Mjpg-streamer的移动视频监控系统设计[J].计算机测量与控制,2014(11):3597-3599+3608.
[6]陈书益,黄永慧.开源视频服务器软件MJPG-streamer的研究和应用[J].电子设计工程,2012(5):172-176.
Research on the Video Monitoring System of Based on Mjpg_Streamer and NAT Traversal Technology
KOU Xiao-bin1,3,ZHANG Tao2,ZHANG Jia-wei2
(1.Xinjiang Agricultural University,Collage of Computer and Information Engineering,Urumqi 830052,China;2.Modern Edu⁃cation Technology Center,Xinjiang Teacher’s College(Xinjiang Education Institute),Urumqi 830043,China;3.Xinjiang Labo⁃ratory of Education Cloud Technology and Resources,Urumqi 830043,China)
With the rapid development of national economy and information technology,video surveillance system has been widely used in all walks of life.Aiming at the problem that the network video surveillance system is expensive to deploy and does not support remote cross-LAN access,this paper proposes a solution,Research on the video monitoring system of Based on Mjpg_Streamer and NAT Traversal technology.
Video monitoring system;Mjpg_Streamer;NAT Traversal
TP311
A
1009-3044(2017)21-0023-02
2017-06-20
“十二五”国家科技支撑计划(2015BAL03B03-06)
寇晓斌(1977—),男,新疆乌鲁木齐人,讲师,硕士,研究方向为计算机软件及计算机应用、计算数学;张涛(1991—),男,山西运城人,助工,学士,研究方向为计算机技术与软件工程;张佳伟(1989—),男,甘肃礼县人,助工,研究生在读,研究方向为Linux操作系统。