网络视频播放方法、装置及系统的制作方法

文档序号:10539583阅读:207来源:国知局
网络视频播放方法、装置及系统的制作方法
【专利摘要】本发明实施例提供一种网络视频播放方法、装置及系统,所述方法包括:第一下载节点根据浏览器的视频播放请求,查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据;如果否,从网络视频服务器下载网络视频的视频数据,将视频数据切割为多个切片数据存储在所述下载缓存容器中;通知P2P服务器提供当前下载缓存容器中的切片数据的下载;如果是,从P2P服务器查询存在其它切片数据的第二下载节点,并从第二下载节点下载其它切片数据,存储在下载缓存容器中;通知P2P服务器提供当前下载缓存容器中的切片数据的下载;将下载缓存容器中的切片数据合并封装为播放数据提供给浏览器,本发明实施例节省了带宽资源。
【专利说明】
网络视频播放方法、装置及系统
技术领域
[0001]本发明实施例涉及视频技术领域,尤其涉及一种网络视频播放方法、装置及系统。
【背景技术】
[0002]网络视频,是指由网络视频服务商提供的、以流媒体为播放格式、可以在线直播或点播的声像文件。网络视频可以在各个终端中通过浏览器进行播放。
[0003]而且随着HTML5技术的出现,使得浏览器可以支持Aud1(音频)、Video(视频)等多媒体功能,因此基于HTML5的浏览器可以直接播放网络视频时,也即直接从网络视频服务器下载网络视频的视频数据并播放。
[0004]但是,现有技术中,由于基于HTML5的浏览器是直接从网络视频服务器进行视频数据的下载并播放,这样就会导致占用的视频带宽资源较大。

【发明内容】

[0005]本发明实施例提供一种网络视频播放方法、装置及系统,用以解决现有技术中浏览器进行网络视频播放占用带宽资源较大的技术问题。
[0006]本发明实施例的第一方面,提供一种网络视频播放方法,包括:
[0007]第一下载节点根据浏览器的视频播放请求,查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据,其中,所述浏览器的视频地址预先设置为所述下载缓存容器地址;
[0008]如果否,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;通知P2P服务器能够提供当前下载缓存容器中的切片数据的下载;
[0009]如果是,从所述P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载;
[0010]将所述下载缓存容器中的切片数据合并封装为播放数据提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据。
[0011 ]本发明实施例的第二方面,提供一种网络视频播放方法,包括:
[0012]浏览器接收视频播放请求;
[0013]根据所述视频播放请求,调用第一下载节点查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据;如果否,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载;如果是,从P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载;
[0014]从所述下载缓存容器中获取第一下载节点将所述下载缓存容器中的切片数据合并封装的播放数据并播放。
[0015]本发明实施例的第三方面,提供一种网络视频播放装置,包括:
[0016]检测模块,用于根据浏览器的视频播放请求,查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据,其中,所述浏览器的视频地址预先设置为所述下载缓存容器地址;
[0017]第一下载模块,用于在所述检测模块检测结果为否时,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;通知所述P2P服务器能够当前下载缓存容器中的切片数据的下载;
[0018]第二下载模块,用于在所述检测模块检测结果为是时,从P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载;
[0019]封装模块,用于将所述下载缓存容器中的切片数据合并封装为播放数据提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据。
[0020]本发明实施例的第四方面,提供一种网络视频播放装置,包括:
[0021 ]请求接收模块,用于接收视频播放请求;
[0022]调用模块,用于根据所述视频播放请求,调用第一下载节点查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据;如果否,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载;如果是,从P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载;
[0023]播放模块,用于从所述下载缓存容器中获取第一下载节点将所述下载缓存容器中的切片数据合并封装的播放数据并播放。
[0024]本发明实施例的第五方面,提供一种网络视频播放系统,包括
[0025]包括浏览器、下载节点以及下载缓存容器;
[0026]所述下载缓存容器为所述下载节点预先创建的;
[0027]所述下载节点配置有上述第三方面提供的网络视频播放装置;
[0028]所述浏览器配置有上述第四方面提供的网络视频播放装置。
[0029]本发明实施例提供的网络视频播放方法、装置及系统,浏览器通过第一下载节点进行网络视频的视频数据的下载,第一下载节点从网络视频服务器下载网络视频的视频数据,并切割为多个切片数据存在下载缓存容器中;在下载缓存容器中存在满足播放条件的切片数据时,即通过P2P服务器查询存在其它切片数据的第二下载节点,并从而该第二下载节点下载其它切片数据,而不是继续从网络视频服务器下载网络视频的视频数据,从而可以减少网络视频下载占用的带宽,节省了带宽资源。
【附图说明】
[0030]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031 ]图1为本发明网络视频播放方法一个实施例的流程图;
[0032]图2为本发明网络视频播放方法又一个实施例流程图;
[0033]图3为本发明网络视频播放装置一个实施例结构示意图;
[0034]图4为本发明网络视频播放装置又一个实施例结构示意图。
【具体实施方式】
[0035]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]本发明实施例的技术方案主要应用于浏览器进行网络视频播放的应用场景中,该浏览器为HTML(HyperText Markup Language,超文本标记语言)5浏览器,HTML5浏览器可以支持Aud1 (音频)、Video (视频)等多媒体功能,能够直接下载并播放网络视频的视频数据。但是由浏览器直播下载并播放视频数据,会占用较多的视频带宽资源,会在一定程度上影响播放效率。
[0037]为了解决这一技术问题,发明人经过一系列研究发现,如果可以将P2P(peer-to-peer,点对点)技术应用于浏览器的视频播放,则可以通过共享资源来减少视频下载占用的带宽资源。但是浏览器对视频数据的下载、解析等完全由自身处理,完全不由开发人员掌控,并不利于在浏览器中实现媒体资源的共享和下载。
[0038]因此,为了减少视频数据下载占用的视频带宽资源,发明人创造性的提出,可以在浏览器应用中的终端中设置下载节点,该下载节点为终端中可以被浏览器调用的程序,在本发明实施例中,浏览器接收到视频播放请求时,即调用第一下载节点根据视频播放请求,查询预先建立的下载缓存容器中是否存在请求播放的网络视频中满足播放条件的切片数据,如果否,从网络视频服务器下载视频数据,切割为切片数据,并通知P2P服务器可以提供切片数据的下载,从而可以供其它下载节点进行下载,如果是,则无需从网络视频服务器继续进行网络视频的下载,而是可以向P2P服务器查询存在网络视频的其它切片数据的第二下载节点,并从第二下载节点获取其它切片数据;而下载缓存容器中的切片数据经过合并封装为播放数据之后,即可以提供给浏览器进行播放,通过本发明实施例的技术方案,可以通过P2P技术获取视频数据,从而可以无需一直从网络视频服务器进行下载,方便了资源的共享,节省了视频下载占用的带宽资源。
[0039]下面将结合附图对本发明技术方案进行详细描述。
[0040]图1为本发明提供的一种网络视频播放方法一个实施例的流程图,本发明实施例的浏览器是基于HTML5的浏览器,支持Aud1(音频)、Video(视频)等多媒体功能。该浏览器可以安装在各个终端中,例如计算机、手机、平板电脑中。
[0041]该方法可以包括以下几个步骤:
[0042]101:第一下载节点根据浏览器的视频播放请求,查询下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据,如果是,执行步骤102以及步骤106,如果否,执行步骤105。
[0043]第一下载节点可以是浏览器应用的终端中,被浏览器调用的一个应用程序。
[0044]其中,所述浏览器的视频地址预先设置为所述下载缓存容器地址。从而浏览器可以根据视频地址,请求从视频地址对应的下载缓存容器中获取数据。
[0045]浏览器接收到视频播放请求之后,即调用第一下载节点,根据视频播放请求,查询下载缓存容器中是否存在请求播放的网络视频中满足播放条件的切片数据。
[0046]该播放条件是指下载缓存容器中的切片数据可以满足浏览器播放需求的条件。例如,该播放条件可以是指下载缓存容器中的切片数据的播放时间大于预设时间,或者下载缓存容器中的切片数据的数据量大于预设数量,以保证浏览器可以快速开始播放网络视频,保证用户体验O
[0047]该预设时间或者预设数量可以根据第一下载节点从P2P服务器获取切片数据的时间来确定,以保证网络视频可以连续播放。
[0048]其中,切片数据是为了方便数据共享和下载,将网络视频的视频数据进行切割得到的。
[0049]网络视频的视频数据可以是TS(TransportStream,传输流)封装格式的TS数据,网络视频服务器提供网络视频的TS数据以及TS数据的M3U8描述文件。
[0050]102:从P2P服务器查询存在所述网络视频的不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点;
[0051]103:从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;
[0052]104:通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载。
[0053]105:从网络视频服务器下载所述网络视频的视频数据,并将所述视频数据切割为多个切片数据,存储在所述下载缓存容器中,并执行步骤104。
[0054]其中,视频数据为TS数据时,从网络视频服务器下载所述网络视频的视频数据可以是,从网络视频服务器获取m3u8描述文件;根据所述m3u8描述文件中TS数据的描述信息下载TS数据。
[0055]106:将所述下载缓存容器中的切片数据合并封装为播放数据提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据。
[0056]如果下载缓存容器中不存在满足播放条件的切片数据,则表明下载缓存容器中的切片数据无法满足起播需求,为了保证网络视频可以快速开始播放,则可以从网络视频服务器中下载网络视频的视频数据,并切割为切片数据放在下载缓存容器中,直至下载缓存容器中存在满足播放条件的切片数据,同时将下载缓存容器中的切片数据通知P2P服务器,实现数据共享,以方便其他下载节点的下载
[0057]如果下载缓存容器中存在满足播放条件的切片数据,也下载缓存容器中满足播放条件的切片数据可以满足浏览器的起播需求,则无需从网络视频服务器中下载视频数据,而可以从P2P服务器中查询存在网络视频的不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,从而可以直接从第二下载节点下载网络视频的其它切片数据,并存储在下载缓存容器中。
[0058]为了使得浏览器能够进行播放,第一下载节点需要将下载缓存容器中的切片数据进行合并封装,具体的,每一个切片数据包括时间信息,因此可以按照切片数据的时间信息,按照播放时间先后顺序进行合并封装成播放数据提供给浏览器,浏览器即可以获取该播放数据以进行播放。
[0059]本实施例,通过P2P技术实现了网络视频的视频数据的下载和共享,而无需全部从网络视频服务器进行下载,从而节省了视频下载占用的带宽资源。
[0060]其中,该第二下载节点可以是存在其它切片数据的任一切片数据的任一下载节点。
[0061]通过P2P技术实现视频数据的共享和下载,可以具体是:
[0062]假设第一下载节点从P2P服务器查询存在切片数据fl、f2、f3……的下载节点,若一个载节点存在切片数据Π,则可以从该下载节点下载切片数据Π,并通知P2P服务器,第一下载节点也可以提供切片数据fl的下载;若另一个下载节点存在切片数据f2,则可以同时从该下载节点下载切片数据f2,并通知P2P服务器,第一下载节点也可以提供切片数据fl的下载。
[0063]如果存在切片数据Π的下载节点有多个,则可以选择任一个下载节点或者选择最佳路径的一个下载节点进行下载。
[0064]为了方便区分,本发明实施例中,将存在其它切片数据中的任一切片数据的任一下载节点描述为第二下载节点。
[0065]如果下载缓存容器中的切片数据的播放格式与浏览器支持的播放格式不同,则第一下载节点可以再将切片数据进行合并时,封装为浏览器支持的播放格式。
[0066]也即所述将所述下载缓存容器中的切片数据合并封装为播放数据提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据包括:
[0067]根据所述浏览器支持的播放格式,将所述下载缓存容器中的切片数据合并封装为所述浏览器支持的播放格式的播放数据之后提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据
[0068]例如,切割为切片数据的视频数据的播放格式为TS,浏览器支持的播放格式为fmp4,则可以需要将切片数据进行合并,并封装为fmp4格式的播放数据,从而浏览器即可以进行播放。
[0069]本发明实施例中的网络视频服务器可以是指视频服务商的提供网络视频的视频数据的源视频服务器,而在一种网络架构中,源视频服务器提供的视频数据需要经过中继服务器以及⑶N服务器,再传输至终端中,因此该网络视频服务器可以是指⑶N服务器。视频服务商的CDN服务器可以布局在不同地方,通过CDN服务器,可以将视频数据分发到各地的距离最近的终端,使终端可以就近取得所需要的内容,可以提高视频响应速度。
[0070]本发明实施例中,在下载缓存容器中可以持续添加数据以实现浏览器的播放,因此,作为一种可能的实现方式,该下载缓存容器可以是第一下载节点预先建立的MediaSource (视频源)对象,通过MediaSource对象,可以动态构建数据流用于浏览器的〈aud1〉和〈video〉,可以将数据传输至浏览器,实现持续添加数据进行播放。
[0071]作为又一个实施例,为了方便数据的共享和下载,所述从网络视频服务器下载所述视频数据,将所述视频数据切割为多个切片数据,存储在所述下载缓存容器中的同时,所述方法还包括:
[0072]建立所述多个切片数据的第一数据列表,所述第一数据列表包括每一切片数据的描述信息;
[0073]所述通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载可以是:
[0074]通过所述P2P服务器能够提供所述第一下载节点的数据列表中的切片数据的下载;
[0075]该每一切片数据的描述信息可以包括切片数据时间,大小、下载来源,共享次数等等。
[0076]从P2P服务器查询存在不包括所述切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载可以具体是:
[0077]从P2P服务器查询不同下载节点的数据列表,获得存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点;
[0078]根据所述第二下载节点的第二数据列表中的描述信息,从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,并存储在所述下载缓存容器中;
[0079]根据所述第一下载节点下载的切片数据的描述信息更新所述第一下载节点的数据列表;
[0080]通过所述P2P服务器能够提供所述第一下载节点的数据列表中切片数据的下载。
[0081]其中,根据所述第一下载节点下载的切片数据的描述信息更新所述第一下载节点的数据列表,可以具体是将第一下载节点下载的切片数据的描述信息添加到所述数据列表中。
[0082]图2为本发明提供的一种网络视频播放方法又一个实施例的流程图,该方法具体应用于浏览器中,该方法可以包括以下几个步骤:
[0083]201:浏览器接收视频播放请求。
[0084]该视频播放请求可以用户触发的。
[0085]该视频播放请求可以携带请求播放的网络视频的相关信息,比如名称或标识等,以方便该网络视频的下载。
[0086]202:根据所述视频播放请求,调用第一下载节点查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据,如果是,从P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器当前下载缓存容器中的切片数据;如果否,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中。
[0087]其中,所述浏览器的视频地址预先设置为所述下载缓存容器地址;
[0088]203:从所述下载缓存容器中获取第一下载节点将所述下载缓存容器中的切片数据合并封装的播放数据并播放。
[0089]本实施例中,接收到视频播放请求之后,浏览器是调用第一下载节点进行网络视频的视频数据的下载,且第一下载节点可以从网络视频服务器下载网络视频的视频数据,并可以将视频数据切割为多个切片数据,通知P2P服务器,申明自己拥有的切片数据,也可以通过P2P技术从其它下载节点下载网络视频的视频数据的切片数据,使得可以在下载缓存容器中的切片数据满足播放条件时,即可以通过P2P技术进行视频数据的下载,可以减少从网络视频服务器下载视频占用的带宽,节省了带宽资源。
[0090]图3为本发明提供的一种网络视频播放装置一个实施例的结构示意图,该装置可以包括:
[0091]检测模块301,用于根据浏览器的视频播放请求,查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据。
[0092]其中,所述浏览器的视频地址预先设置为所述下载缓存容器地址。从而浏览器可以根据视频地址,请求从视频地址对应的下载缓存容器中获取数据。
[0093]该播放条件例如可以是下载缓存容器中的所述网络视频的切片数据的播放时间大于预设时间,或者下载缓存容器中所述网络视频的切片数据的数据量大于预设数量。
[0094]因此,作为又一个实施例,所述检测模块可以具体用于:根据浏览器的视频播放请求,查询下载缓存容器中是否存在请求播放的网络视频中,播放时间大于预设时间的第一数量的切片数据。
[0095]其中,切片数据是为了方便数据共享和下载,将网络视频的视频数据进行切割得到的。
[0096]第一下载模块302,用于在所述检测模块检测结果为否时,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;通知所述P2P服务器当前下载缓存容器中的切片数据;
[0097]第二下载模块303,用于在所述检测模块检测结果为是时,从P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器当前下载缓存容器中的切片数据。
[0098]封装模块304,用于将所述下载缓存容器中的切片数据合并封装为播放数据提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据。
[0099]如果下载缓存容器中不存在满足播放条件的切片数据,则表明下载缓存容器中的切片数据无法满足起播需求,为了保证网络视频可以快速开始播放,则可以从网络视频服务器中下载网络视频的视频数据,并切割为切片数据放在下载缓存容器中,直至下载缓存容器中存在满足播放条件的切片数据,同时将下载缓存容器中的切片数据通知P2P服务器,实现数据共享,以方便其他下载节点的下载
[0100]如果下载缓存容器中存在满足播放条件的切片数据,也下载缓存容器中满足播放条件的切片数据可以满足浏览器的起播需求,则无需从网络视频服务器中下载视频数据,而可以从P2P服务器中查询存在网络视频的不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,从而可以直接从第二下载节点下载网络视频的其它切片数据,并存储在下载缓存容器中。
[0101]本实施例,通过P2P技术实现了网络视频的视频数据的下载和共享,而无需全部从网络视频服务器进行下载,从而节省了视频下载占用的带宽资源。
[0102]其中,该第二下载节点可以是存在其它切片数据的任一切片数据的任一下载节点。
[0103]其中,每一个切片数据包括时间信息,封装模块将下载缓存容器中的切片数据进行合并封装,具体的可以是按照切片数据的时间信息,按照播放时间先后顺序进行合并封装成播放数据提供给浏览器,浏览器即可以获取该播放数据以进行播放。
[0104]如果下载缓存容器中的切片数据的播放格式与浏览器支持的播放格式不同,此处,作为又一个实施例,封装模块可以具体用于:
[0105]根据所述浏览器支持的播放格式,将所述下载缓存容器中的切片数据合并封装为所述浏览器支持的播放格式的播放数据之后提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据。
[0106]例如,切割为切片数据的视频数据的播放格式为TS,浏览器支持的播放格式为fmp4,则可以需要将切片数据进行合并,并封装为fmp4格式的播放数据,从而浏览器即可以进行播放。
[0107]本发明实施例中,在下载缓存容器中可以持续添加数据以实现浏览器的播放,因此,作为一种可能的实现方式,该下载缓存容器可以是预先建立的MediaSource (视频源)对象,通过MediaSource对象,可以动态构建数据流用于浏览器的〈aud1〉和〈video〉选项,可以将数据传输至浏览器,实现持续添加数据进行播放。因此,该装置还可以包括:
[0108]预创建模块,用于建立下载缓存容器,该下载缓存容器具体可以为MediaSource对象。
[0109]作为又一个实施例,为了方便数据的共享和下载,该装置还可以包括:
[0110]列表建立模块,用于在所述第一下载模块从网络视频服务器下载视频数据,将所述视频数据切割为多个切片数据之后,建立所述多个切片数据的第一数据列表,所述第一数据列表包括每一切片数据的描述信息;
[0111]则所述第一下载模块通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载可以具体是:
[0112]通过所述P2P服务器能够提供所述数据列表中的切片数据的下载;
[0113]则所述第二下载模块可以具体用于:从P2P服务器查询不同下载节点的数据列表,获得存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点;根据所述第二下载节点的第二数据列表中的描述信息,从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,并存储在所述下载缓存容器中;根据所述第一下载节点下载的切片数据的描述信息更新所述第一数据列表;通过所述P2P服务器能够提供所述第一数据列表中切片数据的下载。
[0114]其中,根据所述第一下载节点下载的切片数据的描述信息更新所述第一下载节点的数据列表,可以具体是将第一下载节点下载的切片数据的描述信息添加到所述数据列表中。
[0115]图4为本发明提供的一种网络视频播放装置又一个实施例的结构示意图,本实施例所述装置可以具体应用于浏览器中,该装置可以包括:
[0116]请求接收模块401,用于接收视频播放请求。
[0117]该视频播放请求可以用户触发的。
[0118]该视频播放请求可以携带请求播放的网络视频的相关信息,比如名称或标识等,以方便该网络视频的下载。
[0119]调用模块402,用于根据所述视频播放请求,调用第一下载节点查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据,如果是,从P2P月艮务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器当前下载缓存容器中的切片数据;如果否,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;
[0120]播放模块403,用于从所述下载缓存容器中获取第一下载节点将所述下载缓存容器中的切片数据合并封装的播放数据并播放。
[0121]在本实施例中,网络视频播放装置,接收到视频播放请求之后,即可以调用第一下载节点进行网络视频的视频数据的下载,且第一下载节点可以从网络视频服务器下载网络视频的视频数据,并可以将视频数据切割为多个切片数据,通知P2P服务器,申明自己拥有的切片数据,也可以通过P2P技术从其它下载节点下载网络视频的视频数据的切片数据,使得可以在下载缓存容器中的切片数据满足播放条件时,即可以通过P2P技术进行视频数据的下载,可以减少从网络视频服务器下载视频占用的带宽,节省了带宽资源。
[0122]本发明还提供了一种网络视频播放系统,可以包括浏览器、下载缓存容器以及下载节点,其中,该浏览器配置有如图4所示的网络视频播放装置,下载节点配置有如图3所示的网络视频播放装置。
[0123]该下载缓存容器为所述下载节点预先创建的,可以是MediaSource对象。
[0124]通过本发明实施例的网络视频播放系统,可以减少网络视频下载占用的带宽,从而节省了带宽资源。
[0125]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0126]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0127]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种网络视频播放方法,其特征在于,包括: 第一下载节点根据浏览器的视频播放请求,查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据,其中,所述浏览器的视频地址预先设置为所述下载缓存容器地址; 如果否,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;通知P2P服务器能够提供当前下载缓存容器中的切片数据的下载; 如果是,从所述P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载; 将所述下载缓存容器中的切片数据合并封装为播放数据提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据。2.根据权利要求1所述的方法,其特征在于,所述将所述下载缓存容器中的切片数据合并封装为播放数据提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据包括: 根据所述浏览器支持的播放格式,将所述下载缓存容器中的切片数据合并封装为所述浏览器支持的播放格式的播放数据之后提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据。3.根据权利要求1所述的方法,其特征在于,所述查询下载缓存容器中是否存在请求播放的网络视频满足播放条件的第一数量的切片数据包括: 查询下载缓存容器中是否存在请求播放的网络视频中,播放时间大于预设时间的第一数量的切片数据。4.根据权利要求1所述的方法,其特征在于,所述下载缓存容器为所述第一下载节点预先建立的视频源MediaSource对象。5.根据权利要求1所述的方法,其特征在于,所述从网络视频服务器下载所述视频数据,将所述视频数据切割为多个切片数据之后,所述方法还包括: 建立所述多个切片数据的第一数据列表,所述第一数据列表包括每一切片数据的描述信息; 所述通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载包括: 通过所述P2P服务器能够提供所述第一数据列表中的切片数据的下载; 所述从P2P服务器查询存在不包括所述切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载包括: 从P2P服务器查询不同下载节点的数据列表,获得存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点; 根据所述第二下载节点的第二数据列表中的描述信息,从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,并存储在所述下载缓存容器中;根据所述第一下载节点下载的切片数据的描述信息更新所述第一数据列表; 通过所述P2P服务器能够提供所述第一数据列表中切片数据的下载。6.一种网络视频播放方法,其特征在于,包括: 浏览器接收视频播放请求; 根据所述视频播放请求,调用第一下载节点查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据;如果否,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载;如果是,从P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载;从所述下载缓存容器中获取第一下载节点将所述下载缓存容器中的切片数据合并封装的播放数据并播放。7.一种网络视频播放装置,其特征在于,包括: 检测模块,用于根据浏览器的视频播放请求,查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据,其中,所述浏览器的视频地址预先设置为所述下载缓存容器地址; 第一下载模块,用于在所述检测模块检测结果为否时,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;通知所述P2P服务器能够当前下载缓存容器中的切片数据的下载; 第二下载模块,用于在所述检测模块检测结果为是时,从P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载; 封装模块,用于将所述下载缓存容器中的切片数据合并封装为播放数据提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据。8.根据权利要求7所述的装置,其特征在于,所述封装模块具体用于: 根据所述浏览器支持的播放格式,将所述下载缓存容器中的切片数据合并封装为所述浏览器支持的播放格式的播放数据之后提供给所述浏览器,以便于所述浏览器获取并播放所述播放数据。9.根据权利要求7所述的装置,其特征在于,所述检测模块具体用于: 根据浏览器的视频播放请求,查询下载缓存容器中是否存在请求播放的网络视频中,播放时间大于预设时间的第一数量的切片数据。10.根据权利要求7所述的装置,其特征在于,还包括: 列表建立模块,用于在所述第一下载模块从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据之后,建立所述多个切片数据的第一数据列表,所述第一数据列表包括每一切片数据的描述信息; 所述第一下载模块通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载具体是: 通过所述P2P服务器能够提供所述数据列表中的切片数据的下载; 所述第二下载模块具体用于:从P2P服务器查询不同下载节点的数据列表,获得存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点;根据所述第二下载节点的第二数据列表中的描述信息,从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,并存储在所述下载缓存容器中;根据所述第一下载节点下载的切片数据的描述信息更新所述第一数据列表;通过所述P2P服务器能够提供所述第一数据列表中切片数据的下载。11.一种网络视频播放装置,其特征在于,包括: 请求接收模块,用于接收视频播放请求; 调用模块,用于根据所述视频播放请求,调用第一下载节点查询预先建立的下载缓存容器中是否存在请求播放的网络视频的满足播放条件的切片数据;如果否,从网络视频服务器下载所述网络视频的视频数据,将所述视频数据切割为多个切片数据,并存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载;如果是,从P2P服务器查询存在不包括所述下载缓存容器中的切片数据的其它切片数据的第二下载节点,并从所述第二下载节点下载不包括所述下载缓存容器中的切片数据的其它切片数据,存储在所述下载缓存容器中;通知所述P2P服务器能够提供当前下载缓存容器中的切片数据的下载; 播放模块,用于从所述下载缓存容器中获取第一下载节点将所述下载缓存容器中的切片数据合并封装的播放数据并播放。12.一种网络视频播放系统,其特征在于,包括浏览器、下载节点以及下载缓存容器; 所述下载缓存容器为所述下载节点预先创建的; 所述下载节点配置有如权利要求7?10任一项所述的网络视频播放装置; 所述浏览器配置有如权利要求11所述的网络视频播放装置。
【文档编号】H04N21/845GK105898607SQ201510811582
【公开日】2016年8月24日
【申请日】2015年11月20日
【发明人】陈金付
【申请人】乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1