一种基于Openwrt路由器的实时摄像头监控方法

文档序号:10539214阅读:3525来源:国知局
一种基于Openwrt路由器的实时摄像头监控方法
【专利摘要】本发明涉及一种基于Openwrt路由器的实时摄像头监控方法,分成两个部分,第一部分是视频监控信息的远程实时观看,采用MJPG?streamer方案实现图像的获取,通过HTTP协议将视频传输到PC端的浏览器,实现远程监控的功能;第二部分是视频内容的云端保存,该部分将从摄像头得到的视频以图片的形式定时保存在本地,并上传到用户指定的FTP服务器上。本发明在Openwrt路由器上实现了远程监控的功能和摄像头的定时抓拍功能,并且可以将图片直接上传到指定云端服务器保存,存储空间更大,信息更安全,且成本较低。
【专利说明】
一种基于Openwrt路由器的实时摄像头监控方法
技术领域
[0001]本发明涉及一种基于Openwrt路由器的实时摄像头监控方法,属于智能路由器、嵌入式软件设计技术领域。
【背景技术】
[0002]随着网络的发展和科技的进步,为了保障个人生命财产安全和社会公共安全,视频监控的应用越来越普遍。不论是商场店铺,还是家居生活,通过摄像头和网络实现远程监控,从而实现实时信息查看和视频信息保存越来越被人们重视。随着处理器的计算能力不断提高,成本不断下降,各种高性能的硬件产品在生活中日渐普及。以百元级别路由器为例,目前已经买到128M内存和128M Flash级别的产品了,其性能也不再仅仅只是局限于承担路由器的工作。为了充分利用路由器的空闲性能,在Openwrt系统的基础上,利用路由器的USB接口和摄像头,实现基于路由器的实时监控和信息保存功能。这样路由器不仅可以用来上网,还可以充当简单的监控系统,降低成本,一举多得。
[0003]针对带有USB接口的路由器,可以外接摄像头实现功能的扩展。由于Openwrt系统是基于Linux内核实现的,所有通过安装摄像头的相关模块,可以实现摄像头设备的识别。为了实现视频图像的查看和采集,MJPG-streamer方案是一种比较常见的解决方式。
[0004]文献【1】(陈书益,黄永慧.开源视频服务器软件MJPG-streamer的研究和应用[J].电子设计工程,2012,20(5):172-176)介绍MJPG-streamer是一个轻量级的视频服务器软件,一个可以从单一输入组件获取图像并传输到多个输出组件的命令行应用程序,可以从网络摄像机中获取并传输JPEG格式的图像到浏览器实时显示。由于MJPG-streamer源代码基于Linux C开发而成,因而具有良好的可移植性,加上本身是轻量级的并且很少的CPU占用,所有在多种平台下都有应用。文献【2】(于艳萍,朱晓智,王中训.基于ARM9和USB摄像头的网络视频采集系统设计[J ].现代电子技术,2011,34 (24): 49-51)在AMR9的硬件平台下,基于Linux嵌入式操作系统,通过移植MJPG-streamer,实现了远程视频信息的采集。文献【3】(杨宏,张志文.基于Web的嵌入式远程监控系统的研究与实现[J].计算机与数字工程,2012,40(10):70-72.)在同样的硬件平台下,不仅实现了监控的功能,而且通过socket套接字设计了多点同时监控的方案,提升了其应用空间。文献【4】(陈恒鑫,林威,张钦宇.基于Mjpg-streamer的移动视频监控系统设计[J].计算机测量与控制,2014,22( 11): 3597-3599.)则从视频图像的编码入手,抛弃MJPG-streamer默认的M-JPEG图像压缩方案,设计采用H.264视频编码技术,提升了编码的效率,提升了网络适应性,实现了高清流畅的视频传输需要。除了在服务器端对MJPG-streamer进行改进和优化外,实时监控接收端的模式也在不断发展。除了传统的浏览器端进行视频接收,文献【5】(周鹏飞,潘地林.基于Android视频监控系统的数据处理及实现[J].计算机技术与发展,2013,23(5):150-153.)在ARM平台下基于MJPG-streamer设计本地监控系统,并设计手机端接收程序,实现了通过安卓手机获取监控画面的功能,提升了监控的实时性和移动性。

【发明内容】

[0005]本发明技术解决问题:克服现有技术的不足,提供一种基于Openwrt路由器的实时摄像头监控方法,实现远程监控的功能;并在路由器端实现摄像头的定时抓拍功能,将图片直接上传到指定云端服务器保存,存储空间更大,信息更安全,且成本较低。
[000?]本发明技术解决方案:一种基于Openwrt路由器的实时摄像头监控方法,
[0007]本发明分成两个部分,第一部分是视频监控信息的远程实时观看,主要采用MJPG-streamer方案实现图像的获取,通过HTTP协议将视频传输到PC端的浏览器,实现远程监控的功能;第二部分是视频内容的云端保存,该部分主要将从摄像头得到的视频以图片的形式定时保存在本地,并上传到用户指定的FTP服务器上。
[0008](I)实时监控的实现
[0009]首先通过Openwrt路由器端的USB接口外接一个免驱并且支持MJPG-Streamer的摄像头,通过安装系统支持免驱摄像必需的内核模块kmod-video-core和kmod-video-uvc (或者在编译系统固件时将上述模块直接添加到固件中),实现摄像头的识别;其次在路由器端安装MJPG-streamer,通过编写视频监控的运行脚本实现视频监控的启动和相关运行参数的设置,同时依照Linux启动脚本规则编写自启动脚本实现视频监控功能的开机自动运行,从而完成路由器端的部署;在PC端的浏览器通过访问路由器IP地址+指定端口号,得到摄像头的实时画面信息,从而实现实时监控功能;
[0010](2)视频内容的云端保存
[0011]在实时监控的基础上,利用MJPG-streamer将视频处理成一帧一帧图片的工作模式,通过编写脚本文件使用wget命令获取监控图片并将图片保存在路由器本地;使用wput命令将得到的图片上传到指定FTP服务器进行保存。此外,基于系统本身提供的定时任务的功能,实现脚本的定时执行,从而实现监控图片的定时获取和定时上传云端保存的功能。
[0012]如图1所示,本发明程序实现如下:
[0013]STEPl):在Openwrt路由器上部署MJPG-streamer后,编写监控启动脚本和开机自启动脚本,实现视频监控功能的自启动。通过脚本命令,指定输入输出模块和相关参数取值;
[0014]STEP2):在路由器端进行视频数据的采集和处理。MJPG-streamer会把视频分解成一张一张相互独立的jpg文件进行传送。这里采用默认的M-JPEG标准编码;
[0015]STEP3):当用户通过PC端的浏览器查看实时监控信息时,路由器端采集到的图片的数据通过HTTP协议发送给用户;
[0016]STEP4):用户通过PC端浏览器接收到实时监控画面信息。需要注意,用户虽然在浏览器端看到的连续的画面,但实际上接收到的一张张静态的图片;
[0017]STEP5):经过“视频一图片”转换处理后的监控图片定时保存在路由器本地;
[0018]STEP6):为了保证本地存储空间不被完全占用以及保证监控信息安全,将本地图片上传到指定FTP服务器上保存。为了记录监控画面的时间信息,采用监控画面的保存时间(即时分秒)命名图片,并且保存在FTP服务器端以年月日命名的文件夹下;
[0019]STEP7):考虑本地存储空间有限,为了保证路由器的正常运行,在监控图片信息被上传到FTP服务器后,本地图片便被定时自动删除;
[0020]STEP8):判定程序是否结束运行。若不结束,则继续循环STEP2到STEP7;否则结束并退出视频监控。
[0021]本发明与现有技术相比的优点在于:
[0022](I)充分利用路由器的USB接口,挂载摄像头,通过电脑浏览器就可以实现远程监控的功能;
[0023](2)在路由器端实现摄像头的定时抓拍功能,并可以将图片直接上传到指定Ζ5Γ端服务器保存,存储空间更大,信息更安全,且成本较低。
【附图说明】
[0024]图1为本发明基于Openwrt路由器视频监控和图片保存流程图。
【具体实施方式】
[0025]本发明在Openwrt路由器端安装和部署MJPG-streamer,通过一定的脚本实现视频监控服务的启动,采用HTTP协议进行监控视频内容的传输,在PC端利用浏览器接收,实现实时监控的功能。此外,为了保存监控视频的内容,利用MJPG-streamer将视频转换成图片进行传输的工作原理,定时将图片保存下来。考虑到本地存储空间不足和视频内容的安全,将图片自动上传到指定的云端FTP服务器进行保存,并在图片上传成功后自动删除本地图片,实现监控内容的云端保存。
[0026]1.实时监控
[0027]在成功挂载摄像头并且安装MJPG-streamer后,为了进行远程监控,需要保证MJPG-streamer的插件加载和正常启动。
[0028]在实时监控中,需要用的插件包括Input_uvc.so和output_http.so。其中,Input_UVC.SO负责从视频设备中抓取图片,可以指定设备名称、图片大小、帧率等;output_http, so是一个符合HTTP标准的Webserver,通过HTML文件实现例如CSS、JavaScript等复杂的网页功能,并接收浏览器客户端命令实现摄像头参数调整,后面通常指定Webserver的端口和地址等。监控服务器端通过Socket将监控数据发送到用户的浏览器,实现远程实时监控。
[0029]为了保证摄像头监控功能可以开机自启动,编写摄像头监控的开机自启动脚本。在/ etc/init.d/文件夹下添加文件camerastart,该脚本是一个启动脚本,设定本脚本的开机启动顺序,以及运行的指令。由于摄像头使用依赖MJPG-streamer,所以将摄像头监控脚本启动顺序安排在MJPG_stramer启动之后。-b参数使MJPG-streamer后台运行,-p 8080表示使用的端口。由于系统启动时会按顺序启动rc.d目录下的脚本链接,然后对应执行init.d目录下的启动脚本,所以使用如下命令在/etc/rc.d/目录下为摄像头启动脚本做一个软链接
[0030]ln-s/etc/init.d/camerastart/etc/rc.d/S9Icamerastart
[0031 ] 重启系统后,摄像头即可以在OpenWrt路由器上实现开机自启动。在Chrome、Firfox浏览器端使用192.168.1.1:8080即可以查看到路由器摄像头的实时影像。
[0032]2.监控信息云端保存
[0033]由于MJPG-Streamer采用将视频内容转换成图片的方式对视频进行处理,所以在进行远程实时监控的同时,将图片信息定时上传到云端进行保存是一种有效的保存监控的形式。在路由器上安装了 wput后,可以使用wget命令将摄像头图片文件保存在指定文件夹下。配合wput命令的使用,可以将实时的图片文件上传到用户指定FTP服务器的指定目录保存下来,从而实现监控内容的云端保存。
[0034]图片保存和上传功能使用脚本saverpic.sh实现,脚本用于获取当前系统时间和当前图像文件,摄像头图片文件首先被保存在路由器/tmp文件夹下,并使用wput命令将图片上传到FTP服务器保存在以日期为名字的文件夹下,重命名为图片保存的时间,以便区分。同时,为了节省路由器本地存储空间,避免存储空间完全被图片占用,设计将路由器端的图片定时进行清除。
[0035]为了使saverpic.sh脚本定时自动运行,可以使用系统提供的计划任务功能。计划任务相当于在路由器上开启了定时模式,即在用户指定的时间点或者时间段内自动执行由用户指定的某些任务。计划任务格式如下:
[0036][minute][hour][day of month][month][day of week][program to be run]
[0037]每个时间参数都有四种取值间隔方式:
[0038]*表示取任意时间;
[0039]-表示时间范围;
[0040],表示枚举多个时间值;
[0041 ] /表示时间每隔多久。
[0042]在/etc/crontabs/root添加计划任务内容如下:
[0043]*/l****/www/savepic.sh
[0044]*/5****rm/tmp/*.jpg
[0045]第一条任务表示每隔I分钟,执行/www/savepic.sh脚本,保存、上传图片文件;第二条任务每隔5分钟将本地路由器/tmp/下保存的图片自动删除。
[0046]完成以上所有文件和配置,重启路由器后,通过路由器的USB接口挂载摄像头就可以实现实时监控的功能和图片自动上传FTP服务器保存的功能。
[0047]提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
【主权项】
1.一种基于Openwrt路由器的实时摄像头监控方法,其特征在于:分成两个部分,第一部分是视频监控信息的远程实时观看,采用MJPG-streamer方案实现图像的获取,通过HTTP协议将视频传输到PC端的浏览器,实现远程监控的功能;第二部分是视频内容的云端保存,该部分将从摄像头得到的视频以图片的形式定时保存在本地,并上传到用户指定的FTP月艮务器上,实现步骤如下: (1)实时监控的实现 首先通过Openwrt路由器端的USB接口外接一个免驱并且支持MJPG-streamer的摄像头,通过安装系统支持免驱摄像必需的内核模块kmod-video-core和kmod-video-uvc或者在编译系统固件时将上述模块直接添加到固件中,实现摄像头的识别;其次在路由器端安装MJPG-streamer,通过编写视频监控的运行脚本实现视频监控的启动和相关运行参数的设置,同时依照Linux自启动脚本编写规则编写自启动脚本实现视频监控功能的开机自动运行,从而完成路由器端的部署;在PC端的浏览器通过访问路由器IP地址+指定端口号,得到摄像头的实时画面信息,从而实现实时监控功能; (2)视频内容的云端保存 在实时监控的基础上,利用MJPG-streamer将视频处理成一帧一帧图片的工作模式,通过编写脚本文件使用wget命令获取监控图片并将图片保存在路由器本地;使用wput命令将得到的图片上传到指定FTP服务器进行保存。此外,基于系统本身提供的定时任务的功能,实现脚本的定时执行,从而实现监控图片的定时获取和定时上传云端保存的功能。2.根据权利要求1所述的基于Openwrt路由器的实时摄像头监控方法,其特征在于:所述(2)中,由于路由器本地存储空间有限,本地图片在成功上传云端后便被删除;为了区分图片,在FTP服务器端自动以当天日期建立文件夹,以图片保存的时间命名图片,从而将时间和内容信息都保存了下来。3.根据权利要求1所述的基于Openwrt路由器的实时摄像头监控方法,其特征在于:所述(I)中使用路由器的IP地址和指定的端口号,在PC端通过浏览器就实现摄像头监控画面的实时观看。
【文档编号】H04N7/18GK105898225SQ201610268619
【公开日】2016年8月24日
【申请日】2016年4月26日
【发明人】凌强, 张雷, 徐骏
【申请人】中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1