公开/公告号CN106202375A
专利类型发明专利
公开/公告日2016-12-07
原文格式PDF
申请/专利权人 武汉鸿瑞达信息技术有限公司;
申请/专利号CN201610534527.1
申请日2016-07-07
分类号G06F17/30;H04L29/06;H04L29/08;
代理机构北京汇信合知识产权代理有限公司;
代理人戴凤仪
地址 430000 湖北省武汉市东湖新技术开发区光谷大道35号银久科技产业园一期4幢3层3号
入库时间 2023-06-19 01:07:21
法律状态公告日
法律状态信息
法律状态
2019-07-12
著录事项变更 IPC(主分类):G06F16/958 变更前: 变更后: 申请日:20160707
著录事项变更
2019-04-19
授权
授权
2017-01-04
实质审查的生效 IPC(主分类):G06F17/30 申请日:20160707
实质审查的生效
2016-12-07
公开
公开
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种多浏览器web流式视频异构协议解析引擎系统。
背景技术
在使用不同的浏览器观看Web流式视频文件时,有时会出现视频文件无法解析,视频无法播放的情况,换一种浏览器又可以播放;原因是由于当前使用的浏览器不支持Web流式视频的文件协议格式,流媒体播放需要浏览器的支持。
发明内容
针对上述问题中存在的不足之处,本发明提供一种多浏览器web流式视频异构协议解析引擎系统。
为实现上述目的,本发明提供一种多浏览器web流式视频异构协议解析引擎系统,包括UI组件库、CSS样式库、Javascript引擎库和Flash引擎库;UI组件库和CSS样式库共同构成系统界面,UI组件库与Javascript引擎库相连,Javascript引擎库与Flash引擎库相连;其中:
UI组件库,用于提供解析引擎系统快速开发的组件应用,供直接引用快速开发Web应用;
CSS样式库,用于提供基于UI组件库开发的应用样式支持;
JavaScript引擎库,用于提供解析引擎系统的web实现,开发者在Web应用中引入库,根据API说明文档,实现浏览器web流式视频的功能开发;
Flash引擎库,为Javascript引擎库提供支持多种协议视频流的底层支持。
作为本发明的进一步改进,所述协议视频流包括:Hls协议、Rtmp协议、Socket协议的流媒体视频。
作为本发明的进一步改进,所述UI组件库包括BaseVideoUi模块、Util模块和VideoUi模块;其中:
BaseVideoUi模块是UI组件的父类;
VideoUi模块是UI组件类,继承BaseVideoUi模块;
Util模块是UI组件工具类。
作为本发明的进一步改进,所述CSS样式库包括Base模块、Common模块和VideoStyle模块;其中:
Base模块是基础CSS类,Common模块是公共CSS类,VideoStyle模块是应用皮肤类。
作为本发明的进一步改进,所述JavaScript引擎库包括HlsVideo处理模块、RtmpVideo处理模块、SocketVideo处理模块和BaseVideo处理模块;BaseVideo处理模块为多种协议视频流格式类的父类;HlsVideo处理模块、RtmpVideo处理模块和SocketVideo处理模块均为BaseVideo处理模块的子类;其中:
HlsVideo处理模块,支持多浏览器web Hls协议格式视频流应用的功能开发;
RtmpVideo处理模块,支持多浏览器web Rtmp协议格式视频流应用的功能开发;
SocketVideo处理模块,支持多浏览器web Socket协议格式视频流应用的功能开发。
作为本发明的进一步改进,所述Flash引擎库包括RtmpAsVideo处理模块、SocketAsVideo处理模块、BaseAsVideo处理模块和VideoToJS处理模块;其中:
RtmpAsVideo处理模块,作为Javascript引擎库Rtmp协议格式流的Flash底层支持;
SocketAsVideo处理模块,作为Javascript引擎库Socket协议格式流的Flash底层支持;
BaseAsVideo处理模块,作为Flash视频多协议格式类的父类;
VideoToJS处理模块,作为Javascript引擎库与Flash引擎库通信的接口实现类。
与现有技术相比,本发明的有益效果为:
本发明公开的一种多浏览器web流式视频异构协议解析引擎系统,可以让不同编码格式的流式视频文件如Rtmp、Hls、Socket流视频,在不同的浏览器上流畅地播放,同时在提供用户观看同等质量品质视频的前提下,更节省观看视频所需的带宽流量。
附图说明
图1为本发明一种实施例公开的多浏览器web流式视频异构协议解析引擎系统的框架图;
图2为图1中UI组件库的框架图;
图3为图1中CSS样式库的框架图;
图4为图1中Javascript引擎库的框架图;
图5为图1中Flash引擎库的框架图;
图6为本发明一种实施例公开的流视频应用与各库的依赖调用关系;
图7为本发明一种实施例公开的多浏览器web流式视频异构协议解析引擎系统的应用时序图。
图中:
1、UI组件库;1-1、BaseVideoUi模块;1-2、Util模块;1-3、VideoUi模块;2、CSS样式库;2-1、Base模块;2-2、Common模块;2-3、VideoStyle模块;3、Javascript引擎库;3-1、HlsVideo处理模块;3-2、RtmpVideo处理模块;3-3、SocketVideo处理模块;3-4、BaseVideo处理模块;4、Flash引擎库;4-1、RtmpAsVideo处理模块;4-2、SocketAsVideo处理模块;4-3、BaseAsVideo处理模块;4-4、VideoToJS处理模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种多浏览器web流式视频异构协议解析引擎系统,该系统支持采用Hls协议、Rtmp协议和Socket协议的流媒体视频;解析引擎系统包括UI组件库、CSS样式库、Javascript引擎库和Flash引擎库;UI组件库和CSS样式库共同构成系统界面,UI组件库与Javascript引擎库相连,Javascript引擎库与Flash引擎库相连;其中:
UI组件库,用于提供解析引擎系统快速开发的组件应用,供直接引用快速开发Web应用;UI组件库包括BaseVideoUi模块、Util模块和VideoUi模块;BaseVideoUi模块是UI组件的父类;VideoUi模块是UI组件类,继承BaseVideoUi模块;Util模块是UI组件工具类。
CSS样式库,用于提供基于UI组件库开发的应用样式支持;CSS样式库包括Base模块、Common模块和VideoStyle模块;Base模块是基础CSS类,Common模块是公共CSS类,VideoStyle模块是应用皮肤类。
JavaScript引擎库,用于提供解析引擎系统的web实现,开发者在Web应用中引入库,根据API说明文档,实现浏览器web流式视频的功能开发;JavaScript引擎库包括HlsVideo处理模块、RtmpVideo处理模块、SocketVideo处理模块和BaseVideo处理模块;BaseVideo处理模块为多种协议视频流格式类的父类;HlsVideo处理模块、RtmpVideo处理模块和SocketVideo处理模块均为BaseVideo处理模块的子类HlsVideo处理模块,支持多浏览器web Hls协议格式视频流应用的功能开发;RtmpVideo处理模块,支持多浏览器webRtmp协议格式视频流应用的功能开发;SocketVideo处理模块,支持多浏览器web Socket协议格式视频流应用的功能开发。
Flash引擎库,为Javascript引擎库提供支持多种协议视频流的底层支持;Flash引擎库包括RtmpAsVideo处理模块、SocketAsVideo处理模块、BaseAsVideo处理模块和VideoToJS处理模块;RtmpAsVideo处理模块,作为Javascript引擎库Rtmp协议格式流的Flash底层支持;SocketAsVideo处理模块,作为Javascript引擎库Socket协议格式流的Flash底层支持;BaseAsVideo处理模块,作为Flash视频多协议格式类的父类;VideoToJS处理模块,作为Javascript引擎库与Flash引擎库通信的接口实现类。
本发明解决了浏览器不支持多种协议解析视频的问题,如Rtmp,Hls,Socket流视频等,可以让不同编码格式的流式视频文件在不同的浏览器上流畅地播放,同时在提供用户观看同等质量品质视频的前提下,更节省观看视频所需的带宽流量。本发明支持主流浏览器,如IE(ie7及以上版本)、chrome、Firefox、360、搜狗。
下面结合附图对本发明做进一步的详细描述:
如图1-7所示,本发明提供一种多浏览器web流式视频异构协议解析引擎系统,该系统支持采用Hls协议、Rtmp协议和Socket协议的流媒体视频;解析引擎系统包括UI组件库1、CSS样式库2、Javascript引擎库3和Flash引擎库4;UI组件库1和CSS样式库2共同构成系统界面,UI组件库1与Javascript引擎库3相连,Javascript引擎库3与Flash引擎库4相连;其中:
UI组件库1主要封装了多浏览器web流式视频异构协议解析引擎系统的一套基本UI界面,用于开发者基于此UI组件库快速开发流视频应用;开发者可以在此基础上扩展自己的UI界面,丰富自己的流视频应用界面呈现,达到适应自己产品需求的功能。CSS样式库2主要提供应用默认的样式皮肤,开发者可根据需要,开发自己的应用皮肤,达到应用展示效果的最优化。JavaScript引擎库3,提供多浏览器web流式视频异构协议解析引擎系统的web实现,开发者在Web应用中引入库,根据API说明文档,实现浏览器web流式视频的功能开发。Flash引擎库4,是为Javascript引擎库提供支持多种协议视频流的底层支持,开发者如果需要同时支持多种流协议视频的开发,需引入此库,如图1所示。
如图2所示,UI组件库1主要提供多浏览器web流式视频异构协议解析引擎系统快速开发的组件应用,用户可直接引用此组件,快速开发WEB视频应用。UI组件库1包含BaseVideoUi模块1-1、Util模块1-2和VideoUi模块1-3,其中BaseVideoUi模块1-1是UI组件的父类;VideoUi模块1-2是UI组件类,继承BaseVideoUi模块1-1;Util模块1-3是UI组件工具类,提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(Stack)、向量(Vector)、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构。
如图3所示,CSS样式库2主要提供基于UI库开发的应用样式支持,包含Base模块2-1、Common模块2-2和VideoStyle模块2-3。Base模块2-1是基础CSS类,Common模块2-2是公共css类,VideoStyle模块2-3是应用皮肤类。
如图4所示,Javascript引擎库3提供基于Javascript的多浏览器多种视频流的应用开发,提供通用开发库,供Web视频应用开发,包含HlsVideo处理模块3-1、RtmpVideo处理模块3-2、SocketVideo处理模块3-3和BaseVideo处理模块3-4这几部分。HlsVideo处理模块3-1:支持多浏览器web Hls协议格式视频流应用的功能开发,是BaseVideo模块父类的子类。RtmpVideo处理模块3-2:支持多浏览器web Rtmp协议格式视频流应用的功能开发,是BaseVideo模块父类的子类。SocketVideo处理模块3-3:支持多浏览器web Socket协议格式视频流应用的功能开发,是BaseVideo模块父类的子类。BaseVideo处理模块为多种协议视频流格式类的父类。
如图5所示,Flash引擎库4提供基于Flash传输的Rtmp和Socket视频流支持,包含RtmpAsVideo处理模块4-1、SocketAsVideo处理模块4-2、BaseAsVideo处理模块4-3和VideoToJS处理模块4-4这几部分。RtmpAsVideo处理模块4-1:Javascript引擎库Rtmp协议格式流的Flash底层支持。SocketAsVideo处理模块4-2:Javascript引擎库Socket协议格式流的Flash底层支持。BaseAsVideo处理模块4-3:Flash视频多协议格式类的父类。VideoToJS处理模块4-4:Javascript与Flash通信的接口实现类。
如图6所示,本发明的多浏览器web流式视频异构协议解析引擎系统的四个库存在依赖关系,流视频应用通过访问CSS样式库和UI组件库来显示应用页面,通过访问JavaScript引擎库来解析流视频文件,Flash引擎库为Javascript引擎库提供支持多种协议视频流的底层支持,开发者如果需要同时支持多种流协议视频的开发,需引入此库。系统支持采用Hls协议、Rtmp协议和Socket协议的流媒体视频。
如图7所示,本发明的多浏览器web流式视频异构协议解析引擎系统,实现多种协议格式视频流的时序图中,对于Hls协议格式视频流,Web页面通过引用库来访问JavaScript引擎库,JavaScript引擎库处理Hls协议流视频文件,然后将解析后的视频流文件发送到Web端。对于Rtmp协议视频流和Socket协议视频流,Web页面通过引用库来访问JavaScript引擎库,JavaScript引擎库将Rtmp协议视频流或Socket协议视频流传输给Flash引擎库处理,然后将解析后的视频流文件发送到Web端。
本发明具有以下优点:
①多浏览器web流式视频异构协议解析引擎系统可同时支持兼容用户使用的各种浏览器,帮助开发者在开发视频应用时,不用考虑浏览器兼容性问题,只需要基于此引擎开发即可。与其他视频引擎相比,兼容性更强,开发更方便更有效率。
②多浏览器web流式视频异构协议解析引擎系统,视频传输占用带宽低。与其他视频引擎相比,在传输视频占用带宽方面可节省30%-50%的带宽,大大节省带宽费用,减少带宽成本。
③多浏览器web流式视频异构协议解析引擎系统,可同时支持多种视频协议格式传输。其他视频引擎只是单一针对一种视频协议格式传输,在开发过程中使开发者受到限制。使用多浏览器web流式视频异构协议解析引擎系统,用户可对接多种视频协议格式输出。
使用本发明提供的多浏览器web流式视频异构协议解析引擎系统,产品只需一套引擎系统可实现各种视频格式对接输出。以xiu90产品为例,使用多浏览器web流式视频异构协议解析引擎系统,产品支持多种视频格式协议解析,实现多种模块和平台的视频功能,比如视频直播使用的是多浏览器web流式视频异构协议解析引擎系统的Rtmp协议视频流实现。离线视频和手机端视频使用多浏览器web流式视频异构协议解析引擎系统的Hls协议视频流实现。视频流采集传输使用多浏览器web流式视频异构协议解析引擎系统Socket协议视频流实现。产品运用后,开发效率提高,产品功能稳定,成本大大降低,效果和效益与同类相比得到很大的反馈和赞誉。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 用于仅使用基于标准的WEBRTC兼容的Web浏览器从计算设备捕获实时音频和视频并将音频和视频传播到数字PBX的系统和方法
机译: 一种浏览器版本使用另一浏览器版本的渲染引擎来显示信息的方法和系统
机译: 一种浏览器版本使用另一浏览器版本的渲染引擎来显示信息的方法和系统