用于浏览器页面的音视频点播方法及系统
技术领域
本发明涉及音频视频播放技术领域,特别是涉及一种用于浏览器页面的音视频点播方法及系统。
背景技术
随着中国互联网基础设施覆盖范围的扩大和网民视频观看习惯的逐渐养成,中国互联网视频行业处于高速增长阶段,而且随着技术的日臻成熟,网络视频也越来越向3S(速度、稳定、流畅)的播放质量及高清视频转变。这也就为广大视频网站的带宽提出了严峻的考验。目前,广大正版视频网站(包括优酷、土豆、奇艺、搜狐等)每年的带宽成本皆已过亿,成为继正版版权成本后的第二大开销。
传统的实现网络视频播放主要包括以下几种方式:
1.基于Flash技术的网页播放,此播放方式需要安装Flash插件(大多数的浏览器的安装程序已经整合了Flash插件),其优点是稳定,流畅,由于技术成熟,用户无需安装即可使用,从而用户体验良好,但其最大的弊端就是架设CDN及服务器等基础设施的建设及带宽带来的成本。目前,国内大多数的主流视频网站都是采用此项技术;
2.采用P2P技术,将用户的PC变成服务器,并承担上传的任务。此方法可以最大限度的节省带宽成本,但其弊端是用户需要额外下载并安装客户端软件,在一定程度上会影响用户体验。目前使用此技术的大多是视频播放器公司,采用此技术用于视频直播及点播。
3.在第二种技术的基础上,个别公司开发出网页插件,即无需下载安装客户端软件,即可通过网页观看页面视频,但需要在首次开启网页时安装网页插件,同样影响用户体验。
因此,业内亟需一种无需在客户端安装任何插件/客户端软件,且同时节省服务器带宽,降低成本的音视频点播方法及系统。
发明内容
鉴于现有技术的缺陷,本发明提供了用于浏览器页面的音视频点播方法及系统。
一方面,本发明所提供的用于浏览器页面的音视频点播方法包括:
浏览器页面向用户跟踪服务器发送登录请求;
所述用户跟踪服务器验证所述登录请求;
所述通过验证的浏览器页面向用户跟踪服务器请求客户端资源列表;
所述用户跟踪服务器将客户端资源列表发送至通过验证的浏览器页面;
所述通过验证的浏览器页面根据所述客户端资料列表,从所述客户端资料列表中的一个或多个客户端资源上传/下载音视频数据。
优选的是,所述浏览器页面为支持Html5网页加载的浏览器页面。
优选的是,所述的方法还包括:浏览器页面从url跟踪服务器获取媒体文件特征码。
优选的是,所述客户端资源列表包括:
媒体文件特征码和客户端资源信息;
其中,所述客户端资源信息包括IP地址、端口和用户标识。
优选的是,所述用户跟踪服务器验证所述登录请求包括:
浏览器页面随机生成用户标识,并向用户跟踪服务器请求登录;
所述用户跟踪服务器接收到所述用户标识后,判断所述用户标识是否唯一;
如果所述用户标识在用户跟踪服务器唯一则通过验证;否则,向所述浏览器页面反馈验证失败;
浏览器页面重新生成用户标识,向请求验证直至验证成功。
优选的是,所述的音视频数据以多个数据分片的方式分布式存储于客户端资源中;
所述客户端资源中还存储有索引信息,其中所述索引信息包括:媒体总长度、数据分片的总数目、每一数据分片的大小、以及每一数据分片各自的媒体文件特征码。
优选的是,所述的方法还包括:
当一浏览器页面从客户端资源中获取到多个数据分片后,校验所获得的多个数据分片各自的媒体文件特征码,如果媒体文件特征码匹配则将所述多个数据分片进行组合以得到播放所需特定时长的媒体文件。
另一方面,本发明所提供的用于浏览器页面的音视频点播所述的系统包括:
登录请求发送模块,用于浏览器页面向用户跟踪服务器发送登录请求;
登录请求验证模块,用于所述用户跟踪服务器验证所述登录请求;
客户端资源列表请求模块,用于所述通过验证的浏览器页面向用户跟踪服务器请求客户端资源列表;
客户端资源列表发送模块,用于所述用户跟踪服务器将客户端资源列表发送至通过验证的浏览器页面;
音视频数据下载模块,用于所述通过验证的浏览器页面根据所述客户端资料列表,从所述客户端资料列表中的一个或多个客户端资源上传/下载音视频数据。
优选的是,所述浏览器页面为支持Html5网页加载的浏览器页面。
优选的是,所述的系统还包括:
媒体文件特征码获取模块,用于浏览器页面从url跟踪服务器获取媒体文件特征码。
优选的是,所述系统通过XHR下载模块和P2P下载模块获取与客户端资源的交互数据和媒体文件数据,所述媒体文件数据由验证模块进行匹配验证,所述媒体文件数据缓存于文件缓存模块,所述浏览器页面还包括为客户端资源的客户端提供数据支持的UP上传模块。
优选的是,所述登录请求验证模块进一步用于:
浏览器页面随机生成用户标识,并向用户跟踪服务器请求登录;
所述用户跟踪服务器接收到所述用户标识后,判断所述用户标识是否唯一;
如果所述用户标识在用户跟踪服务器唯一则通过验证;否则,向所述浏览器页面反馈验证失败;
浏览器页面重新生成用户标识,向请求验证直至验证成功。
优选的是,所述的音视频数据以多个数据分片的方式分布式存储于客户端资源中;
所述客户端资源中还存储有索引信息,其中所述索引信息包括:媒体总长度、数据分片的总数目、每一数据分片的大小、以及每一数据分片各自的媒体文件特征码。
优选的是,所述的系统还包括:
媒体文件播放模块,用于当一浏览器页面从客户端资源中获取到多个数据分片后,校验所获得的多个数据分片各自的媒体文件特征码,如果媒体文件特征码匹配则将所述多个数据分片进行组合以得到播放所需特定时长的媒体文件。
本发明的有益效果在于:本发明提供的技术方案可在已有用户客户端的情况下,实现流畅、高清、稳定的网页点播,且在最大限度上可以为视频网站/内容提供商节省带宽。此外对于浏览器用户,由于无需安装任何插件/客户端软件,因此用户可以达到最佳的体验。并可节省服务器带宽,降低成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的用于浏览器页面的音视频点播方法的流程图;
图2为本发明提供的用于浏览器页面的音视频点播方法的应用环境示意图;
图3为本发明提供的用于浏览器页面的音视频点播方法的另一流程图;
图4为本发明提供的浏览器页面从URL根子服务器获取媒体文件特征码的示意图;
图5为本发明提供的浏览器页面与用户服务器之间交互信息的示意图;
图6为本发明提供的浏览器网页从用户跟踪服务器分片下载数据示意图;
图7为本发明提供的浏览器网页下载数据的工作流程示意图;
图8为本发明提供的浏览器网页将分片数据进行组合播放的示意图;
图9为本发明提供的用于浏览器页面的音视频点播方法的又一流程图;
图10为本发明提供的用于浏览器页面的音视频点播系统的结构示意图;
图11为本发明提供的用于浏览器页面的音视频点播系统的另一结构示意图;
图12所示为本发明提供的浏览器网页的结构示意图;
图13所示为本发明提供的浏览器网页的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
鉴于现有技术的缺陷,本发明提供了用于浏览器页面的音视频点播方法。
图1为本发明提供的用于浏览器页面的音视频点播方法的流程图。图2为本发明提供的用于浏览器页面的音视频点播方法的应用环境示意图。
所述的方法包括:
步骤S101,浏览器页面向用户跟踪服务器发送登录请求;例如:如图2所示的,浏览器页面(浏览器1或者浏览器2)向用户跟踪服务器发送登录请求,请求获得客户端资源。
具体地,所述浏览器页面为支持Html5网页加载的浏览器页面;
步骤S102,所述用户跟踪服务器验证所述登录请求;
步骤S103,所述通过验证的浏览器页面向用户跟踪服务器请求客户端资源列表;
具体地,所述客户端资源列表包括:媒体文件特征码和客户端资源信息;其中,所述客户端资源信息包括IP地址、端口和用户标识。
步骤S104,所述用户跟踪服务器将客户端资源列表发送至通过验证的浏览器页面;
步骤S105,所述通过验证的浏览器页面根据所述客户端资料列表,从所述客户端资料列表中的一个或多个客户端资源上传/下载音视频数据。
优选的是,所述的方法还包括:浏览器页面随机生成用户标识,并向用户跟踪服务器请求登录;所述用户跟踪服务器接收到所述用户标识后,判断所述用户标识是否唯一;如果所述用户标识在用户跟踪服务器唯一则通过验证;否则,向所述浏览器页面反馈验证失败;浏览器页面重新生成用户标识,向请求验证直至验证成功。
如图3所示,所述的方法还包括:步骤S106,浏览器页面从url跟踪服务器获取媒体文件特征码;
具体地,如图4所示,在P2P技术中,要下载/上传的文件一定需要有个媒体文件特征码,它需要从URL的跟踪服务器上取得。媒体文件特征码是文件的唯一标识,目的是为了保证在服务器端处理的唯一性。通过它使用户可以从其他客户端资源取得文件。图5能够进一步说明浏览器页面与用户跟踪服务之间的交互。
步骤S107,当一浏览器页面从客户端资源中获取到多个数据分片后,校验所获得的多个数据分片各自的特征码,如果特征码匹配则将所述多个数据分片进行组合以得到播放所需特定时长的媒体文件。
具体地,所述的音视频数据以多个数据分片的方式分布式存储存在于客户端资源中;所述客户端资源中还存储有索引信息,其中所述索引信息包括:媒体总长度、数据分片的总数目、每一数据分片的大小、以及每一数据分片各自的媒体文件特征码。
图6为本发明提供的浏览器网页从用户跟踪服务器分片下载数据示意图。
具体地,所述通过验证的浏览器页面从客户端资源上传/下载音视频数据包括:
多个浏览器页面通过相互之间共享各自种子文件中的数据分片信息来下载客户端资源。
当一浏览器页面从客户端资源中获取到多个数据分片后,再将所述多个数据分片进行组合以得到完整的客户端资源。
图7为本发明提供的浏览器网页从用户跟踪服务器分片下载数据的流程图。由图7可知,Web浏览器请求与视频源(网站服务器)建立连接,网站服务器会推送数据,并且在下载数据时需要被验证(例如,通过Hash值验证),当通过验证后,可以采用两种路径进行下载:路径一,http下载;路径二,p2p下载。具体地,浏览器网页包括XHR下载模块(亦即http下载模块)、P2P下载模块、和验证模块。验证下载模块的数据缓存在DL cache模块的文件缓存模块(file cache模块)。其中,所述用于浏览器页面的音视频点播系统通过XHR下载模块和P2P下载模块获取与客户端资源的交互数据和媒体文件数据,所述媒体文件数据由验证模块进行匹配验证,所述媒体文件数据缓存于文件缓存模块。所述浏览器页面还包括为客户端资源的客户端提供数据支持的Up上传模块。图7中的步骤1-5为http下载模块(XHR下载模块)工作流程。步骤3推送的数据包括交互数据和部分媒体文件数据,浏览器判断http下载模块获取的数据,决定p2p需要下载的分片数据。所述数据处理子模块处理交互数据和媒体文件数据。
图8为本发明提供的浏览器网页将分片数据进行组合播放的示意图。
具体地,所述浏览器页面通过校验所获得的多个数据分片的特征码,如果特征码匹配则将特征码匹配的多个数据分片进行组合以得到完整的客户端资源,如果不匹配,则不使用特征码不匹配的数据分片。
以下,再用一具体实例进行详细介绍本发明所提供的用于浏览器页面的音视频点播方法。如图9所示:
步骤S201,用户点击视频或者游戏网页链接;
步骤S202,支持html5的浏览器加载网页;
步骤S203,网页将url发送至url跟踪服务器,从而获取媒体文件特征码;
步骤S204,网页的管理模块随机生成用户标识并与用户跟踪服务器建立连接;
步骤S205,网页的xhr下载模块根据特征码和用户识别从用户跟踪服务器获取客户端资源列表;
步骤S206,网页的P2P下载模块从资源列表所列客户端资源处下载目标文件数据至存储模块或者内存;
步骤S207,目标文件数据足够支持客户端程序运行?
步骤S208,网页调用终端中客户端程序(如播放器)读取该存储模块或者内存中的数据。
如图10所示,为本发明提供的用于浏览器页面的音视频点播系统的结构示意图。该用于浏览器页面的音视频点播系统包括:
登录请求发送模块101,用于浏览器页面向用户跟踪服务器发送登录请求;
登录请求验证模块102,用于所述用户跟踪服务器验证所述登录请求;
客户端资源列表请求模块103,用于所述通过验证的浏览器页面向用户跟踪服务器请求客户端资源列表;
客户端资源列表发送模块104,用于所述用户跟踪服务器将客户端资源列表发送至通过验证的浏览器页面;
音视频数据下载模块105,用于所述通过验证的浏览器页面根据所述客户端资料列表,从所述客户端资料列表中的一个或多个客户端资源上传/下载音视频数据。
优选的是,所述浏览器页面为支持Html5网页加载的浏览器页面。
如图11所示,所述的系统还包括:媒体文件特征码获取模块106,用于浏览器页面从url跟踪服务器获取媒体文件特征码。
优选的是,所述客户端资源列表包括:媒体文件特征码和客户端资源信息;
其中,所述客户端资源信息包括IP地址、端口和用户标识。
优选的是,所述登录请求验证模块进一步用于:
浏览器页面随机生成用户标识,并向用户跟踪服务器请求登录;
所述用户跟踪服务器接收到所述用户标识后,判断所述用户标识是否唯一;
如果所述用户标识在用户跟踪服务器唯一则通过验证;否则,向所述浏览器页面反馈验证失败;
浏览器页面重新生成用户标识,向请求验证直至验证成功。。
优选的是,所述的音视频数据以多个数据分片的方式分布式存储于客户端资源中;
所述客户端资源中还存储有索引信息,其中所述索引信息包括:媒体总长度、数据分片的总数目、每一数据分片的大小、以及每一数据分片各自的媒体文件特征码。
优选的是,,所述的系统还包括:
媒体文件播放模块107,用于当一浏览器页面从客户端资源中获取到多个数据分片后,校验所获得的多个数据分片各自的特征码,如果特征码匹配则将所述多个数据分片进行组合以得到播放所需特定时长的媒体文件。
如图12和图13所示,为本发明提供的浏览器网页的结构示意图。浏览器网页包括XHR下载模块201(亦即http下载模块)、P2P下载模块202、和验证模块203。验证下载模块的数据缓存在DL cache模块204的文件缓存模块(file cache模块)205。其中,所述用于浏览器页面的音视频点播系统通过XHR下载模块201和P2P下载模块202获取与客户端资源的交互数据和媒体文件数据,所述媒体文件数据由验证模块203进行匹配验证,所述媒体文件数据缓存于文件缓存模块205。所述浏览器页面还包括为客户端资源的客户端提供数据支持的Up上传模块206。网页的下载过程请参阅图9及上述关于图9的描述。
本发明的有益效果在于:本发明提供的技术方案可在已有用户客户端的情况下,实现流畅、高清、稳定的网页点播,且在最大限度上可以为视频网站/内容提供商节省带宽。此外对于浏览器用户,由于无需安装任何插件/客户端软件,因此用户可以达到最佳的体验。并可节省服务器带宽,降低成本。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。