首页> 中国专利> 浏览器客户端的直播方法和系统、浏览器客户端、后台客户端

浏览器客户端的直播方法和系统、浏览器客户端、后台客户端

摘要

本发明公开了一种浏览器客户端的直播方法和系统、浏览器客户端、后台客户端,其中,上述方法包括:基于浏览器客户端的主模块和后台客户端的监听模块之间的传输控制协议连接,监听模块获取来自主模块的握手信息;监听模块调用后台客户端的数据请求模块;监听模块获取来自数据请求模块的播放起点及播放起点数据,并从播放起点数据中解析出音/视频解码参数;监听模块向主模块返回播放起点、音/视频解码参数,其中,主模块根据音/视频解码参数构建播放器,以及播放器根据播放起点进行播放。本发明使得用户能够直接在IE里面观看节目。

著录项

  • 公开/公告号CN101321176A

    专利类型发明专利

  • 公开/公告日2008-12-10

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200810137710.3

  • 发明设计人 季健;

    申请日2008-07-11

  • 分类号H04L29/06;H04L12/18;

  • 代理机构北京康信知识产权代理有限责任公司;

  • 代理人尚志峰

  • 地址 518057 广东省深圳市南山区科技南路55号

  • 入库时间 2023-12-17 21:06:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-10

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20110525 终止日期:20190711 申请日:20080711

    专利权的终止

  • 2011-05-25

    授权

    授权

  • 2009-02-18

    实质审查的生效

    实质审查的生效

  • 2008-12-10

    公开

    公开

说明书

技术领域

本发明涉及通信领域,具体而言,涉及一种IE(Internet Explore,浏览器)客户端的直播方法和系统、浏览器客户端、后台客户端。

背景技术

随着音/视频编码技术和IP(Internet Protocol,网络协议)网络传输技术的发展,数字媒体业务也得到了迅速发展,已经成为宽带的核心应用。目前,中国电信数字媒体业务采用集中服务的模式,通过基于C/S(Client/Service,客户端/服务端)架构为用户提供服务。随着业务需求的增大,上述架构下的系统投资剧增,并且产出效益低的问题日益明显。由于系统的服务能力有限,因此在一些特殊情况下(例如,球赛实况转播时),难以满足用户密集突发的流媒体业务需求。

相比之下,P2P(Peer to Peer,对等网络)业务平台的处理方法具有低成本、高扩展性、高服务质量、高安全性等优势,可以解决现有数字媒体业务发展中所面临的平台高投入、低回报、热点效应等问题。因此,有必要建设P2P业务平台,以优化宽带网络流量,提高现有资源利用率,节省投资,为数字媒体产业的发展构建新型的业务支撑平台,创造良好的发展环境。但是,在开发了P2P的直播客户端之后,会出现用户希望直接在IE浏览器中观看直播节目的需求。

发明内容

针对相关技术中存在的用户希望直接在IE浏览器中观看直播节目的问题,本发明旨在提供一种IE客户端的直播方法和系统、浏览器客户端、后台客户端,用以解决上述问题。

根据本发明的一个方面,提供了一种IE客户端的直播方法。

根据本发明实施例的IE客户端的直播方法包括:基于浏览器客户端的主模块和后台客户端的监听模块之间的传输控制协议连接,监听模块获取来自主模块的握手信息;监听模块调用后台客户端的数据请求模块;监听模块获取来自数据请求模块的播放起点及播放起点数据,并从播放起点数据中解析出音/视频解码参数;监听模块向主模块返回播放起点、音/视频解码参数,其中,主模块根据音/视频解码参数构建播放器,以及播放器根据播放起点进行播放。

优选地,监听模块向主模块返回播放起点、音/视频解码参数之后,上述方法还包括:主模块根据音/视频解码参数构建播放器,其中,构建的播放器包括音/视频数据读取模块、解码器;音/视频数据读取模块获取播放起点对应的音/视频数据,并将音/视频数据发送给解码器;解码器使用音/视频解码参数解码音/视频数据;播放解码后的音/视频数据。

优选地,在主模块根据音/视频解码参数构建播放器之后,上述方法还包括:监听模块接收来自被调用的音/视频数据读取模块的建立传输控制协议连接的第一请求消息;基于第一请求消息,监听模块建立与音/视频数据读取模块的传输控制协议连接,并通知音/视频数据读取模块;监听模块接收来自音/视频数据读取模块的用于请求与后台客户端的音/视频数据服务模块建立传输控制协议连接的第二握手信息;响应于第二握手信息,监听模块调用音/视频数据服务模块,并建立音/视频数据读取模块和音/视频数据服务模块的传输控制协议连接。

优选地,音/视频数据读取模块获取播放起点对应的音/视频数据,并将音/视频数据发送给解码器具体包括:音/视频数据服务模块接收来自音/视频数据读取模块的用于请求音/视频数据的第二请求消息;基于第二请求消息,音/视频数据服务模块判断缓冲区是否存在音/视频数据;在判断结果为是的情况下,音/视频数据服务模块将音/视频数据发送给音/视频数据读取模块,并记录音频数据和视频数据各自对应的数据块编号;解码器接收来自音/视频数据读取模块的解析后的音/视频数据,并使用音/视频解码参数解码音/视频数据;

优选地,监听模块获取来自主模块的握手信息之前,上述方法还包括:监听模块获取来自主模块的建立传输控制协议连接的第三请求消息;基于第三请求消息,监听模块建立与主模块的传输控制协议连接,并通知主模块。

优选地,在调用后台客户端的数据请求模块之后,上述方法还包括:监听模块循环检查数据请求模块是否已经获取播放起点及播放起点数据;在判断结果为是的情况下,监听模块获取播放起点及播放起点数据,其中,数据请求模块获取当前播放进度及其相关数据;数据请求模块根据当前播放进度确定播放起点。

优选地,数据请求模块获取当前播放进度及其相关数据具体包括:数据请求模块向区域管理服务器发送用于申请补偿服务器的第一申请消息,并接收区域管理服务器基于第一申请消息返回的第一响应消息,其中,第一响应消息携带有补偿服务器的信息;基于第一响应消息,数据请求模块向补偿服务器发送用于申请当前播放进度及其相关数据的第三握手信息,并接收补偿服务器基于第三握手信息返回的第二响应消息,其中,第二响应消息中携带有当前播放进度及其相关数据。

优选地,数据请求模块获取播放起点及播放起点数据具体包括:数据请求模块向补偿服务器发送用于申请播放起点及播放起点数据的第二申请消息;数据请求模块接收补偿服务器基于第二申请消息返回的第三响应消息,其中,第三响应消息中携带有播放起点及播放起点数据。

根据本发明的另一方面,提供了一种浏览器客户端。

根据本发明实施例的浏览器客户端包括:主模块,用于发送握手信息,接收播放起点、音/视频解码参数,以及根据音/视频解码参数构建播放器;播放器,用于根据播放起点进行播放。

根据本发明的另一方面,提供了一种后台客户端。

根据本发明实施例的后台客户端包括:数据请求模块,用于获取播放起点及播放起点数据;监听模块,用于接收来自浏览器客户端的握手信息,获取来自数据请求模块的播放起点及播放起点数据,从播放起点数据中解析出音/视频解码参数,并向浏览器客户端返回播放起点、音/视频解码参数。

根据本发明的另一方面,提供了一种浏览器客户端的直播系统。

根据本发明实施例的浏览器客户端的直播系统包括浏览器客户端和后台客户端,其中:浏览器客户端包括:主模块,用于发送握手信息,接收播放起点、音/视频解码参数,以及根据音/视频解码参数构建播放器;后台客户端包括:数据请求模块,用于获取播放起点及播放起点数据;监听模块,用于接收来自浏览器客户端的握手信息,获取来自数据请求模块的播放起点及播放起点数据,从播放起点数据中解析出音/视频解码参数,并向浏览器客户端返回播放起点、音/视频解码参数。

以上实施例提供的IE客户端的直播方法和系统,解决了相关技术中存在的用户希望直接在IE浏览器中观看直播节目的问题,从而使得用户能够直接在IE里面观看节目。

附图说明

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

图1是用于实施本发明实施例的P2P流媒体的应用环境布局的示意图;

图2是根据本发明实施例的IE客户端的直播方法的流程图;

图3是根据本发明实施例的IE插件和后台客户端通信的示意图;

图4是根据本发明实施例的浏览器客户端的方框图;

图5是根据本发明实施例的后台客户端的方框图;

图6是根据本发明实施例的IE客户端的直播系统的方框图。

具体实施方式

针对用户希望直接在IE浏览器中观看直播节目的需求,本发明提供了一种IE客户端的直播方法和系统、浏览器客户端、后台客户端,从而使得用户能够直接在IE里面观看节目。由于直播系统在发布时,会同时发布一个IE客户端和一个正常的客户端,用户可以根据自己的需要进行选择。为了使得系统将来易于维护和升级,在本发明实施例中,IE客户端置入了正常客户端中与EPG(ElectronicProgrammer Guide,电子节目单)交互、界面和播放器等相关功能,诸如数据的请求、对其他客户端的服务等其他功能则没有置入。IE客户端在启动后,正常客户端会作为一个后台进程(即,后台客户端)是以隐式的方式启动,其界面不呈现,两个进程相互通讯,进行信息和数据的传递。这样当后台客户端进行升级时,前台的IE插件(即,IE客户端)可以无需进行任何修改。

图1是用于实施本发明实施例的P2P流媒体的应用环境布局的示意图,如图1所示,P2P流媒体的应用环境的主要构件如下:区域管理服务器,主要负责本区域用户的资源调度和内容提供;内容源边缘服务器(静态PEER),即,补偿服务器,作为内容源,对于在直播时由于ADSL上/下行的不对称带宽引起的P2P流量供给不足进行补偿;通过ADSL/LAN接入的客户端(动态PEER),即,普通PC(Personal Compute r,个人计算机),包括IE客户端和后台客户端;此外,P2P流媒体的应用环境还包括如下构件:内容源管理服务器、中心片库、EPG和版本升级服务器。下面将参考附图并结合实施例,来详细说明本发明。

方法实施例

根据本发明的实施例,提供了一种IE客户端的直播方法。

图2是根据本发明实施例的IE客户端的直播方法的流程图,如图2所示,该方法包括:

步骤S202,基于浏览器客户端的主模块和后台客户端的监听模块之间的传输控制协议连接,监听模块获取来自主模块的握手信息;

步骤S204,监听模块调用后台客户端的数据请求模块;

步骤S206,监听模块获取来自数据请求模块的播放起点及播放起点数据,并从播放起点数据中解析出音/视频解码参数;

步骤S208,监听模块向主模块返回播放起点、音/视频解码参数,其中,主模块根据音/视频解码参数构建,以及播放器根据播放起点进行播放。

下面结合实例对本发明的方法进行详细描述。图3是根据本发明实施例的IE插件和后台客户端通信的示意图,如图3所示,IE插件与后台进程采用本地socket(连接)进行通讯,其中,IE插件包括:IE插件主线程301(即,上述主模块)、视频数据读取线程302(即,视频数据读取模块)、音频数据读取线程303(即,音频数据读取模块);后台进程包括:监听线程304(即,上述监听模块)、后台数据请求线程305(即,上述数据请求模块)、视频数据服务线程306(即,视频数据服务模块)、音频数据服务线程307(即,音频数据服务模块),具体实现过程如下:

(1)IE插件启动后,会自动调用后台客户端,该进程以隐式的方式启动,即,其界面不呈现,后台客户端启动监听线程304;

(2)IE插件在点击了某个直播频道后,完成与EPG的交互后,IE插件主线程301向监听线程304利用本立socket发送建立TCP(Transfer Control Protocol,传输控制协议)连接的请求(即,第三请求消息),监听线程304接收该TCP连接请求,并建立TCP连接;即,监听模块获取来自主模块的建立传输控制协议连接的第三请求消息;基于第三请求消息,监听模块建立与主模块的传输控制协议连接,并通知主模块;

(3)IE插件主线程301通过TCP连接向监听线程304发送握手信息,其中,该握手信息包括用户将要观看的节目等相关信息;

(4)在监听线程304接收握手信息(即,上述步骤S202)之后,启动(调用)后台进程的后台数据请求线程305(即,上述步骤S204),并循环检查后台数据请求线程305是否已经获得了播放起点和播放起点数据;即,监听模块循环检查数据请求模块是否已经获取播放起点及播放起点数据;以及在判断结果为是的情况下,监听模块获取播放起点及播放起点数据;

(5)后台数据请求线程305向区域管理服务器308申请补偿服务器309,该处理可以如下实现:数据请求模块向区域管理服务器308发送用于申请补偿服务器309的第一申请消息;此后,区域管理服务器308接收来自数据请求模块的用于申请补偿服务器309的第一申请消息;

(6)区域管理服务器308将补偿服务器309的信息返回给后台数据请求线程305,该处理可以如下实现:区域管理服务器308向数据请求模块返回第一响应消息,其中,第一响应消息携带有补偿服务器309的信息;

(7)后台数据请求线程305向补偿服务器309发送握手信息(即,用于申请当前播放进度及其相关数据的第三握手信息),其中,该握手信息包括请求当前播放进度的信息;此后,补偿服务器309接收来自数据请求模块的第三握手信息;

(8)在补偿服务器309接收握手信息之后,向后台数据请求线程305返回当前播放进度;该处理可以如下实现:补偿服务器309向数据请求模块返回第二响应消息,其中携带有当前播放进度及其相关数据;

(9)后台数据请求线程305根据返回的播放进度,确定自己的播放起点;该处理可以如下实现:数据请求模块获取当前播放进度及其相关数据;数据请求模块根据当前播放进度确定播放起点;

以该播放器起点为基础,向补偿服务器309申请该播放器起点对应的数据;该处理可以如下实现:数据请求模块向补偿服务器309发送用于申请播放起点及播放起点数据的第二申请消息;此后,补偿服务器309接收来自数据请求模块的第二申请消息;

(10)在补偿服务器309返回申请的播放器起点对应的数据,该处理可以如下实现:响应于第二申请消息,补偿服务器309向数据请求模块返回第三响应消息,其中携带有播放起点及播放起点数据;

之后,监听模块获取来自数据请求模块的播放起点及播放起点数据,监听线程304从播放器起点对应的数据(即,播放起点相关数据)中解析出视频和音频解码参数,然后,利用建立的TCP连接将播放起点以及视音频解码参数返回给IE插件主线程301,即,监听模块向主模块返回播放起点、视频解码参数;

(11)IE插件主线程301根据返回的视音频解码参数构建播放器,即,主模块根据视频解码参数构建播放器,其中,构建的播放器包括视频数据读取模块、解码器;启动视频数据读取线程302和音频数据读取线程303;

(12)在视频数据读取线程302利用本立socket向监听线程304发送建立TCP连接的请求,监听线程304接收该TCP连接请求之后,建立TCP连接;该处理可以如下实现:监听模块接收来自被调用的视频数据读取模块的建立传输控制协议连接的第一请求消息;基于第一请求消息,监听模块建立与视频数据读取模块的传输控制协议连接,并通知视频数据读取模块;

(13)视频数据读取线程302向监听线程304发送握手信息(即,第二握手信息),并在握手信息中包含请求与视频数据服务线程306建立TCP连接的信息;

(14)在监听线程304接收到该握手信息(即,监听模块接收来自视频数据读取模块的用于请求与后台客户端的视频数据服务模块建立传输控制协议连接的第二握手信息)之后,启动视频数据服务线程306,并建立视频数据读取线程302与视频数据服务线程306建立TCP连接,即,响应于第二握手信息,监听模块调用视频数据服务模块,并建立视频数据读取模块和视频数据服务模块的传输控制协议连接;

(15)视频数据读取线程302向视频数据服务线程306利用已经建立的TCP连接发送数据请求(即,第二请求消息),此后,视频数据服务模块接收来自视频数据读取模块的用于请求视频数据的第二请求消息;视频数据服务线程306在接收到数据请求后,检查缓冲区,判断缓冲区是否存在视频数据;如果发现数据已经存在,则将该数据打包发送给视频数据读取线程302,同时,视频数据服务线程306记录当前请求的视频数据的数据块的编号;即,在判断结果为是的情况下,视频数据服务模块将视频数据发送给视频数据读取模块,并记录视频数据对应的数据块编号;

(16)视频数据读取线程302在接收到播放起点对应的视频数据之后,将视频数据解析出来,并送入解码器,解码器接收来自视频数据读取模块的解析后的视频数据,并使用视频解码参数解码视频数据;

(17)播放器根据播放起点播放解码后的视频数据。

上述的(12)至(16)是视频数据的获取及播放过程,类似地,获取并播放音频数据的过程如下:

(22)在音频数据读取线程303利用本立socket向监听线程304发送建立TCP连接的请求,监听线程304接收该TCP连接请求之后,建立TCP连接;该处理可以如下实现:监听模块接收来自被调用的音频数据读取模块的建立传输控制协议连接的第一请求消息;基于第一请求消息,监听模块建立与音频数据读取模块的传输控制协议连接,并通知音频数据读取模块;

(23)音频数据读取线程303向监听线程304发送握手信息(即,第二握手信息),并在握手信息中包含请求与音频数据服务线程307建立TCP连接的信息;

(24)在监听线程304接收到该握手信息(即,监听模块接收来自音频数据读取模块的用于请求与后台客户端的音频数据服务模块建立传输控制协议连接的第二握手信息)之后,启动音频数据服务线程307,并建立音频数据读取线程303与音频数据服务线程307建立TCP连接,即,响应于第二握手信息,监听模块调用音频数据服务模块,并建立音频数据读取模块和音频数据服务模块的传输控制协议连接;

(25)音频数据读取线程303向音频数据服务线程307利用已经建立的TCP连接发送数据请求(即,第二请求消息),此后,音频数据服务模块接收来自音频数据读取模块的用于请求音频数据的第二请求消息;音频数据服务线程307在接收到数据请求后,检查缓冲区,判断缓冲区是否存在音频数据;如果发现数据已经存在,则将该数据打包发送给音频数据读取线程303,同时,音频数据服务线程307记录当前请求的音频数据的数据块的编号记录;即,在判断结果为是的情况下,音频数据服务模块将音频数据发送给音频数据读取模块,并记录音频数据对应的数据块编号;

(26)音频数据读取线程303在接收到播放起点对应的音频数据之后,将音频数据解析出来,并送入解码器,解码器接收来自音频数据读取模块的解析后的音频数据,并使用音频解码参数解码音频数据;

(27)播放解码后的音频数据,即,播放器根据播放起点进行播放。

在上述处理中,后台数据请求线程305根据视频数据服务线程306记录的视频数据块的编号和音频数据服务线程307记录的音频数据块的编号,确定其中较大值为当前的播放指针。

系统实施例

实施例一

根据本发明的实施例,提供了一种浏览器客户端。由于直播系统在发布时,会同时发布一个IE客户端和一个正常的客户端,用户可以根据自己的需要进行选择。为了使得系统将来易于维护和升级,在本发明实施例中,IE客户端置入了正常客户端中与EPG交互、界面和播放器等相关功能,诸如数据的请求、对其他客户端的服务等其他功能则没有置入。IE客户端在启动后,正常客户端会作为一个后台进程(即,后台客户端)是以隐式的方式启动,其界面不呈现,两个进程相互通讯,进行信息和数据的传递。这样当后台客户端进行升级时,前台的IE插件(即,IE客户端)可以无需进行任何修改。

图4是根据本发明实施例的浏览器客户端的方框图,如图4所示,浏览器客户端包括:

主模块42,用于发送握手信息,接收播放起点、音/视频解码参数,以及根据音/视频解码参数构建播放器;

播放器44,连接至主模块42,用于根据播放起点进行播放。

具体地,主模块根据音/视频解码参数构建的播放器包括音/视频数据读取模块、解码器;音/视频数据读取模块获取播放起点对应的音/视频数据,并将音/视频数据发送给解码器;解码器使用音/视频解码参数解码音/视频数据;播放解码后的音/视频数据。

实施例二

根据本发明的实施例,提供了一种后台客户端。

图5是根据本发明实施例的后台客户端的方框图,如图5所示,后台客户端包括:

数据请求模块52,用于获取播放起点及播放起点数据;

监听模块54,连接至数据请求模块52,用于接收来自浏览器客户端的握手信息,获取来自数据请求模块的播放起点及播放起点数据,从播放起点数据中解析出音/视频解码参数,并向浏览器客户端返回播放起点、音/视频解码参数。

进一步地,上述系统还包括:视频数据服务模块、音频数据服务模块。

具体地,监听模块54建立与浏览器客户端的传输控制协议连接,并在接收到来自浏览器客户端的握手信息之后,被调用的数据请求模块52获取播放起点及播放起点数据,此后,监听模块54获取上述播放起点及播放起点数据,从播放起点数据中解析出音/视频解码参数,并向浏览器客户端返回播放起点、音/视频解码参数。

实施例三

根据本发明的实施例,提供了一种IE客户端的直播系统。图6是根据本发明实施例的IE客户端的直播系统的方框图,如图6所示,浏览器客户端的直播系统包括浏览器客户端和后台客户端,其中:

浏览器客户端62包括:

主模块620,用于发送握手信息,接收播放起点、音/视频解码参数,以及根据音/视频解码参数构建播放器;

后台客户端64包括:

数据请求模块640,用于获取播放起点及播放起点数据;

监听模块642,连接至主模块620和数据请求模块640,用于接收来自浏览器客户端的握手信息,获取来自数据请求模块的播放起点及播放起点数据,从播放起点数据中解析出音/视频解码参数,并向浏览器客户端返回播放起点、音/视频解码参数。

具体地,基于浏览器客户端的主模块620和后台客户端的监听模块642之间的传输控制协议连接,监听模块642获取来自主模块的握手信息;监听模块642调用后台客户端的数据请求模块640;监听模块642获取来自数据请求模块640的播放起点及播放起点数据,并从播放起点相关数据中解析出音/视频解码参数;监听模块642向主模块620返回播放起点、音/视频解码参数,并且,主模块620根据音/视频解码参数构建播放器。

以上实施例提供的IE客户端的直播方法和系统,解决了相关技术中存在的用户希望直接在IE浏览器中观看直播节目的问题,从而使得用户能够直接在IE里面观看节目。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号