CN105338421A - 一种hls流媒体传输方法及装置 - Google Patents
一种hls流媒体传输方法及装置 Download PDFInfo
- Publication number
- CN105338421A CN105338421A CN201410381399.2A CN201410381399A CN105338421A CN 105338421 A CN105338421 A CN 105338421A CN 201410381399 A CN201410381399 A CN 201410381399A CN 105338421 A CN105338421 A CN 105338421A
- Authority
- CN
- China
- Prior art keywords
- streaming media
- user side
- hls streaming
- target
- hls
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种HLS流媒体传输方法及装置,所述方法包括:第一P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器;以及,在接收到P2P索引服务器针对视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至第二P2P用户端地址对应的第二P2P用户端;以及,在未接收到P2P索引服务器针对视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至CDN服务器。本申请提供的HLS流媒体传输方法减轻了CDN服务器的负担,加快了访问请求响应速度,从而提高了HLS流媒体的播放质量和用户体验性。
Description
技术领域
本申请涉及流媒体传输领域,特别涉及一种HLS流媒体传输方法及装置。
背景技术
HLS(HTTPLiveStreaming,超文本直播流)协议是苹果公司实现的基于Http(超文本传输协议,HyperTextTransferProtocol)的流媒体传输协议,HLS协议将容量巨大的连续媒体数据进行分段,分割为数量众多的小文件进行传递,迎合了网页服务器的文件传输性,采用一个不断更新的轻量级索引文件来控制分割小媒体文件的下载和播放,可以实现流媒体的直播和点播。HLS协议在优先考虑流畅性的前提下支持码率的自动切换,目前被各大视频网站广泛应用。
HLS协议通常使用CDN(内容分发网络,ContentDeliveryNetwork)来传输HLS流媒体,以加快传输速度,但在用户访问量大时,CDN服务器(即使用CDN传输HLS流媒体的HLS流媒体服务器)负担重,导致访问请求响应速度慢,降低了HLS流媒体的播放质量和用户体验性。
发明内容
为解决上述技术问题,本申请实施例提供一种HLS流媒体传输方法及装置,以达到提高HLS流媒体的播放质量和用户体验性的目的,技术方案如下:
一种HLS流媒体传输方法,包括:
第一对等网络P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器;以及,
在接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;以及,
在未接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
其中,所述第二P2P用户端地址为所述P2P索引服务器在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,与所述目标HLS流媒体标识相匹配的HLS流媒体标识对应的P2P用户端地址,所述P2P索引文件用于记录P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
优选的,在发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端之后,还包括:
若接收到所述第二P2P用户端返回的请求失败信息,则发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
优选的,所述第一对等网络P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器的过程,包括:
所述第一P2P用户端根据当前时刻的网络状态下载速度动态确定下一时刻HLS流媒体的码率,作为目标码率;以及,
所述第一P2P用户端发送携带有所述目标码率对应的目标HLS流媒体标识的视频请求至P2P索引服务器。
一种HLS流媒体传输方法,包括:
P2P索引服务器接收第一P2P用户端发送的携带有目标HLS流媒体标识的视频请求;以及,
在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,将所述P2P索引文件中与所述目标HLS流媒体标识对应的第二P2P用户端地址发送至所述第一P2P用户端,以使所述第一P2P用户端发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
在查找到P2P索引文件中不存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,发送视频请求处理失败信息至所述第一P2P用户端,以指示所述第一P2P用户端发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
优选的,所述P2P索引文件的生成过程,包括:
P2P索引服务器接收P2P用户端发送的HLS流媒体标识和用户端地址;以及,
记录所述HLS流媒体标识和用户端地址的映射关系,得到P2P索引文件。
一种HLS流媒体传输装置,包括:
第一发送单元,用于发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器;
第二发送单元,用于在接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以执行第一获取单元;
所述第一获取单元,用于从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
第三发送单元,用于在未接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至CDN服务器,以执行第二获取单元;
所述第二获取单元,用于从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
其中,所述第二P2P用户端地址为所述P2P索引服务器在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,与所述目标HLS流媒体标识相匹配的HLS流媒体标识对应的P2P用户端地址,所述P2P索引文件用于记录P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
优选的,还包括:
第四发送单元,用于在发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端之后,若接收到所述第二P2P用户端返回的请求失败信息,则发送目标HLS流媒体获取请求至CDN服务器,以执行第二获取单元。
优选的,第一发送单元包括:
确定子单元,用于根据当前时刻的网络状态下载速度动态确定下一时刻HLS流媒体的码率,作为目标码率;
发送子单元,用于发送携带有所述目标码率对应的目标HLS流媒体标识的视频请求至P2P索引服务器。
一种HLS流媒体传输装置,包括:
第一接收单元,用于接收第一P2P用户端发送的携带有目标HLS流媒体标识的视频请求;
第五发送单元,用于在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,将所述P2P索引文件中与所述目标HLS流媒体标识对应的第二P2P用户端地址发送至所述第一P2P用户端,以使所述第一P2P用户端发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
第六发送单元,用于在查找到P2P索引文件中不存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,发送视频请求处理失败信息至所述第一P2P用户端,以指示所述第一P2P用户端发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
优选的,还包括:
第二接收单元,用于接收P2P用户端发送的HLS流媒体标识和用户端地址;
记录单元,用于记录所述HLS流媒体标识和用户端地址的映射关系,得到P2P索引文件。
与现有技术相比,本申请的有益效果为:
在本申请中,第一P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器后,在接收到P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,说明存在第二用户端拥有目标HLS流媒体标识对应的HLS流媒体,第一P2P用户端则可以发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,从第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。由于第二P2P用户端在拥有目标HLS流媒体标识对应的HLS流媒体的情况下,第一P2P用户端不再从CDN服务器获取目标HLS流媒体标识对应的HLS流媒体的TS文件,因此减轻了CDN服务器的负担,加快了访问请求响应速度,从而提高了HLS流媒体的播放质量和用户体验性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的HLS流媒体传输方法的一种流程图;
图2是本申请提供的HLS流媒体传输方法的另一种流程图;
图3是本申请提供的HLS流媒体传输方法的再一种流程图;
图4是本申请提供的HLS流媒体传输装置的一种结构示意图;
图5是本申请提供的HLS流媒体传输装置的另一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的HLS流媒体传输方法采用的是P2P(对等网络,peer-to-peer)传输方式,在本申请中,采用P2P传输方式的网络中包括P2P索引服务器、P2P用户端和CDN服务器(即使用CDN传输HLS流媒体的HLS流媒体服务器),采用P2P传输方式的HLS流媒体传输方法的具体实现过程请参见下述方法实施例。
实施例一
请参见图1,其示出了本申请提供的HLS流媒体传输方法的一种流程图,其中,本实施例是第一P2P用户端的角度阐述HLS流媒体传输方法的具体过程,可以包括以下步骤:
步骤S11:第一P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器。
目标HLS流媒体标识为目标HLS流媒体的标识。目标HLS流媒体为第一P2P用户端想要观看的视频数据。
其中,目标HLS流媒体的标识即目标HLS流媒体的码率和序号。
P2P索引服务器中包含P2P索引文件。P2P索引文件用于记录P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
HLS流媒体标识为P2P用户端所拥有的HLS流媒体的标识。HLS流媒体标识包括码率和序号。每个HLS流媒体对应唯一一个HLS流媒体标识。
若一个P2P用户端拥有多个HLS流媒体,则该P2P用户端会向P2P索引服务器发送多条信息,每条信息分别对应一个HLS流媒体,每条信息的内容即为HLS流媒体标识和该P2P用户端的地址。
P2P索引文件包括多条记录,每条记录的内容即为P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
步骤S12:第一P2P用户端在接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
在本实施例中,P2P索引服务器在接收到第一P2P用户端发送的携带有目标HLS流媒体标识的视频请求后,查找P2P索引文件中是否存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识,若查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识,则说明与所述目标HLS流媒体标识相匹配的HLS流媒体标识对应的P2P用户端拥有第一P2P用户端想要观看的视频数据,P2P索引服务器向第一P2P用户端返回第二P2P用户端地址(即所述目标HLS流媒体标识相匹配的HLS流媒体标识对应的P2P用户端地址);
若查找到P2P索引文件中不存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识,则说明没有P2P用户端拥有所述目标HLS流媒体标识对应的目标HLS流媒体,P2P索引服务器不会返回第二P2P用户端地址至第一P2P用户端。
在本实施例中,与所述目标HLS流媒体标识相匹配的HLS流媒体标识即与所述目标HLS流媒体标识相同的HLS流媒体标识。
第一P2P用户端在接收到P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
所述目标HLS流媒体获取请求携带有所述目标HLS流媒体标识。
第二P2P用户端在接收到第一P2P用户端发送的目标HLS流媒体获取请求后,若可以发送所述目标HLS流媒体标识对应的HLS流媒体的TS文件,则向第一P2P用户端发送所述目标HLS流媒体标识对应的HLS流媒体的TS文件;若不可以发送所述目标HLS流媒体标识对应的HLS流媒体的TS文件,则向第一P2P用户端发送请求失败信息,以告知第一P2P用户端无法获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
步骤S13:第一P2P用户端在未接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
第一P2P用户端在未接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,说明第一P2P用户端无法从相应的P2P用户端获取所述目标HLS流媒体标识对应的目标HLS流媒体,则发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
需要说明的是,在本实施例中,由于若同一个HLS流媒体经过不同CDN传输后,该HLS流媒体的URL会不断改变,因此本申请通过HLS流媒体标识(即码率和序号)来标识HLS流媒体,因为对于一个HLS流媒体来说,该HLS流媒体的码率和序号为唯一确定的,因此可以通过HLS流媒体标识准确的从第二P2P用户端获取相应的HLS流媒体。
在本申请中,第一P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器后,在接收到P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,说明存在第二用户端拥有目标HLS流媒体标识对应的HLS流媒体,第一P2P用户端则可以发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,从第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。由于第二P2P用户端在拥有目标HLS流媒体标识对应的HLS流媒体的情况下,第一P2P用户端不再从CDN服务器获取目标HLS流媒体标识对应的HLS流媒体的TS文件,因此减轻了CDN服务器的负担,加快了访问请求响应速度,从而提高了HLS流媒体的播放质量和用户体验性。
在实施例一中,所述第一P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器的过程具体可以为:
步骤A11:第一P2P用户端根据当前时刻的网络状态下载速度动态确定下一时刻HLS流媒体的码率,作为目标码率。
步骤A12:第一P2P用户端发送携带有所述目标码率对应的目标HLS流媒体标识的视频请求至P2P索引服务器。
执行步骤A11和步骤A12,实现从相应的P2P用户端预先获取相应的HLS流媒体的TS文件。
实施例二
在本实施例中,在图1示出的HLS流媒体传输方法的基础上扩展出另外一种HLS流媒体传输方法,请参见图2,其示出了本申请提供的HLS流媒体传输方法的另一种流程图,可以包括以下步骤:
步骤S21:第一P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器。
步骤S22:第一P2P用户端在接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
步骤S21和步骤S22与图1示出的HLS流媒体传输方法中的步骤S11和步骤S12相同,在此不再赘述。
步骤S23:第一P2P用户端若接收到所述第二P2P用户端返回的请求失败信息,则发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
在本实施例中,第一P2P用户端在发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端之后,若接收到所述第二P2P用户端返回的请求失败信息,则发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
第二P2P用户端返回请求失败信息至第一P2P用户端的原因具体可以但不局限于为第二P2P用户端关闭P2P传输功能或第二P2P用户端上相应的HLS流媒体已删除。
步骤S24:第一P2P用户端在未接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
步骤S24与图1示出的HLS流媒体传输方法中的步骤S13相同,在此不再赘述。
实施例三
请参见图3,其示出了本申请提供的HLS流媒体传输方法的再一种流程图,其中,本实施例是从P2P索引服务器的角度阐述HLS流媒体传输方法的具体过程,可以包括以下步骤:
步骤S31:P2P索引服务器接收第一P2P用户端发送的携带有目标HLS流媒体标识的视频请求。
在本实施例中,P2P索引服务器包括有P2P索引文件,P2P索引文件用于记录第二P2P用户端拥有的HLS流媒体的HLS流媒体标识与第二用户端地址的对应关系
步骤S32:P2P索引服务器在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,将所述P2P索引文件中与所述目标HLS流媒体标识对应的第二P2P用户端地址发送至所述第一P2P用户端,以使所述第一P2P用户端发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
在本实施例中,P2P索引文件的生成过程包括:
步骤A21:P2P索引服务器接收P2P用户端发送的HLS流媒体标识和用户端地址。
拥有HLS流媒体的P2P用户端将对应HLS流媒体的HLS流媒体标识和其地址发送至P2P索引服务器。
若一个P2P用户端拥有多个HLS流媒体,则该P2P用户端会向P2P索引服务器发送多条信息,每条信息分别对应一个HLS流媒体,每条信息的内容即为HLS流媒体标识和该P2P用户端的地址。
P2P索引服务器则接收各个P2P用户端各自的HLS流媒体标识和用户端地址。
步骤A22:P2P索引服务器记录所述HLS流媒体标识和用户端地址的映射关系,得到P2P索引文件。
P2P索引文件包括多条记录,每条记录的内容即为P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
步骤S33:P2P索引服务器在查找到P2P索引文件中不存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,发送视频请求处理失败信息至所述第一P2P用户端,以指示所述第一P2P用户端发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
实施例四
在本实施例中,示出了本申请提供的HLS流媒体传输装置,请参见图4,图4示出了本申请提供的HLS流媒体传输装置的一种结构示意图,HLS流媒体传输装置可以包括:第一发送单元41、第二发送单元42、第一获取单元43、第三发送单元44和第二获取单元45。
第一发送单元41,用于发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器。
第二发送单元42,用于在接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以执行第一获取单元。
第一获取单元43,用于从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
第三发送单元44,用于在未接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至CDN服务器,以执行第二获取单元45。
第二获取单元45,用于从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
其中,所述第二P2P用户端地址为所述P2P索引服务器在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,与所述目标HLS流媒体标识相匹配的HLS流媒体标识对应的P2P用户端地址,所述P2P索引文件用于记录P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
图4示出的HLS流媒体传输装置还可以包括:第四发送单元,用于在发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端之后,若接收到所述第二P2P用户端返回的请求失败信息,则发送目标HLS流媒体获取请求至CDN服务器,以执行第二获取单元45。
在本实施例中,第一发送单元41可以包括确定子单元和发送子单元。其中:
确定子单元,用于根据当前时刻的网络状态下载速度动态确定下一时刻HLS流媒体的码率,作为目标码率。
发送子单元,用于发送携带有所述目标码率对应的目标HLS流媒体标识的视频请求至P2P索引服务器。
本实施例示出的HLS流媒体传输装置可以运行在第一P2P用户端。或者,由第一P2P用户端实现。
实施例五
在本实施例中,示出了本申请提供的另一种HLS流媒体传输装置,请参见图5,其示出了本申请提供的HLS流媒体传输装置的另一种结构示意图,HLS流媒体传输装置包括:第一接收单元51、第五发送单元52和第六发送单元53。
第一接收单元51,用于接收第一P2P用户端发送的携带有目标HLS流媒体标识的视频请求。
第五发送单元52,用于在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,将所述P2P索引文件中与所述目标HLS流媒体标识对应的第二P2P用户端地址发送至所述第一P2P用户端,以使所述第一P2P用户端发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
第六发送单元53,用于在查找到P2P索引文件中不存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,发送视频请求处理失败信息至所述第一P2P用户端,以指示所述第一P2P用户端发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
在本实施例中,图5示出的HLS流媒体传输装置还可以包括:第二接收单元和记录单元。其中:
第二接收单元,用于接收P2P用户端发送的HLS流媒体标识和用户端地址。
记录单元,用于记录所述HLS流媒体标识和用户端地址的映射关系,得到P2P索引文件。
本实施例提供的HLS流媒体传输装置可以运行在P2P索引服务器上。或者由P2P索引服务器实现。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种HLS流媒体传输方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种HLS流媒体传输方法,其特征在于,包括:
第一对等网络P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器;以及,
在接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;以及,
在未接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
其中,所述第二P2P用户端地址为所述P2P索引服务器在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,与所述目标HLS流媒体标识相匹配的HLS流媒体标识对应的P2P用户端地址,所述P2P索引文件用于记录P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
2.根据权利要求1所述的方法,其特征在于,在发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端之后,还包括:
若接收到所述第二P2P用户端返回的请求失败信息,则发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
3.根据权利要求1所述的方法,其特征在于,所述第一对等网络P2P用户端发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器的过程,包括:
所述第一P2P用户端根据当前时刻的网络状态下载速度动态确定下一时刻HLS流媒体的码率,作为目标码率;以及,
所述第一P2P用户端发送携带有所述目标码率对应的目标HLS流媒体标识的视频请求至P2P索引服务器。
4.一种HLS流媒体传输方法,其特征在于,包括:
P2P索引服务器接收第一P2P用户端发送的携带有目标HLS流媒体标识的视频请求;以及,
在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,将所述P2P索引文件中与所述目标HLS流媒体标识对应的第二P2P用户端地址发送至所述第一P2P用户端,以使所述第一P2P用户端发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
在查找到P2P索引文件中不存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,发送视频请求处理失败信息至所述第一P2P用户端,以指示所述第一P2P用户端发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
5.根据权利要求4所述的方法,其特征在于,所述P2P索引文件的生成过程,包括:
P2P索引服务器接收P2P用户端发送的HLS流媒体标识和用户端地址;以及,
记录所述HLS流媒体标识和用户端地址的映射关系,得到P2P索引文件。
6.一种HLS流媒体传输装置,其特征在于,包括:
第一发送单元,用于发送携带有目标HLS流媒体标识的视频请求至P2P索引服务器;
第二发送单元,用于在接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以执行第一获取单元;
所述第一获取单元,用于从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
第三发送单元,用于在未接收到所述P2P索引服务器针对所述视频请求返回的第二P2P用户端地址时,发送目标HLS流媒体获取请求至CDN服务器,以执行第二获取单元;
所述第二获取单元,用于从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
其中,所述第二P2P用户端地址为所述P2P索引服务器在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,与所述目标HLS流媒体标识相匹配的HLS流媒体标识对应的P2P用户端地址,所述P2P索引文件用于记录P2P用户端的HLS流媒体标识与P2P用户端地址的映射关系。
7.根据权利要求6所述的装置,其特征在于,还包括:
第四发送单元,用于在发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端之后,若接收到所述第二P2P用户端返回的请求失败信息,则发送目标HLS流媒体获取请求至CDN服务器,以执行第二获取单元。
8.根据权利要求6所述的装置,其特征在于,第一发送单元包括:
确定子单元,用于根据当前时刻的网络状态下载速度动态确定下一时刻HLS流媒体的码率,作为目标码率;
发送子单元,用于发送携带有所述目标码率对应的目标HLS流媒体标识的视频请求至P2P索引服务器。
9.一种HLS流媒体传输装置,其特征在于,包括:
第一接收单元,用于接收第一P2P用户端发送的携带有目标HLS流媒体标识的视频请求;
第五发送单元,用于在查找到P2P索引文件中存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,将所述P2P索引文件中与所述目标HLS流媒体标识对应的第二P2P用户端地址发送至所述第一P2P用户端,以使所述第一P2P用户端发送目标HLS流媒体获取请求至所述第二P2P用户端地址对应的第二P2P用户端,以从所述第二P2P用户端地址对应的第二P2P用户端获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件;
第六发送单元,用于在查找到P2P索引文件中不存在与所述目标HLS流媒体标识相匹配的HLS流媒体标识时,发送视频请求处理失败信息至所述第一P2P用户端,以指示所述第一P2P用户端发送目标HLS流媒体获取请求至CDN服务器,以从CDN服务器获取所述目标HLS流媒体标识对应的HLS流媒体的TS文件。
10.根据权利要求9所述的装置,其特征在于,还包括:
第二接收单元,用于接收P2P用户端发送的HLS流媒体标识和用户端地址;
记录单元,用于记录所述HLS流媒体标识和用户端地址的映射关系,得到P2P索引文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410381399.2A CN105338421A (zh) | 2014-08-05 | 2014-08-05 | 一种hls流媒体传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410381399.2A CN105338421A (zh) | 2014-08-05 | 2014-08-05 | 一种hls流媒体传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105338421A true CN105338421A (zh) | 2016-02-17 |
Family
ID=55288643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410381399.2A Pending CN105338421A (zh) | 2014-08-05 | 2014-08-05 | 一种hls流媒体传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105338421A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161549A (zh) * | 2015-04-15 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种数据传输的方法、系统、控制服务器及客户端 |
CN107396136A (zh) * | 2017-08-22 | 2017-11-24 | 深圳创维-Rgb电子有限公司 | 一种视频数据获取方法、装置、服务器及介质 |
CN109347967A (zh) * | 2018-11-02 | 2019-02-15 | 网宿科技股份有限公司 | 一种获取音视频数据的方法及装置 |
CN109889543A (zh) * | 2019-03-26 | 2019-06-14 | 广州华多网络科技有限公司 | 视频传输的方法、根节点、子节点、p2p服务器和系统 |
CN110213623A (zh) * | 2019-06-03 | 2019-09-06 | 上海哔哩哔哩科技有限公司 | 视频上传方法、视频上传装置及计算机可读存储介质 |
CN111416990A (zh) * | 2020-03-21 | 2020-07-14 | 杭州视在数科信息技术有限公司 | 一种基于流式数据处理平台的ts流的存储、访问方法及应用 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090113253A1 (en) * | 2007-04-03 | 2009-04-30 | Huawei Technologies Co., Ltd. | System and apparatus for delivering media and method for playing streaming media |
CN101741893A (zh) * | 2008-11-24 | 2010-06-16 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 对等网络流媒体业务处理系统及方法 |
CN102404378A (zh) * | 2010-09-07 | 2012-04-04 | 成都索贝数码科技股份有限公司 | 一种流媒体分发传输网络系统 |
CN102694831A (zh) * | 2011-03-25 | 2012-09-26 | 中国电信股份有限公司 | 移动终端流媒体数据补偿方法与系统、内容分发网络 |
CN103634692A (zh) * | 2013-12-06 | 2014-03-12 | 南京理工大学连云港研究院 | 基于cdn和p2p的混合流媒体视频点播系统 |
-
2014
- 2014-08-05 CN CN201410381399.2A patent/CN105338421A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090113253A1 (en) * | 2007-04-03 | 2009-04-30 | Huawei Technologies Co., Ltd. | System and apparatus for delivering media and method for playing streaming media |
CN101741893A (zh) * | 2008-11-24 | 2010-06-16 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 对等网络流媒体业务处理系统及方法 |
CN102404378A (zh) * | 2010-09-07 | 2012-04-04 | 成都索贝数码科技股份有限公司 | 一种流媒体分发传输网络系统 |
CN102694831A (zh) * | 2011-03-25 | 2012-09-26 | 中国电信股份有限公司 | 移动终端流媒体数据补偿方法与系统、内容分发网络 |
CN103634692A (zh) * | 2013-12-06 | 2014-03-12 | 南京理工大学连云港研究院 | 基于cdn和p2p的混合流媒体视频点播系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161549A (zh) * | 2015-04-15 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种数据传输的方法、系统、控制服务器及客户端 |
CN107396136A (zh) * | 2017-08-22 | 2017-11-24 | 深圳创维-Rgb电子有限公司 | 一种视频数据获取方法、装置、服务器及介质 |
CN109347967A (zh) * | 2018-11-02 | 2019-02-15 | 网宿科技股份有限公司 | 一种获取音视频数据的方法及装置 |
CN109347967B (zh) * | 2018-11-02 | 2021-08-03 | 网宿科技股份有限公司 | 一种获取音视频数据的方法及装置 |
CN109889543A (zh) * | 2019-03-26 | 2019-06-14 | 广州华多网络科技有限公司 | 视频传输的方法、根节点、子节点、p2p服务器和系统 |
CN109889543B (zh) * | 2019-03-26 | 2020-11-13 | 广州华多网络科技有限公司 | 视频传输的方法、根节点、子节点、p2p服务器和系统 |
CN110213623A (zh) * | 2019-06-03 | 2019-09-06 | 上海哔哩哔哩科技有限公司 | 视频上传方法、视频上传装置及计算机可读存储介质 |
CN111416990A (zh) * | 2020-03-21 | 2020-07-14 | 杭州视在数科信息技术有限公司 | 一种基于流式数据处理平台的ts流的存储、访问方法及应用 |
CN111416990B (zh) * | 2020-03-21 | 2021-08-17 | 杭州视在数科信息技术有限公司 | 一种流式数据平台的ts流的访问方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105338421A (zh) | 一种hls流媒体传输方法及装置 | |
CN104581374B (zh) | 一种获取切片文件和生成子m3u8文件的方法、节点及服务器 | |
CN110703980B (zh) | 一种文件传输方法及装置 | |
US20150227496A1 (en) | Method and system for microblog resource sharing | |
CN102694831B (zh) | 移动终端流媒体数据补偿方法与系统、内容分发网络 | |
CN103813185B (zh) | 一种分段节目快速分发的方法、服务器及客户端 | |
CN103051717A (zh) | 一种http请求处理的方法、装置和设备 | |
CN103944994A (zh) | 分布式资源获取方法及装置 | |
CN109522462B (zh) | 一种基于区块链的云查询方法、装置、设备及存储介质 | |
CN101677325A (zh) | 发布媒体描述信息和获取媒体的方法、装置、系统 | |
CN104025521A (zh) | 内容传输系统、优化该系统中网络流量的方法、中央控制装置和本地缓存装置 | |
CN104506493A (zh) | 一种实现hls内容回源和缓存的方法 | |
CN102394899B (zh) | 提高文件下载速度的点播系统及方法 | |
CN102883185A (zh) | 一种视频点播方法与设备 | |
CN104243598A (zh) | 一种信息推荐方法及装置 | |
CN104504006A (zh) | 对新闻客户端的数据采集及解析的方法及系统 | |
CN107665237A (zh) | 数据结构分类装置、非结构化数据的发布订阅系统及方法 | |
US9876841B2 (en) | Context-aware content delivery | |
CN110943876B (zh) | Url状态检测方法、装置、设备和系统 | |
US20150074234A1 (en) | Content system and method for chunk-based content delivery | |
CN104486347A (zh) | 一种推送多媒体的方法及装置 | |
CN106254548A (zh) | 一种下载流媒体数据的方法及装置 | |
CN105897842A (zh) | 不同客户端间的视频推送方法、系统及服务器 | |
CN110519656A (zh) | 自适应流媒体的播放方法、系统以及服务器 | |
CN104917754A (zh) | 一种视频数据发送及接收的方法、服务器和客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160217 |
|
RJ01 | Rejection of invention patent application after publication |