掌桥专利:专业的专利平台
掌桥专利
首页

采用外网客户端播放内网监控视频的方法

文献发布时间:2023-06-19 18:37:28


采用外网客户端播放内网监控视频的方法

技术领域

本发明涉及视频监控领域,具体涉及一种采用外网客户端播放内网监控视频的方法。

背景技术

在视频监控领域,实时视频播放以及录像查看是两种最常见的视频播放功能,通常是通过流媒体技术,将视频文件分割成若干个流媒体数据包,从流媒体服务器分段传送至视频播放客户端。用户通过视频播放客户端在观看视频的过程中,可以任意选择视频中任何时间段的内容,但在这种传输方式中,如果网络传输状况不理想,则收到的图像质量就会比较差,特别是在视频监控数量或者视频并发播放较大的情况下,一般会部署多台流媒体服务器对视频文件进行分发,视频文件对应的流媒体外网地址一般由流媒体服务器的IP地址、端口号、视频通道号、随机串码等信息组成,而每台流媒体服务器的IP地址均不相同,故同一视频文件每次在视频播放客户端上播放的时候,其在网络中的播放地址均不相同。

在多数的视频监控平台,尤其是社会机构或单位投资建设的内部监控平台一般只处于局域网(通常称为内网),并没有接入广域网(通常称为外网),所有的视频文件只具有内网播放地址,导致在实际使用过程中,处于外网的视频播放客户端无法通过内网播放地址播放存储在内网流媒体服务器中的视频文件。

发明内容

本发明的目的是针对现有技术对应的不足,提供一种采用外网客户端播放内网监控视频的方法,通过在处于内网的视频能力开放平台的内网服务器集群与网关之间设置一反向代理web服务器,利用该反向代理web服务器的唯一标识符以及网关域名,为视频文件的内网播放地址与外网播放地址建立映射关系,使处于外网的视频播放客户端能够通过映射关系对位于内网的视频文件进行播放,跨网完成流媒体的播放。

本发明的目的是采用下述方案实现的:一种采用外网客户端播放内网监控视频的方法,包括以下步骤:

1)在处于内网的视频能力开放平台的内网服务器集群与网关之间设置一反向代理web服务器,并设置该反向代理web服务器对应的唯一标识符,存储在网关中;

2)当视频能力开放平台通过网关收到外网客户端对任一视频文件的播放请求时,根据内网服务器集群的负载情况确定该视频文件的内网播放地址,并将该视频文件的内网播放地址通过内网服务器或者反向代理web服务器发送给网关;

3)网关将网关域名以及该视频文件的内网播放地址中的视频文件内网相对路径,与唯一标识符组成该视频文件的外网播放地址,发送给外网客户端,并将外网播放地址与内网播放地址的映射关系存储在一映射关系数据库中;

4)外网客户端收到视频文件的外网播放地址后,根据外网播放地址向视频能力开放平台发出视频播放请求,视频能力开放平台根据映射关系数据库中内网播放地址与外网播放地址的映射关系将该视频文件转发至内网服务器;

5)外网客户端根据视频文件的外网播放地址获取内网服务器中的视频文件进行播放。

优选地,所述外网播放地址由网关域名、唯一标识符以及视频文件的内网相对路径组成。

优选地,所述反向代理web服务器设有一用于存储视频文件的内网播放地址与外网播放地址的映射关系的映射关系模块。

优选地,所述映射关系模块采用脚本语言lua将内网播放地址与外网播放地址的映射关系存储在Redis中。

优选地,所述反向代理web服务器为nginx。

优选地,所述nginx采用脚本语言lua将内网播放地址与外网播放地址的映射关系存储在Redis中,并对nginx的配置文件进行动态配置。

优选地,所述映射关系数据库为Redis。

本发明的优点在于,通过在处于内网的视频能力开放平台的内网服务器集群与网关之间设置一反向代理web服务器,根据该反向代理web服务器的唯一标识符以及网关域名,利用网关本身具有的地址转换功能为视频文件的内网播放地址与外网播放地址建立映射关系,使处于外网的视频播放客户端能够通过映射关系对位于内网的视频文件进行播放,跨网完成流媒体的播放,减轻了网关设备的运行负担,缩短了系统的响应时间,保证了整个系统的运行稳定性。

附图说明

图1为本发明的流程图;

图2为本发明中视频能力开放平台、网关以及反向代理web服务器在内、外网中的相对关系示意图。

具体实施方式

如图1至图2所示,一种采用外网客户端播放内网监控视频的方法,包括以下步骤:

1)在处于内网的视频能力开放平台的内网服务器集群与网关之间设置一反向代理web服务器,并设置该反向代理web服务器对应的唯一标识符,存储在网关中,所述反向代理web服务器为nginx,是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,即nginx主要可以实现http协议下统一IP地址的入口以及视频文件的分发。

2)当视频能力开放平台通过网关收到外网客户端对任一视频文件的播放请求时,根据内网服务器集群的负载情况确定该视频文件的内网播放地址,并将该视频文件的内网播放地址通过内网服务器或者反向代理web服务器发送给网关;所述内网服务器即处于内网的流媒体服务器,其作用是用于转发流媒体的媒体文件,本发明中的视频文件通常就是指的通过监控视频获取的视频,一般是流媒体格式。

3)网关将网关域名以及该视频文件的内网播放地址中的视频文件内网相对路径,与唯一标识符组成该视频文件的外网播放地址,发送给外网客户端,并将外网播放地址与内网播放地址的映射关系存储在一映射关系数据库中,所述映射关系数据库为Redis。

所述内网播放地址由内网服务器的IP地址、端口号以及视频文件的内网相对路径组成。所述外网播放地址由网关域名、唯一标识符以及视频文件的内网相对路径组成。

4)外网客户端收到视频文件的外网播放地址后,根据外网播放地址向视频能力开放平台发出视频播放请求,视频能力开放平台根据映射关系数据库中内网播放地址与外网播放地址的映射关系将该视频文件转发至内网服务器;

5)外网客户端根据视频文件的外网播放地址获取内网服务器中的视频文件进行播放。

本实施例中,所述反向代理web服务器设有一用于存储视频文件的内网播放地址与外网播放地址的映射关系的映射关系模块,所述映射关系模块采用脚本语言lua将内网播放地址与外网播放地址的映射关系存储在Redis中,所述nginx采用脚本语言lua将内网播放地址与外网播放地址的映射关系存储在Redis中,并对nginx的配置文件进行动态配置(由于nginx配置文件一般为静态配置,配置好后重启才能生效,而当前视频播放场景下的地址不固定,因此需要对nginx的配置文件进行动态配置)。在视频文件转发到内网服务器之前,nginx会读取存储在Redis中的映射关系,进行内、外网播放地址的映射转换。

所述Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

所述视频能力开放平台包含第三方能力开放模块,处于外网的视频播放客户端(即外网客户端)通过第三方能力开放模块的服务功能,能够通过请求开放接口实现与视频能力开放平台的对接,获取实时视频以及录像回放的流媒体内网地址。

以上所述仅为本发明的优选实施例,并不用于限制本发明,本领域的技术人员在不脱离本发明的精神的前提下,对本发明进行的改动均落入本发明的保护范围。

技术分类

06120115633227