首页> 中国专利> 基于视频客户端跨浏览器集成系统

基于视频客户端跨浏览器集成系统

摘要

本发明公开了基于视频客户端跨浏览器集成系统,包括用户端、WebSdk端和视频客户端,所述视频客户端包括Media ClientX模块和prowinserver模块;外部进程嵌入浏览器,且可以在多种浏览器使用;通过JS脚本将C/S架构下的视频客户端融合到B/S架构下的浏览器,支持大部分主流浏览器,如chrome、firfox、edge、360等,当前的C/S保留,只需要在Web与客户端之间加一个桥梁,对当前C/S再次包装,让其嵌入浏览器,然后通过本地通信使浏览器与客户端交互。外部进程嵌入浏览器,且可以在多种浏览器使用。

著录项

  • 公开/公告号CN113055747A

    专利类型发明专利

  • 公开/公告日2021-06-29

    原文格式PDF

  • 申请/专利权人 重庆锐明信息技术有限公司;

    申请/专利号CN202110332581.9

  • 发明设计人 吴价宝;

    申请日2021-03-29

  • 分类号H04N21/443(20110101);H04N21/4782(20110101);H04N21/81(20110101);H04N21/472(20110101);

  • 代理机构51220 成都行之专利代理事务所(普通合伙);

  • 代理人李朝虎

  • 地址 400050 重庆市九龙坡区科园一路166号火炬大厦2号楼12-2、12-3

  • 入库时间 2023-06-19 11:39:06

说明书

技术领域

本发明涉及计算机领域,具体涉及一种基于视频客户端跨浏览器集成系统。

背景技术

C/S:服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。

B/S:B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如NetscapeNavigator或InternetExplorer,服务器安装SQLServer、Oracle、MYSQL等数据库。浏览器通过WebServer同数据库进行数据交互。

ActiveX:是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM)。

随着现代软件的发展、业务的需要及效率的要求,越来越多的公司将C/S向B/S转型,但是很多传统的公司使用C/S方式,如果全部迁移B/S,将导致代码的重新开发、开发人员等一系的变化,成本大大增加,且还会改变客户很多习惯。所以本技术营运而生,当前的C/S保留,只需要在Web与客户端之间加一个桥梁,对当前C/S再次包装,让其嵌入浏览器,然后通过本地通信使浏览器与客户端交互。

ActiveX:是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM);现有技术的缺点:(1)浏览器只支持IE;(2)注册ActiveX麻烦,容易出错。

发明内容

本发明所要解决传统的公司使用C/S方式,如果全部迁移B/S,将导致代码的重新开发、开发人员等一系的变化,成本大大增加的技术问题,目的在于提供一种基于视频客户端跨浏览器集成系统,实现了客户端插件跟随浏览器显示、隐藏、放大、缩小;实现了容易找到对应浏览器的句柄;实现了客户端与浏览器本地通信。

本发明通过下述技术方案实现:

基于视频客户端跨浏览器集成系统,包括用户端、WebSdk端和视频客户端,所述视频客户端包括Media ClientX模块和prowinserver模块;所述prowinserver模块,负责MediaClientX模块的启动;所述MediaClientX模块,提供视频业务,并将视频业务融入到用户端中的浏览器;

所述用户端,交互于视频客户端,下发指令初始化视频客户端,对浏览器进行基础操作,并获取浏览器的信息业务;

所述WebSdk端,用于用户端调用接口,为用户端和视频客户端之间建立通信连接,实时计算视频客户端所要展示的位置、大小,用于支持视频客户端与浏览器的UI界面一起移动、缩放、显示或隐藏;将C/S架构下的视频客户端融合到B/S架构下的浏览器,支持大部分主流浏览器,

所述视频客户端,用于执行用户端发出的指令。

所述视频客户端,即桌面客户端程序,用于执行用户端发出的指令,用于处理跨浏览器集成方案和视频业务。

首先websocket是一种网络通信协议,并且是为了解决实时获取服务器数据而实现的区别http一种通信协议。WebSocket连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端,WebSocket只需要建立一次连接,就可以一直保持连接状态。这相比于轮询方式的不停建立连接显然效率要大大提高。ProwinServer:WinServer服务程序,主要负责MediaClientX的启动;MediaClientX:桌面程序,主要提供视频等业务、融入到浏览器

进一步,所述用户端安装视频客户端后,视频客户端的prowinserver模块自启动websoket服务,所述用户端开始下发初始化视频客户端指令给WebSdk端。

进一步,所述WebSdk端根据用户端发出初始化视频客户端指令,在约定端口范围内连接本地Web Socket服务后,获取用户端中浏览器的类型,生成浏览器的标题唯一随机数,计算视频客户端在浏览器中展示的初始位置和大小;将用户端中浏览器的类型、浏览器的标题唯一随机数、视频客户端在浏览器中展示的初始位置和大小数据进行封装操作,生成封装指令,所述WebSdk端将封装指令发送给prowinserver模块;当前的C/S保留,只需要在Web与客户端之间加一个桥梁,对当前C/S再次包装,让其嵌入浏览器,然后通过本地通信使浏览器与客户端交互。外部进程嵌入浏览器,且可以在多种浏览器使用

进一步,所述prowinserver模块收到封装指令后,所述Prowinserver模块启动MediaClientX模块,传入MediaClientX模块封装指令和分配给MediaClientX将启动WebSockt的服务端口数据,所述封装指令包括用户端中浏览器的类型、浏览器的标题唯一随机数、视频客户端在浏览器中展示的初始位置和大小数据,同时Prowinserver模块反馈WebSdk连接MediaClientX模块的端口参数到WebSdk模块。

进一步,所述MediaClientX模块解析封装指令,根据解析的指令开启本地WebSocket服务;同时,根据封装指令中用户端中浏览器的类型、浏览器的标题唯一随机数、视频客户端在浏览器中展示的初始位置和大小数据,借助Window Api,设置视频客户端的注册用户为唯一网页的句柄,将MediaClientX模块融入到用户端中的浏览器。

进一步,WebSdk模块连接视频客户端中Mediclientx模块的Websocket服务端口。

进一步,所述视频客户端中的Mediclientx模块完成初始化后,发送完成指令给WebSdk模块;

进一步,所述Websdk模块接收到完成指令后,完成初始化操作,并发送完成指令给用户模块,即初始化结束。

本发明与现有技术相比,具有如下的优点和有益效果:

本发明一种基于视频客户端跨浏览器集成系统,外部进程嵌入浏览器,且可以在多种浏览器使用;通过JS脚本将C/S架构下的视频客户端融合到B/S架构下的浏览器,支持大部分主流浏览器,如chrome、firfox、edge、360等,当前的C/S保留,只需要在Web与客户端之间加一个桥梁,对当前C/S再次包装,让其嵌入浏览器,然后通过本地通信使浏览器与客户端交互。外部进程嵌入浏览器,且可以在多种浏览器使用。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:

图1是本发明系统结构图;

图2是本发明系统初始化流程图;

图3是本发明系统用户操作流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

在以下描述中,为了提供对本发明的透彻理解阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的结构、电路、材料或方法。

在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“一个实施例”、“实施例”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。

在本发明的描述中,需要理解的是,术语“前”、“后”、“左”、“右”、“上”、“下”、“竖直”、“水平”、“高”、“低”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。

实施例1:

如图1所示,基于视频客户端跨浏览器集成系统,包括用户端、WebSdk端和视频客户端,视频客户端包括Media ClientX模块和prowinserver模块;WinServer模块,负责MediaClientX模块的启动;MediaClientX模块,提供视频业务,并将视频业务融入到用户端中的浏览器;

用户端,交互于视频客户端,下发指令初始化视频客户端,对浏览器进行基础操作,并获取浏览器的信息业务;

WebSdk端,用于用户端调用接口,为用户端和视频客户端之间建立通信连接,实时计算视频客户端所要展示的位置、大小,用于支持视频客户端与浏览器的UI界面一起移动、缩放、显示或隐藏;将C/S架构下的视频客户端融合到B/S架构下的浏览器,支持大部分主流浏览器,

视频客户端,用于执行用户端发出的指令。

视频客户端,即桌面客户端程序,用于执行用户端发出的指令,用于处理跨浏览器集成方案和视频业务。

首先websocket是一种网络通信协议,并且是为了解决实时获取服务器数据而实现的区别http一种通信协议。WebSocket连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端,WebSocket只需要建立一次连接,就可以一直保持连接状态。这相比于轮询方式的不停建立连接显然效率要大大提高。ProwinServer:WinServer服务程序,主要负责MediaClientX的启动;MediaClientX:桌面程序,主要提供视频等业务、融入到浏览器

用户端安装视频客户端后,视频客户端的prowinserver模块自启动websoket服务,用户端开始下发初始化视频客户端指令给WebSdk端。

WebSdk端根据用户端发出初始化视频客户端指令,在约定端口范围内连接本地Web Socket服务后,获取用户端中浏览器的类型,生成浏览器的标题唯一随机数,计算视频客户端在浏览器中展示的初始位置和大小;将用户端中浏览器的类型、浏览器的标题唯一随机数、视频客户端在浏览器中展示的初始位置和大小数据进行封装操作,生成封装指令,WebSdk端将封装指令发送给prowin server模块;当前的C/S保留,只需要在Web与客户端之间加一个桥梁,对当前C/S再次包装,让其嵌入浏览器,然后通过本地通信使浏览器与客户端交互。外部进程嵌入浏览器,且可以在多种浏览器使用

prowinserver模块收到封装指令后,Prowinserver模块启动MediaClientX模块,传入MediaClientX模块封装指令和分配给MediaClientX将启动WebSocket的服务端口数据,封装指令包括用户端中浏览器的类型、浏览器的标题唯一随机数、视频客户端在浏览器中展示的初始位置和大小数据,同时Prowinserver模块反馈WebSdk连接MediaClientX模块的端口参数到WebSdk模块。

MediaClientX模块解析封装指令,根据解析的指令开启本地WebSocket服务;同时,根据封装指令中用户端中浏览器的类型、浏览器的标题唯一随机数、视频客户端在浏览器中展示的初始位置和大小数据,借助Window Api,设置视频客户端的注册用户为唯一网页的句柄,将MediaClientX模块融入到用户端中的浏览器。

WebSdk模块连接视频客户端中Mediclientx模块的Websocket服务端口。

视频客户端中的Mediclientx模块完成初始化后,发送完成指令给WebSdk模块;

Websdk模块接收到完成指令后,完成初始化操作,并发送完成指令给用户模块,即初始化结束。

实施例二

本实施例应用于实施例1所述的一种基于视频客户端跨浏览器集成系统,其中,1个Web对应1个Web-Sdk,一个Web-Sdk对应一个MediClientX,1个用户下只有一个ProwinServer、可以由多个MediaClientX,根据用户需要。

如图2所示,A1-A6:为用户正常操作顺序、D1-D2:安装客户端流程,

B1-B5与C1-C2并行处理,在A1-A6后面执行。

A1:用户打开浏览器,下发指令初始化视频客户端

A2:根据用户指令,在约定端口[20000,20010],并行尝试连接本地WebSocket服务,连上一个结束连接,都为连上表示为安装视频客户端,提示安装。

D1:安装完视频客户端后,客户端自动Prowinserver服务

D2:并开启本地Websocket服务,端口在[20000,20010]范围启动一个可用端口。

A3:WebSdk获取浏览器类型、生成浏览器标题唯一随机数、计算视频客户端在浏览器展示的位置、大小;

A4:与A2相同;

A5:封装指令下发给prowinserver,浏览器类型、浏览器临时随机数、客户端需要展示的位置、大小;

A6:prowinserver收到消息,分配MediaClientX可以开启的本地Websocket服务端口;

B1:Prowinserver启动MediaClientX,并传入浏览器类型、浏览器临时随机数、客户端需要展示的位置、大小信息;

B2:解析信令,初始化视频客户端;

B3:根据传入的端口开启本地WebSocket服务;

B4:MediaClientX根据浏览器类型、浏览器临时随机数遍历当前用户计算机,找到浏览器唯一的网页,并获取当前网页句柄,把当前客户端视频融入到浏览器,借助WindowApi,指定客户端的拥有者为唯一网页的句柄。;

B5:加载完成,将客户端初始启动位置放到浏览器指定位置及大小;

B6:加载完成,返回指令给WebSdk,WebSdk将浏览器临时随机数去掉;

C1:prowinserver返回WebSocket消息给WebSdk;

C2:WebSdk不断尝试连接MediaClientX的WebSocket,连接成功,结束连接;

C3:WebSdk毫秒级时间传输视频客户端需要展示的位置,大小。

如图3所示,为用户正常操作流程:

A1:用户拖动、缩放浏览器;

A2:WebSdk负责计算当前视频客户端需要展示的位置、大小;

A3:视频客户端需要根据传入的以桌面为参照物的位置、大小自我适应,并需要计算电脑的分辨率折算;

B1:用户切换网页、最小化浏览器、最大化浏览器;

A2:WebSdk根据情况分析客户端此时需要显示还是隐藏;

A3:视频客户端需要根据收到的指令显示或者隐藏;

A1:用户关闭浏览器、关闭网页、或者浏览器异常等;

A2:WebSdk断开Websocket连接;

A3:视频客户端检测到WebSocket连接断开,关闭视频客户端;

A1:用户下发业务指令,如打开视频等,需要传入视频等服务器信息;

A2:WebSdk封装接口下发;

A3:视频客户端解析指令,根据指令做出响应,如打开视频,需要根据服务器信息连接媒体等服务打开视频。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号