一种hls流媒体传输方法及装置的制造方法
【技术领域】
[0001]本申请涉及流媒体传输领域,特别涉及一种HLS流媒体传输方法及装置。
【背景技术】
[0002]HLS (HTTP Live Streaming,超文本直播流)协议是苹果公司实现的基于Http (超文本传输协议,Hyper Text Transfer Protocol)的流媒体传输协议,HLS协议将容量巨大的连续媒体数据进行分段,分割为数量众多的小文件进行传递,迎合了网页服务器的文件传输性,采用一个不断更新的轻量级索引文件来控制分割小媒体文件的下载和播放,可以实现流媒体的直播和点播。HLS协议在优先考虑流畅性的前提下支持码率的自动切换,目前被各大视频网站广泛应用。
[0003]HLS协议通常使用⑶N(内容分发网络,Content Delivery Network)来传输HLS流媒体,以加快传输速度,但在用户访问量大时,CDN服务器(即使用CDN传输HLS流媒体的HLS流媒体服务器)负担重,导致访问请求响应速度慢,降低了 HLS流媒体的播放质量和用户体验性。
【发明内容】
[0004]为解决上述技术问题,本申请实施例提供一种HLS流媒体传输方法及装置,以达到提高HLS流媒体的播放质量和用户体验性的目的,技术方案如下:
[0005]一种HLS流媒体传输方法,包括:
[0006]第一对等网络P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器;以及,
[0007]在接收到所述P2P索引服务器针对所述视频请求返回的第二 P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二 P2P用户端地址对应的第二 P2P用户端,以从所述第二 P2P用户端地址对应的第二 P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;以及,
[0008]在未接收到所述P2P索引服务器针对所述视频请求返回的第二 P2P用户端地址时,发送目标HLS流媒体获取请求至⑶N服务器,以从⑶N服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
[0009]其中,所述第二 P2P用户端地址为所述P2P索引服务器在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,与所述目标HLS流媒体标识相匹配的HLS流媒体标识对应的P2P用户端地址,所述P2P索引文件用于记录P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
[0010]优选的,在发送目标HLS流媒体获取请求至所述第二 P2P用户端地址对应的第二P2P用户端之后,还包括:
[0011]若接收到所述第二 P2P用户端返回的请求失败信息,则发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
[0012]优选的,所述第一对等网络P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器的过程,包括:
[0013]所述第一 P2P用户端根据当前时刻的网络状态下载速度动态确定下一时刻HLS流媒体的码率,作为目标码率;以及,
[0014]所述第一 P2P用户端发送携带有所述目标码率对应的目标HLS流媒体标识的视频请求至P2P索引服务器。
[0015]一种HLS流媒体传输方法,包括:
[0016]P2P索引服务器接收第一 P2P用户端发送的携带有目标HLS流媒体标识的视频请求;以及,
[0017]在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,将所述P2P索引文件中与所述目标HLS流媒体标识对应的第二 P2P用户端地址发送至所述第一 P2P用户端,以使所述第一 P2P用户端发送目标HLS流媒体获取请求至所述第二 P2P用户端地址对应的第二 P2P用户端,以从所述第二 P2P用户端地址对应的第二 P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
[0018]在查找到P2P索引文件中不存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,发送视频请求处理失败信息至所述第一 P2P用户端,以指示所述第一 P2P用户端发送目标HLS流媒体获取请求至⑶N服务器,以从⑶N服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
[0019]优选的,所述P2P索引文件的生成过程,包括:
[0020]P2P索引服务器接收P2P用户端发送的HLS流媒体标识和用户端地址;以及,
[0021]记录所述HLS流媒体标识和用户端地址的映射关系,得到P2P索引文件。
[0022]一种HLS流媒体传输装置,包括:
[0023]第一发送单元,用于发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器;
[0024]第二发送单元,用于在接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二 P2P用户端地址对应的第二P2P用户端,以执行第一获取单元;
[0025]所述第一获取单元,用于从所述第二 P2P用户端地址对应的第二 P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
[0026]第三发送单元,用于在未接收到所述P2P索引服务器针对所述视频请求返回的第二 P2P用户端地址时,发送目标HLS流媒体获取请求至⑶N服务器,以执行第二获取单元;
[0027]所述第二获取单元,用于从⑶N服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
[0028]其中,所述第二 P2P用户端地址为所述P2P索引服务器在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,与所述目标HLS流媒体标识相匹配的HLS流媒体标识对应的P2P用户端地址,所述P2P索引文件用于记录P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
[0029]优选的,还包括:
[0030]第四发送单元,用于在发送目标HLS流媒体获取请求至所述第二 P2P用户端地址对应的第二 P2P用户端之后,若接收到所述第二 P2P用户端返回的请求失败信息,则发送目标HLS流媒体获取请求至CDN服务器,以执行第二获取单元。
[0031]优选的,第一发送单元包括:
[0032]确定子单元,用于根据当前时刻的网络状态下载速度动态确定下一时刻HLS流媒体的码率,作为目标码率;
[0033]发送子单元,用于发送携带有所述目标码率对应的目标HLS流媒体标识的视频请求至P2P索引服务器。
[0034]一种HLS流媒体传输装置,包括:
[0035]第一接收单元,用于接收第一 P2P用户端发送的携带有目标HLS流媒体标识的视频请求;
[0036]第五发送单元,用于在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,将所述P2P索引文件中与所述目标HLS流媒体标识对应的第二P2P用户端地址发送至所述第一 P2P用户端,以使所述第一 P2P用户端发送目标HLS流媒体获取请求至所述第二 P2P用户端地址对应的第二 P2P用户端,以从所述第二 P2P用户端地址对应的第二 P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
[0037]第六发送单元,用于在查找到P2P索引文件中不存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,发送视频请求处理失败信息至所述第一 P2P用户端,以指示所述第一 P2P用户端发送目标HLS流媒体获取请求至⑶N服务器,以从⑶N服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
[0038]优选的,还包括:
[0039]第二接收单元,用于接收P2P用户端发送的HLS流媒体标识和用户端地址;
[0040]记录单元,用于记录所述HLS流媒体标识和用户端地址的映射关系,得到P2P索引文件。
[0041]与现有技术相比,本申请的有益效果为:
[0042]在本申请中,第一 P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器后,在接收到P2P索引服务器针对所述视频请求返回的第二 P2P用户端地址时,说明存在第二用户端拥有目标HLS流媒体标识对应的HLS流媒体,第一 P2P用户端则可以发送目标HLS流媒体获取请求至所述第二 P2P用户端地址对应的第二 P2P用户端,从第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。由于第二 P2P用户端在拥有目标HLS流媒体标识对应的HLS流媒体的情况下,第一 P2P用户端不再从CDN服务器获取目标HLS流媒体标识对应