一种流媒体播放方法、终端设备及CDN服务器与流程

文档序号:11206329阅读:1282来源:国知局
一种流媒体播放方法、终端设备及CDN服务器与流程

本发明涉及通信技术领域,尤其涉及一种流媒体播放方法、终端设备及cdn服务器。



背景技术:

网路协议电视(英文:internetprotocoltelevision,简称:iptv)系统中,通常是在终端设备、电子节目指南(英文:electronicprogramguide,简称:epgserver)以及内容分发网络(英文:contentdeliverynetwork,简称:cdn)服务器之间进行信息交互,来实现流媒体的播放。

以hls(英文全称:httplivestreaming)协议为例,现有技术中该流媒体播放的流程如下:终端设备向epgserver发送流媒体的播放请求,epgserver返回终端设备带有防盗链信息的统一资源定位符(英文:uniformresourcelocator,简称:url),终端设备采用包含防盗链信息的url到cdn服务器中请求流媒体内容播放,cdn服务器对包含防盗链信息的url进行检查,检查通过后返回终端设备m3u8文件,终端设备解析该m3u8文件最终可以得到ts分片文件的播放地址,终端设备根据该ts分片文件的播放地址去请求cdn服务器,cdn服务器将ts分片文件返回至终端设备,这样就可以实现流媒体的播放。

然而,这样存在以下问题:如果一个合法终端设备在正常的流程之后,把获取的m3u8文件分享给其他终端设备,做二次运营,由于任何终端设备都可以从该m3u8文件中解析出ts分片文件的播放地址,然后在用该ts分片文件的播放地址去cdn服务器请求ts分片文件,盗取流媒体内容,导致给运营商造成巨大的经济损失。



技术实现要素:

本发明的实施例提供一种流媒体播放方法、终端设备及cdn服务器,解决了现有技术中在进行流媒体播放时,出现二次运营,给运营商带来经济损失的问题。

为达到上述目的,本发明的实施例采用如下技术方案:

本发明实施例的第一方面,提供一种流媒体播放方法,所述方法包括:

向epg服务器发送基于hls协议的第一请求消息;

接收epg服务器返回的包含统一资源定位符url的第一回复消息,向所述url中添加防盗链信息形成携带防盗链信息的url;

向cdn服务器发送携带防盗链信息的url的第二请求消息,所述第二请求消息中包括终端设备的标识;

接收cdn服务器返回的携带防盗链信息的m3u8文件的第二回复消息,解析所述携带防盗链信息的m3u8文件得到ts分片文件的播放地址;

向cdn服务器发送包含ts分片文件的播放地址的第三请求消息;

接收cdn服务器返回的ts分片文件。

优选的,所述第三请求消息中还包括防盗链信息。

进一步优选的,所述防盗链信息包括终端设备的ip地址和/或mac地址以及时间戳,所述防盗链信息是对所述终端设备的ip地址和/或mac地址以及时间戳采用加密算法生成的。

本发明实施例的第二方面,提供一种流媒体播放方法,所述方法包括:

接收终端设备发送的携带防盗链信息的统一资源定位符url的第一请求消息,第一请求消息中包括终端设备的标识;

向所述终端设备返回携带防盗链信息的m3u8文件的第一回复消息,所述m3u8文件用于解析出ts分片文件的播放地址;

接收终端设备发送的包含ts分片文件的播放地址的第二请求消息;

根据所述终端设备的标识向所述终端设备返回ts分片文件。

优选的,所述第二请求消息中还包括防盗链信息。

进一步优选的,所述防盗链信息中还包括时间戳,所述终端设备的标识包括终端设备的ip地址和/或mac地址,所述防盗链信息是对所述终端设备的ip地址和/或mac地址以及时间戳采用加密算法生成的。

本发明实施例的第三方面,提供一种终端设备,包括:

发送模块,用于向epg服务器发送基于hls协议的第一请求消息;

接收模块,用于接收epg服务器返回的包含统一资源定位符url的第一回复消息;

形成模块,用于向所述url中添加防盗链信息形成携带防盗链信息的url;

所述发送模块,还用于向cdn服务器发送携带防盗链信息的url的第二请求消息,所述第二请求消息中包括终端设备的标识;

所述接收模块,还用于接收cdn服务器返回的携带防盗链信息的m3u8文件的第二回复消息,解析所述携带防盗链信息的m3u8文件得到ts分片文件的播放地址;

所述发送模块,还用于向cdn服务器发送包含ts分片文件的播放地址的第三请求消息;

所述接收模块,还用于接收cdn服务器返回的ts分片文件。

优选的,所述第三请求消息中还包括防盗链信息。

本发明实施例的第四方面,提供一种cdn服务器,包括:

接收模块,用于接收终端设备发送的携带防盗链信息的统一资源定位符url的第一请求消息,第一请求消息中包括终端设备的标识;

发送模块,用于向所述终端设备返回携带防盗链信息的m3u8文件的第一回复消息,所述m3u8文件用于解析出ts分片文件的播放地址;

所述接收模块,还用于接收终端设备发送的包含ts分片文件的播放地址的第二请求消息;

所述发送模块,还用于根据所述终端设备的标识向所述终端设备返回ts分片文件。

优选的,所述第二请求消息中还包括防盗链信息。

本发明实施例提供一种流媒体播放方法、终端设备及cdn服务器,首先,终端设备向epg服务器发送基于hls协议的第一请求消息;其次,终端设备接收epg服务器返回的包含url的第一回复消息,向url中添加防盗链信息形成携带防盗链信息的url;第三,终端设备向cdn服务器发送携带防盗链信息的url的第二请求消息;第四,终端设备接收cdn服务器返回的携带防盗链信息的m3u8文件的第二回复消息,解析携带防盗链信息的m3u8文件得到ts分片文件的播放地址;第五,终端向cdn服务器发送包含ts分片文件的播放地址的第三请求消息;最后,终端设备接收cdn服务器返回的ts分片文件。

相比于现有技术,本方案中是通过终端设备向url中添加防盗链信息的形成携带防盗链信息的url,然后用该携带防盗链信息的url去请求cdn服务器,cdn服务器返回携带该防盗链信息的m3u8文件,由于m3u8文件中携带防盗链信息,在终端设备做二次运营时,即使将该携带防盗链信息的m3u8文件分享出去,其他终端设备由于无法打开该防盗链信息,从而无法从该携带防盗链信息的m3u8文件中解析出ts分片文件的播放地址,也无法向cdn服务器请求ts分片文件,从而避免二次运营,保障了运营商的利益不被损害。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种流媒体播放方法的方法流程图;

图2为本发明实施例提供的一种终端设备的结构示意图;

图3为本发明实施例提供的一种cdn服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能或作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本发明实施例提供一种流媒体播放方法,如图1所示,该方法包括:

101、终端设备向epg服务器发送基于hls协议的第一请求消息。

示例性的,该第一请求消息中包括终端设备的标识,进一步的还包括终端设备的临时身份证明,该临时证明是tv业务平台为用户分配的。

其中,该终端设备的标识包括但不限于:终端设备的ip(英文全称:internetprotocol)地址、mac(英文全称:mediaaccesscontrol或mediumaccesscontrol)地址、编号以及终端设备上的用户登录的业务帐号。

其中,上述的hls(英文全称:httplivestreaming)协议在进行流媒体播放时是通过大量的小切片的方式体现的,即将一个流媒体(例如视频)分成多个片段以索引的方式存储在m3u8文件中,终端设备需要解析该m3u8文件,得到ts分片文件的播放地址,然后才能去请求播放视频。

102、终端设备接收epg服务器返回的包含url的第一回复消息。

示例性的,该统一资源定位符(英文:uniformresourcelocator,简称:url)为:http://host/cmsid/physicalcontentid?可以得知,在该url字段中并未出现防盗链字段,epg服务器仅仅返回给终端设备的是一个普通的url。

需要说明的是,常用的流媒体协议主要有http协议和基于rtsp/rtp的实时流媒体协议,而上述的hls协议是http协议的代表之一,仍然是基于http协议的格式进行流媒体的直播和点播等。因此,上述所列举的url的示例中仍采用的http的格式。通常优酷或爱奇艺等都采用hls协议进行流媒体播放。

103、终端设备向url中添加防盗链信息形成携带防盗链信息的url。

示例性的,上述的防盗链信息包括终端设备的ip地址和/或mac地址以及时间戳,防盗链信息是对终端设备的ip地址和/或mac地址以及时间戳采用加密算法生成的。该加密算法中所采用的密钥对于不同的终端设备来说是不相同的,即每个终端设备都有一个唯一的密钥。当有多个终端时,这里各自的终端所形成防盗链的信息是不同的,所采取的加密算法最终的密钥也是不同的,而各自的终端与cdn服务器间所采用的密钥和加密算法是相同的。而这里的加密算法可以是md5、sha1或3des等。

示例性的,上述的步骤103中的url可以为:http://host/cmsid/physicalcontentid?authinfo=authinfovalue&domain=domainvalue&parameter1=value1&parameter2=value2……。其中:authinfo代表的是防盗链信息。

104、终端设备向cdn服务器发送携带防盗链信息的url的第二请求消息。

其中,第二请求消息中包括终端设备的标识。

105、终端设备接收cdn服务器返回的携带防盗链信息的m3u8文件的第二回复消息。

可选的,在步骤105之前还包括:cdn服务器需要检查终端设备上的用户的合法性,若该用户是合法用户cdn服务器才会向终端设备返回携带防盗链信息的m3u8文件的。这样可以避免其他非法用户去进行流媒体播放,而影响运营商的利益。

示例性的,步骤105中的防盗链信息和上述的防盗链信息中的内容以及形成是相同的,这里就不在赘述。不同的是,该防盗链信息是cdn服务器所加的,所采取的加密算法中的密钥与终端设备的是相同的。

示例性的,上述的m3u8文件中包括ts分片文件的播放地址。

106、终端设备解析携带防盗链信息的m3u8文件得到ts分片文件的播放地址。

示例性的,终端设备需要通过加密算法以及终端设备的密钥去打开该防盗链信息,在成功打开防盗链信息后才去从m3u8文件获得ts分片文件的播放地址。由于终端设备的密钥与cdn服务器的密钥是相同的,因此该终端设备是可以准确获取从m3u8文件获得ts分片文件的播放地址的。而终端设备的密钥和cdn服务器的密钥是预先进行协商好的,具体的可以是在出厂前就固定设置的。

示例性的,若有两个终端设备,分别为终端设备a和终端设备b,且若终端设备a的密钥为1,而终端设备b的密钥为2,则在上述的cdn服务器会不同的终端设备来选择该终端设备的密钥去解密或去形成防盗链信息。例如,若是终端设备a执行上述的步骤104,则上述的步骤105中的防盗链信息是cdn服务器选用终端设备a的密钥1采用加密算法所形成的。

107、终端设备向cdn服务器发送包含ts分片文件的播放地址的第三请求消息。

可选的,为了避免其他非法的用户得到ts分片文件,上述的步骤106的第三请求消息中还包括防盗链信息。

108、终端设备接收cdn服务器返回的ts分片文件。

可选的,基于上述的步骤106的第三请求消息中还包括防盗链信息在步骤108之前,该方法还包括:cdn服务器对终端设备再次进行验证,验证该终端设备的合法性,验证通过后才返回给终端设备ts分片文件。以防止非法用户去通过窃取ts分片文件的播放地址来请求ts分片文件,从而达到播放流媒体的目的,造成运营商的利益受损的问题。

可选的,在步骤108之后还包括:终端设备去播放ts分片文件。具体的,终端设备通过播放器去播放该ts分片文件,从而用户在该终端设备上就可以看到流媒体了。该流媒体可以是音频或视频等。

相比于现有技术,本方案中是通过终端设备向url中添加防盗链信息的形成携带防盗链信息的url,然后用该携带防盗链信息的url去请求cdn服务器,cdn服务器返回携带该防盗链信息的m3u8文件,由于m3u8文件中携带防盗链信息,在终端设备做二次运营时,即使将该携带防盗链信息的m3u8文件分享出去,其他终端设备由于无法打开该防盗链信息,从而无法从该携带防盗链信息的m3u8文件中解析出ts分片文件的播放地址,也无法向cdn服务器请求ts分片文件,从而避免二次运营,保障了运营商的利益不被损害。

下面将基于图1对应的流媒体播放方法的实施例中的相关描述对本发明实施例提供的一种终端设备进行介绍。以下实施例中与上述实施例相关的技术术语、概念等的说明可以参照上述的实施例,这里不再赘述。

本发明实施例提供一种终端设备,如图2所示,该终端设备2包括:发送模块21、接收模块22以及形成模块23,其中:

发送模块21,用于向epg服务器发送基于hls协议的第一请求消息。

接收模块22,用于接收epg服务器返回的包含url的第一回复消息。

形成模块23,用于向url中添加防盗链信息形成携带防盗链信息的url。

发送模块21,还用于向cdn服务器发送携带防盗链信息的url的第二请求消息。

接收模块22,还用于接收cdn服务器返回的携带防盗链信息的m3u8文件的第二回复消息,解析携带防盗链信息的m3u8文件得到ts分片文件的播放地址。

发送模块21,还用于向cdn服务器发送包含ts分片文件的播放地址的第三请求消息。

接收模块22,还用于接收cdn服务器返回的ts分片文件。

可选的,为了避免其他非法的用户得到ts分片文件,上述的第三请求消息中还包括防盗链信息。

示例性的,防盗链信息包括终端设备的ip地址和/或mac地址以及时间戳,防盗链信息是对终端设备的ip地址和/或mac地址以及时间戳采用加密算法生成的。该加密算法中所采用的密钥对于不同的终端设备来说是不相同的,即每个终端设备都有一个唯一的密钥。当有多个终端时,这里各自的终端所形成防盗链的信息是不同的,所采取的加密算法最终的密钥也是不同的,而各自的终端与cdn服务器间所采用的密钥和加密算法是相同的。而这里的加密算法可以是md5、sha1或3des等。

相比于现有技术,本方案中是通过终端设备向url中添加防盗链信息的形成携带防盗链信息的url,然后用该携带防盗链信息的url去请求cdn服务器,cdn服务器返回携带该防盗链信息的m3u8文件,由于m3u8文件中携带防盗链信息,在终端设备做二次运营时,即使将该携带防盗链信息的m3u8文件分享出去,其他终端设备由于无法打开该防盗链信息,从而无法从该携带防盗链信息的m3u8文件中解析出ts分片文件的播放地址,也无法向cdn服务器请求ts分片文件,从而避免二次运营,保障了运营商的利益不被损害。

下面将基于图1对应的流媒体播放方法的实施例中的相关描述对本发明实施例提供的一种cdn服务器进行介绍。以下实施例中与上述实施例相关的技术术语、概念等的说明可以参照上述的实施例,这里不再赘述。

本发明实施例提供一种cdn服务器,如图3所示,该cdn服务器3包括:接收模块31以及发送模块32,其中:

接收模块31,用于接收终端设备发送的携带防盗链信息的url的第一请求消息,第一请求消息中包括终端设备的标识。

发送模块32,用于向终端设备返回携带防盗链信息的m3u8文件的第一回复消息,m3u8文件用于解析出ts分片文件的播放地址。

接收模块31,还用于接收终端设备发送的包含ts分片文件的播放地址的第二请求消息。

发送模块32,还用于根据终端设备的标识向终端设备返回ts分片文件。

可选的,为了避免其他非法的用户得到ts分片文件,上述的第二请求消息中还包括防盗链信息。

示例性的,上述的防盗链信息包括终端设备的ip地址和/或mac地址以及时间戳,防盗链信息是对终端设备的ip地址和/或mac地址以及时间戳采用加密算法生成的。该加密算法中所采用的密钥对于不同的终端设备来说是不相同的,即每个终端设备都有一个唯一的密钥。当有多个终端时,这里各自的终端所形成防盗链的信息是不同的,所采取的加密算法最终的密钥也是不同的,而各自的终端与cdn服务器间所采用的密钥和加密算法是相同的。而这里的加密算法可以是md5、sha1或3des等。

可选的,该cdn服务器3还包括:验证模块33,用于对终端设备上的用户进行合法性验证,若该用户是合法用户cdn服务器才会向终端设备返回携带防盗链信息的m3u8文件的。这样可以避免其他非法用户去进行流媒体播放,而影响运营商的利益。

可选的,上述的验证模块33还用于需要对用户再次进行合法性验证,验证成功后,才返回给终端设备ts分片文件。以防止非法用户去通过窃取ts分片文件的播放地址来请求ts分片文件,从而达到播放流媒体的目的,造成运营商的利益受损的问题。

相比于现有技术,本方案中是通过终端设备向url中添加防盗链信息的形成携带防盗链信息的url,然后用该携带防盗链信息的url去请求cdn服务器,cdn服务器返回携带该防盗链信息的m3u8文件,由于m3u8文件中携带防盗链信息,在终端设备做二次运营时,即使将该携带防盗链信息的m3u8文件分享出去,其他终端设备由于无法打开该防盗链信息,从而无法从该携带防盗链信息的m3u8文件中解析出ts分片文件的播放地址,也无法向cdn服务器请求ts分片文件,从而避免二次运营,保障了运营商的利益不被损害。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端设备、cdn服务器,可以通过其它的方式实现。例如,以上所描述的终端设备的实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1