一种基于智能手机的远程视频监控的方法
技术领域
本发明涉及远程视频监控系统,具体涉及一种用智能手机远程浏览网络摄像机的监控视频的方法,即通过web技术、视频转发技术以及局域网穿透技术,完成手机对远程视频的实时浏览以及向手机报警的功能,属于安防视频监控领域。
背景技术
在视频监控领域里,各行业重点部门或重要场所都已经部署了高清视频监控系统,而随着智能手机的普遍应用,功能越来越强大,价格越来越低,人们希望在手机上能够随时随地的浏览监控视频。但由于传统视频监控只能在局域网内进行视频的处理,导致非该局域网的客户端设备无法访问局域网内的视频,使得视频监控安全防范没有达到预期的效果。因此,迫切需要将监控视频流与广域网连接,使得手机客户端在广域网下也可以访问监控视频,达到远程管理控制的目标,满足安防部门主动、实时监控的需要,对于突发事件可以及时避免或进行处理。
目前已经出现了一些移动视频监控系统,通过报警装置针对动物或人类活动进行视频采集处理,并发送到检测装置。例如,深圳市锦粤达科技有限公司设计出了3G手机远程视频监控系统,该系统通过运动监测装置的反应自动启动录像装置并拨打预设号码,使用者可及时了解情况,在确认有人入侵等情况时,启动报警或警告装置。深圳市科为时代科技有限公司公开了一种手机远程视频监控报警系统,该系统的红外感应报警器和视频发射模块与监控摄像机连接,一旦有物体触碰到红外感应报警器,监控摄像机就进行拍摄,并将拍摄后的视频通过视频发射模块发送到手机终端,监控者即可清楚的看到所监控的画面。以上两种监控系统的设计主要通过硬件系统报警装置进行报警,而本发明是通过软件设计视频的采集、转发及报警规则,满足报警规则就报警,所以易于扩展。
目前市面还有一些移动视频监控系统,是通过媒体转发器进行视频转发。例如,重庆邮电大学的刘诚、段红光等人采用网络摄像机,将流媒体服务器与Web服务器移植在ARM开发板上,从而将采集端与服务端所有工作都集中在ARM开发板上与手机端通信达到实时监控和对IPC的云台控制功能,而ARM开发板计算能力相对于服务器较弱,通常适合支持一台摄像机。郭永清等人利用USB摄像头采集视频,然后由服务器传送给编解码模块进行压缩处理后封装打包发送到IP网络上,客户端通过网络接收数据包实时播放。以上两种视频监控系统的设计都针对单路视频的编解码转发和控制,而本发明的流媒体服务器则针对多路视频的远程访问及异常检测报警问题。
发明内容
本发明的目的在于实现一种基于智能手机的远程视频监控的方法,利用局域网的穿透技术,通过用户管理服务器存储管理用户信息,用网络硬盘摄像机存储管理视频,由视频管理服务器进行视频转发功能、视频关键帧的异常检测等;当手机客户端请求获取视频时,通过从视频管理服务器获取相关视频。本系统架构能够支持更多的视频监控网络摄像机和手机客户端进行实时视频监控以及报警功能,并完成用户权限管理;与传统的监控系统相比,能够实现广域网的远程视频监控、异常情况的及时发现与事后取证,便于扩展系统的视频分析处理能力,易于管理和维护等。
具体来说,本发明的方法包括下列步骤:
A.按照系统结构部署相关服务器、手机监查器以及N台网络摄像机,具体内容为:
A1.假设手机处于公网中,手机客户端App与一台用户管理服务器UserServer通信完成用户信息的管理,并与视频管理服务器VideoServer通信获取实时视频;
A2.UserServer管理用户登录及其权限信息,协助手机App与VideoServer进行局域网穿透;
A3.VideoServer处于局域网LAN1中,管理监控设备信息、用户与监控设备的权限关系以及手机监查器的信息,并完成视频转发、异常检测及报警功能;
A4.N台监控摄像机(IPC)和网络硬盘摄像机(NVR)也处于局域网LAN1中,摄像机的视频流暂存于NVR,并通过VideoServer转发给App;
A5.手机监查器包括一个前端探查设备及手机监查服务模块,自动捕获设定范围内出现的被监查手机的相关信息,写入内容包括但不限于手机的IMEI号,IMSI号,MSDN号,手机归属地,设备号等,并将其保存在VideoServer的本地数据库中;
B.用户通过App进行注册,建立用户App与IPC的关联,具体实现步骤为:
B1.用户通过App界面输入包括但不限于:用户名UserName、手机号Mobile、个人邮箱Email、密码Password,将准备安装在现场摄像机的二维码Code扫描录入;并由App将以上信息发送给UserServer;
B2.管理员访问UserServer进行用户角色权限分配,UserServer将收到数据以及配置信息存入其数据库UserDB;
B3.UserServer将用户信息以及角色分配UserGroup,发送给VideoServer;
B4.管理员访问VideoServer进行用户角色权限分配,VideoServer将用户分配信息、以及IPC信息登记入数据库VideoDB;
B5.VideoServer将用户分配信息发送至UserServer;
B6.UserServer更新其数据库UserDB,并将注册确认信息发送给手机App;
C.用户通过App登录到UserServer,具体实现步骤为:
C1.用户通过App界面输入Mobile、Password,App向UserServer提出登录请求;
C2.UserServer访问本地UserDB,验证该用户的合法性,将该用户信息发送到VideoServer;
C3.VideoServer访问其本地VideoDB,进行本地权限检查,并将确认信息返回给UserServer;
C4.UserServer更新本地数据库UserDB,并将登录确认信息发送给手机App;
D.App利用局域网穿透技术与VideoServer直接连接,以便获取实时视频流,具体实现步骤为:
D1.App向UserServer发送穿透VideoServer局域网的请求,并启动对VideoServer的监听服务;
D2.UserServer收到浏览请求后,将App的公网IP1以及端口号Port1发送给对应的VideoServer;
D3.VideoServer向App端发起连接请求;
D4.App收到VideoServer的连接请求后,在数据包中获取VideoServer的公网IP2以及Port2,向VideoServer发送响应请求ACK,即完成了对VideoServer所在局域网的穿透;
D5.如果App端处于另一个局域网LAN2中,则还需要进行LAN2的穿透,具体步骤如下:
D5.1.VideoServer向UserServer发送穿透App局域网的请求,并启动对App的监听服务;
D5.2.UserServer收到浏览请求后,将VideoServer的公网IP2以及端口号Port2发送给对应的App;
D5.3.App向VideoServer端发起连接请求;
D5.4.VideoServer收到App的连接请求后,,在数据包中获取App的公网IP1以及Port1,向App发送响应请求ACK,即完成了对App所在局域网的穿透;
E.App与VideoServer之间进行请求和发送视频流,具体实现步骤如下:
E1.App初始化界面窗口读取用户的设备列表IPCs,向VideoServer端发送请求某路视频的消息;
E2.VideoServer端接到请求该路视频的消息后,从NVR获取对应的视频流,并转发给App;
E3.App接收到视频流后,完成视频解码,并在App窗口播放相应视频;
F.在VideoServer中,对视频以及手机监查器监测到的手机号进行异常检测,根据报警规则向App报警,具体实现步骤为:
F1.VideoServer按照每N秒1帧的速率,截取M个视频流中的关键帧,保存在本地文件系统中;
F2.VideoServer对所截取的关键帧进行图像分析和异常检测,图像分析内容包括但不限于跌倒检测、移动检测、人数统计,打架行为等,对手机号的监测内容包括但不限于时间段、手机号以及其他属性条件;
F3.VideoServer中保存着日志表DialogList用于记录异常检测的结果信息,手机监测表PhoneList用于记录手机监测器监测的手机信息,规则表RuleList用于记录报警规则;
F4.VideoServer将分析结果存入日志表,并查询报警规则;
F5.当满足报警条件时,VideoServer向UserServer和手机App分别发送报警信息,并发送视频帧的网络链接给手机App;
F6.VideoServer将报警信息保存至VideoDB,用于后续的统计分析;
F7.手机App收到报警信息和网络链接后,在窗口界面上显示报警提示;当用户选择查看图片的功能时,App通过VideoServer获取视频帧图片,并显示在窗口界面上。
本发明提出一种基于智能手机的远程监控的方法,通过用户管理服务器管理用户信息、角色分配以及局域网穿透,通过视频管理服务器存储设备访问信息并完成视频转发功能。当手机客户端请求获取视频时,从视频管理服务器获得相关视频流;当视频管理服务器提取的视频关键帧满足报警条件时,由视频管理服务器分别向用户管理服务器以及手机客户端发送报警信息,并在需要时将报警图片发送给手机客户端。本发明的优点是通过局域网的穿透技术以及手机客户端远程监控技术,既能获取实时视频,在手机客户端实时浏览视频,也可以通过视频管理服务器对视频进行异常检测,按照报警规则报警,使得手机客户端的远程监控技术更加灵活、方便、实用。
附图说明
图1:发明方法流程图;
图2:系统结构图;
图3:用户注册时序图;
图4:用户登录时序图;
图5:局域网穿透技术时序图;
图6:报警流程时序图;
具体实施方式
下面结合附图,通过阐述在某单位的视频管理服务器、用户管理服务器、网络硬盘摄像机、前端摄像机、手机客户端的远程监控过程,作为实施例对本发明作进一步描述。
1.按照系统结构部署相关服务器、手机监查器以及N台网络摄像机,,系统结构图如图2所示,具体内容为:
1.1本发明中,手机处于公网中,客户端App的IP地址为10.00.208.209,用于接收用户信息,与一台用户管理服务器UserServer通信完成用户信息的管理,并与视频管理服务器VideoServer通信获取实时视频;
1.2UserServer处于公网中,IP地址为139.196.203.48,用于管理用户登录及其权限信息,协助手机App与VideoServer进行局域网穿透;
1.3VideoServer处于局域网LAN1内,IP为192.168.69.230,外网IP地址为111.207.200.171;管理监控设备信息、用户与监控设备的权限关系以及手机监查器的信息,并完成视频转发功能;
1.4 4台监控摄像机(IPC)和网络硬盘摄像机(NVR)处于局域网LAN1中,四台IPC对应的IP地址分别为192.168.69.233、192.168.69.236、192.168.69.237和192.168.69.242,NVR的IP地址为192.168.69.231,摄像机的视频流暂存于网络硬盘摄像机中,并通过VideoServer转发给App;
1.5手机监查器包括一个前端探查设备及手机监查服务模块,自动捕获设定范围内出现的被监查手机的相关信息,写入内容包括但不限于手机的IMEI号,IMSI号,MSDN号,手机归属地,设备号等,并将其保存在VideoServer的本地数据库中;
2.用户通过App进行注册,建立用户、App与IPC的关联,用户注册时序图如图3所示,具体实现步骤为:
2.1用户通过App界面输入:用户名Belle、手机号1234567890、个人邮箱1234567890@126.com、密码abcd1234,将准备安装在现场摄像机的二维码00001,00002扫描录入;并由App将以上信息发送给UserServer;
2.2管理员访问UserServer进行用户角色权限分配,UserServer将收到数据以及配置信息存入其数据库UserDB;
2.3UserServer将用户信息以及角色分配UserGroup,发送给VideoServer,UserServerDB中存放的具体信息如下:
User具体信息如下表:
Account |
Realname |
Mobile |
Password |
Email |
VideoServerID |
IPC_ID |
Belle |
test |
1234567890 |
abcd1234 |
1234567890@126.com |
10001 |
00001 |
Belle |
test |
1234567890 |
abcd1234 |
1234567890@126.com |
10001 |
00002 |
IPC具体信息如下表:
IPC_ID |
IPC_IP |
VideoServer_IP |
00001 |
192.168.69.233 |
111.207.200.171 |
00002 |
192.168.69.236 |
111.207.200.171 |
00003 |
192.168.69.237 |
111.207.200.171 |
00004 |
192.168.69.242 |
111.207.200.171 |
2.4管理员访问VideoServer进行用户角色权限分配,VideoServer将用户分配信息、以及IPC信息登记入数据库VideoDB,具体存放数据如下:
IPC具体信息如下表:
IPC_ID |
IPC_IP |
VideoServer_IP |
Port |
VSUser |
Password |
00001 |
192.168.69.233 |
111.207.200.171 |
80 |
admin |
admin12345 |
00002 |
192.168.69.236 |
111.207.200.171 |
80 |
admin |
admin12345 |
00003 |
192.168.69.237 |
111.207.200.171 |
80 |
admin |
admin12345 |
00004 |
192.168.69.242 |
111.207.200.171 |
80 |
admin2 |
abcd1234 |
User具体信息如下表:
Account |
VSUser |
UserID |
Password |
Moblie |
Email |
GroupID |
Belle |
admin |
1 |
admin12345 |
1234567890 |
1234567890@126.com |
2 |
用户分组信息如下表:
GroupID |
UserID |
Name |
1 |
3 |
A1 |
2 |
1 |
B2 |
用户分组与IPC节点对应关系信息如下:
GroupID |
UserID |
IPC_ID |
1 |
1 |
00001 |
1 |
1 |
00002 |
2 |
2 |
00003 |
1 |
2 |
00004 |
2 |
2 |
00004 |
2.5VideoServer将用户分配信息以及该视频管理服务器的VideoServerIP(111.207.200.171)返回至UserServer;
2.6UserServer更新其数据库UserDB,并将注册确认信息发送给手机App;
3.用户通过App登录到UserServer,用户登录时序图见图4,具体实现步骤为:
3.1用户通过App界面输入手机号:1234567890、密码:123456,App向UserServer提出登录请求;
3.2UserServer访问本地UserDB,验证该用户的合法性,将用户信息发送给VideoServer;
3.3VideoServer访问本地VideoDB,进行本地权限检查,并将确认信息ACK返回给UserServer;
3.4UserServer更新本地数据库UserDB,并将登录确认信息发送给手机App;
4.App利用局域网穿透技术与VideoServer直接连接,以便获取实时视频流,局域网穿透技术时序图见图5,具体实现步骤为:
4.1App向UserServer发送穿透VideoServer局域网的请求,访问ID为00001的IPC视频流,并启动对VideoServer的监听服务;
4.2UserServer收到浏览请求后,将App的公网IP1(10.0.0.2)以及端口号Port1(80)发送给对应的VideoServer;
4.3VideoServer向App端发起连接请求;
4.4App收到VideoServer的连接请求后向VideoServer发送响应请求ACK,即完成了对VideoServer所在局域网的穿透;
4.5如果App端处于另一个局域网LAN2中,则还需要进行LAN2的穿透,具体步骤如下:
4.5.1VideoServer向UserServer发送穿透App局域网的请求,并启动对App的监听服务;
4.5.2UserServer收到浏览请求后,将VideoServer的公网IP2(111.207.200.171)以及端口号Port2(80)发送给对应的App;
4.5.3App向VideoServer端发起连接请求;
4.5.4VideoServer收到App的连接请求后向App发送响应请求ACK,即完成了对App所在局域网的穿透;
5.App与VideoServer之间进行请求和发送视频流,具体关联见图2的关系3,具体实现步骤如下:
5.1App初始化界面窗口读取用户的设备列表IPCs,向VideoServer端发送请求视频的消息;
5.2VideoServer端接到请求视频消息后,从NVR获取对应的视频流,并转发给App;
5.3App接收到视频流后,完成视频解码,并在App窗口播放相应视频;
6.在VideoServer中,对视频以及手机监查器监测到的手机号进行异常检测,根据报警规则向App报警,报警流程时序图如图6,具体实现步骤为:
6.1VideoServer按照每2秒1帧的速率,截取视频流中的10个关键帧,保存在本地文件系统中;
6.2VideoServer对所截取的关键帧进行图像分析和移动检测,对手机号的监测内容包括但不限于时间段、手机号以及其他属性条件;
6.3VideoServer中保存着日志表LogList用于记录异常检测的结果信息,手机监测表PhoneList用于记录手机监测器监测的手机信息,规则表RuleList用于记录报警规则;
LogList内包含信息有:
PhoneList内包含信息为:
ID |
Imsi |
Imei |
Msdn |
DataTime |
Area |
1110 |
460001111 |
013279009 |
136510510 |
2017/01/01 |
北京 |
1111 |
460012231 |
864601027 |
186122351 |
2017/01/01 |
北京 |
1112 |
460001286 |
358584056 |
136011258 |
2017/01/01 |
北京 |
RuleList内包含信息有:
6.4VideoServer将分析结果存入日志表,并查询报警规则;
6.5在10:05:03时,视频分析的结果为:Tag=人像,满足报警条件16,应该报警;VideoServer向UserServer和手机App分别发送报警信息,并发送视频帧的URL地址给手机App;
6.6VideoServer将报警信息保存至VideoDB,用于后续的统计分析;
6.7手机App收到报警信息和网络链接后,在窗口界面上显示报警提示,并通过VideoServer获取视频帧图片,并显示在窗口界面上。
最后需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。