一种获取切片文件和生成子m3u8文件的方法、节点及服务器的制造方法

文档序号:8266885阅读:883来源:国知局
一种获取切片文件和生成子m3u8文件的方法、节点及服务器的制造方法
【专利说明】一种获取切片文件和生成子m3u8文件的方法、节点及服务
□ □
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种获取切片文件和生成子m3u8文件的方法、节点及服务器。
【背景技术】
[0002]流媒体网络传输(HLS,HTTP Live Streaming)协议是基于超文本传输协议的流媒体传输协议,HLS协议的特点是将视频文件进行切片存储,并生成媒体数据的索引m3u8文件以及媒体数据的切片文件。其中m3u8文件用于将视频文件以播放列表的形式组织在一起以供多媒体播放器下载播放。m3u8文件包括主m3u8文件以及子m3u8文件,子m3u8文件用于描述切片文件的文件名称等文件信息,而主m3u8文件则用于描述子m3u8文件的统一资源定位符(URL,Uniform Resource Locator)。切片文件可保存在对等(P2P,Peer toPeer)网络节点或者内容分发网络(Q)N,Content Delivery Network)中,而m3u8文件则存储在CDN服务器中。P2P网络是一种新的通信模式,每个节点之间可以直接通信、共享资源以及协同工作。CDN第一种新型网络内容服务体系,其基于内容访问与应用的效率要求等为各个节点提供内容的分发。
[0003]现有技术中客户端先向⑶N服务器获取视频文件的主m3u8文件,然后根据主m3u8文件向CDN服务器获取到指定的子m3u8文件后,得到视频文件的切片文件的文件名称,再向P2P网络的索引服务器获取包括该切片文件的P2P节点的列表。若该切片文件的节点的列表不包括任何P2P节点的信息,则客户端向CDN服务器下载切片文件,若该切片文件的节点的列表包括了至少一个P2P节点的信息,说明这些P2P节点包含该切片文件,则客户端向P2P节点下载该切片文件。
[0004]然而,由于一个视频文件通常被切分为多个切片文件,因此当客户端需要下载该视频文件时,需要依次向索引服务器获取包括各个切片文件的P2P节点的列表,其向索引服务器发出的请求过于频繁,从而延长了请求下载视频文件的时间,降低了下载视频文件速度。

【发明内容】

[0005]本发明提供一种获取切片文件的方法、节点及服务器,可节省请求下载视频文件的时间,提高了下载视频文件速度。
[0006]本发明第一方面提供一种获取切片文件的方法,包括:
[0007]接收视频文件的点播请求;
[0008]根据所述点播请求向⑶N服务器获取所述视频文件的主m3u8文件,所述主m3u8文件包括不同码率的子m3u8文件的文件信息,每个子m3u8文件包括所述视频文件的切片文件的标识信息;
[0009]根据选取的码率确定对应的子m3u8文件;
[0010]根据确定的子m3u8文件的文件信息向所述CDN服务器获取所述确定的子m3u8文件;
[0011]若所述确定的子m3u8文件还包括存储所述切片文件的客户端节点的标识信息,则根据所述切片文件的标识信息向所述客户端节点获取所述切片文件。
[0012]结合本发明第一方面的实现方式,在本发明第一方面的第一种可能的实现方式中,所述若所述确定的子m3u8文件还包括存储所述切片文件的客户端节点的标识信息,贝Ij根据所述切片文件的标识信息向所述客户端节点获取所述切片文件,具体包括:
[0013]若所述确定的子m3u8文件还包括存储所述切片文件的至少一个客户端节点的标识信息,则根据所述切片文件的标识信息向各个客户端节点分别获取所述切片文件;
[0014]或者,
[0015]若所述确定的子m3u8文件还包括存储所述切片文件的至少一个客户端节点的标识信息,其中每个客户端节点还存储所述切片文件的子切片文件,则根据所述切片文件的标识信息向各个客户端节点获取所述切片文件的子切片文件。
[0016]结合本发明第一方面的实现方式,在本发明第一方面的第二种可能的实现方式中,所述方法还包括:
[0017]若所述确定的子m3u8文件没有包括所述存储所述切片文件的客户端节点的标识信息,则根据所述切片文件的标识信息向所述CDN服务器获取所述切片文件。
[0018]本发明第二方面提供一种生成子m3u8文件的方法,包括:
[0019]⑶N服务器根据客户端发送的请求,向所述客户端发送视频文件的主m3u8文件,所述主m3u8文件包括不同码率的子m3u8文件的文件信息,每个子m3u8文件包括所述视频文件的切片文件的标识信息;
[0020]所述CDN服务器接收所述客户端根据选取的码率对应的所述子m3u8文件的文件信息发送的请求;
[0021]若所述CDN服务器查找到存储所述视频文件的切片文件的客户端节点,则所述CDN服务器根据所述客户端节点的标识信息以及所述切片文件的标识信息生成所述子m3u8文件;
[0022]所述⑶N服务器向所述客户端发送生成的子m3u8文件,以使所述客户端根据所述切片文件的标识信息向所述客户端节点获取所述切片文件。
[0023]结合本发明第二方面的实现方式,在本发明第二方面的第一种可能的实现方式中,所述方法还包括:
[0024]若所述CDN服务器没有查找到存储所述视频文件的切片文件的客户端节点,则所述CDN服务器根据所述切片文件的标识信息生成所述子m3u8文件;
[0025]所述CDN服务器向所述客户端发送生成的子m3u8文件,以使所述客户端根据所述切片文件的标识信息向所述CDN服务器获取所述切片文件。
[0026]本发明第三方面提供一种节点,包括:
[0027]第一获取模块,用于接收视频文件的点播请求,根据所述请求向CDN服务器获取所述视频文件的主m3u8文件,所述主m3u8文件包括不同码率的子m3u8文件的文件信息,每个子m3u8文件包括所述视频文件的切片文件的标识信息;
[0028]确定模块,用于根据选取的码率确定对应的子m3u8文件;
[0029]第二获取模块,用于根据所述确定模块确定的子m3u8文件的文件信息向所述CDN服务器获取所述确定的子m3u8文件;
[0030]第三获取模块,用于若所述确定模块确定的子m3u8文件还包括存储所述切片文件的客户端节点的标识信息,则所述客户端节点根据所述切片文件的标识信息向所述客户端节点获取所述切片文件。
[0031]结合本发明第三方面的实现方式,在本发明第三方面的第一种可能的实现方式中,所述第三获取模块具体用于:
[0032]若所述确定模块确定的子m3u8文件还包括存储所述切片文件的至少一个客户端节点的标识信息,则所述第三获取模块根据所述切片文件的标识信息向各个客户端节点分别获取所述切片文件;
[0033]或者,
[0034]若所述确定模块确定的子m3u8文件还包括存储所述切片文件的至少一个客户端节点的标识信息,其中每个客户端节点还存储所述切片文件的子切片文件,则所述第三获取模块根据所述切片文件的标识信息向各个客户端节点获取所述切片文件的子切片文件。
[0035]结合本发明第三方面的实现方式,在本发明第三方面的第二种可能的实现方式中,所述第三获取模块还用于若所述确定模块确定的子m3u8文件没有包括所述存储所述切片文件的客户端节点的标识信息,则所述第三获取模块根据所述切片文件的标识信息向所述CDN服务器获取所述切片文件。
[0036]本发明第四方面提供一种服务器,包括:
[0037]第一发送模块,用于根据客户端发送的请求,向所述客户端发送视频文件的主m3u8文件,所述主m3u8文件包括不同码率的子m3u8文件的文件信息,每个子m3u8文件包括所述视频文件的切片文件的标识信息;
[0038]接收模块,用于接收所述客户端根据选取的码率对应的所述子m3u8文件的文件信息发送的请求;
[0039]生成模块,用于若根据所述接收模块接收的请求查找到存储所述视频文件的切片文件的客户端节点,则根据所述客户端节点的标识信息以及所述切片文件的标识信息生成所述子m3u8文件;
[0040]第二发送模块,用于向所述客户端发送所述生成模块生成的子m3u8文件,以使所述客户端根据所述切片文件的标识信息向所述客户端节点获取所述切片文件。
[0041]结合本发明第四方面的实现方式,在本发明第四方面的第一种可能的实现方式中,所述生成模块,还用于若没有查找到存储所述视频文件的切片文件的客户端节点,则根据所述切片文件的标识信息生成所述子m3u8文件;
[0042]所述第二发送模块,还用于向所述客户端发送所述生成模块生成的子m3u8文件,以使所述客户端根据所述切片文件的标识信息向所述服务器获取所述切片文件。
[0043]采用本发明,接收视频文件的点播请求,根据点播请求向CDN服务器获取视频文件的主m3u8文件,主m3u8文件包括不同码率的子m3u8文件的文件信息,每个子m3u8文件包括视频文件的切片文件的标识信息;根据选取的码率确定对应的子m3u8文件,根据确定的子m3u8文件的文件信息向CDN服务器获取确定的子m3u8文件,若确定的子m3u8文件还包括存储切片文件的客户端节点的标识信息,则根据切片文件的标识信息向客户端节点获取切片文件,可在客户端获取到子m3u8文件时即可得知存储切片文件的客户端节点,再直接向存储切片文件的客户端节点获取切片文件,从而减少客户端向索引服务器请求获取存储切片文件的客户端节点的标识信息的流程,节省请求下载视频文件的时间,提高了下载视频文件速度。
【附图
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1