一种加密多媒体文件的播放方法与终端
技术领域
本发明涉及通信技术领域,尤其涉及一种加密多媒体文件的播放方法与终端。
背景技术
目前,大部分网站所提供的多媒体文件都是基于软件加密系统进行加密后的多媒体文件(如,视频、音频等),这样,当终端设备尝试播放这些加密多媒体文件时,通常会从网络获取所需播放的加密多媒体文件的网络链接信息,并从该网络链接信息对应的网页中解析出该加密多媒体文件对应的加密系统,然后,利用该终端设备中具备的与该加密多媒体文件对应的加密系统相匹配的解密系统,对该加密多媒体文件进行解密并播放。
但是,由于不同的多媒体网站具备不同的加密系统,而对于一个具体的终端设备而言,其具备的解密系统是固定的,并且不同的终端设备所具备的解密系统也不同,因此,当终端设备想要播放的加密多媒体文件对应的加密系统与该终端设备本身所具备的解密系统无法匹配时,终端设备将无法解密加密多媒体文件,从而无法播放加密多媒体文件。
发明内容
本发明的实施例提供一种加密多媒体文件的播放方法与终端,用以解决现有的终端设备在播放加密多媒体文件时,由于该加密多媒体文件对应的加密系统与该终端设备本身所具备的解密系统无法匹配,而导致的加密多媒体文件无法播放的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供的一种加密多媒体文件的播放方法,包括:
若第一终端具备的解密系统与第一待播放多媒体文件对应的加密系统不匹配时,则确定包含与所述第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端;
向所述第二终端发送第一解密请求,所述第一解密请求用于指示所述第二终端通过所述目标解密系统对所述第一待播放多媒体文件进行解密;
接收所述第二终端发送的所述第一待播放多媒体文件对应的第一解密数据,根据所述第一解密数据播放所述第一待播放多媒体文件。
第二方面,提供一种终端,包括:
确定模块,用于当第一终端具备的解密系统与第一待播放多媒体文件对应的加密系统不匹配时,确定包含与所述第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端;
发送模块,用于向所述第二终端发送第一解密请求,所述第一解密请求用于指示所述第二终端通过所述目标解密系统对所述第一待播放多媒体文件进行解密;
接收模块,用于接收所述确定模块确定出的所述第二终端发送的所述第一待播放多媒体文件对应的第一解密数据;
播放模块,用于根据所述接收模块接收到的所述第一解密数据播放所述第一待播放多媒体文件。
本发明实施例提供的加密多媒体文件的播放方法与终端,在第一终端具备的解密系统与第一待播放多媒体文件对应的加密系统不匹配时,第一终端能够确定包含与第一待播放多媒体文件对应的加密系统匹配的目标解密系统的第二终端,会向第二终端发送解密请求,第二终端对第一终端发送的解密请求进行解析,得到解密数据后发送至第一终端,第一终端收到解密数据并对第一待播放多媒体文件进行播放。由于第二终端能够对待播放多媒体文件进行解密,第一终端通过借助确定出的能够对待播放多媒体文件的进行解密的第二终端,接收第二终端发送解密数据,实现播放自身解密系统无法解密的待播放多媒体文件,从而解决了终端对与自身解密系统不匹配的加密系统所加密的多媒体文件的无法播放的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种加密多媒体文件的播放方法示意图;
图2为本发明实施例提供的另一种加密多媒体文件的播放方法示意图;
图3为本发明实施例提供的又一种加密多媒体文件的播放方法示意图;
图4为本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本申请中所涉及的部分术语进行解释,以方便读者理解:
“加密系统”,通常设置在多媒体网站对应服务器中,服务器通过该加密系统对多媒体文件数据进行加密处理,得到加密后的多媒体文件,从而加强了多媒体文件的安全性。
“解密系统”,通常设置在能够播放多媒体文件的终端设备中,与加密系统相匹配,是加密处理的反过程,能够使被加密系统进行改变的多媒体数据还原为原有数据的一种特殊算法。一般的,一个解密系统对应一个或多个解密系统,即通过某一加密系统进行加密后的加密多媒体文件可以通过一个或多个解密系统进行解密,这样该终端设备便可对解密后的多媒体文件进行播放。
“多媒体文件”,包括视频、音频、文本文档等多媒体文件。
本发明提供的方法执行主体为终端设备(简称:终端),该移动终端可以为手机、平板电脑、笔记本电脑、UMPC(Ultra-mobile Personal Computer,超级移动个人计算机)、上网本、PDA(Personal Digital Assistant,个人数字助理)等电子设备。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能或作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本发明实施例中,除非另有说明,“多个”的含义是指两个或两个以上。
需要说明的是,本发明实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
为了使本领域的技术人员更好的理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
本发明的实施例提供一种加密多媒体文件的播放方法,如图1所示,该方法具体包括如下步骤:
101、若第一终端具备的解密系统与第一待播放多媒体文件对应的加密系统不匹配时,则确定包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端。
示例性的,上述确定包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端共有两种实现方式:
在第一种实现方式中:
可选的,如图2所示,上述步骤101具体包括如下步骤:
101a1、获取第一终端以外的其他终端的设备参数,其他终端的设备参数包括其他终端具备的解密系统标识。
示例性的,第一终端可以实时的从网络中获取其他终端的设备参数,其中,上述的终端的设备参数包括但不限于:终端具备的解密系统标识、解密系统支持的多媒体格式、终端的IP(英文:Internet Protocol,中文:网络之间互连的协议)地址与终端具备的解密系统的工作状态。
其中,终端具备的解密系统标识用来表示解密系统;解密系统支持的多媒体格式可以为MP4、H264与DIVX等;终端的IP地址用来标识该终端;终端具备的解密系统工作状态包括运行状态与空闲状态。需要说明的是,当解密系统的工作状态为运行中,由于解密系统正在进行解密加密多媒体文件,此时,上述的设备参数还包括正在解密的加密多媒体文件的链接信息,如URL(英文:Uniform Resoure Locator,中文:统一资源定位符),以及加密多媒体文件的名称。
示例性的,上述的终端设备参数信息可以用一个字符串表示,其他终端以字符串的形式将自身设备参数共享至网络中,第一终端获取其他终端的设备参数并存储在自身存储器中。此外,第一终端也会将自身的设备参数共享至网络中。
101a2、第一终端根据第一待播放多媒体文件对应的加密系统标识以及其他终端具备的解密系统标识,从其他终端中确定出包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端。
进一步的,当上述获取到的其他终端的设备参数还包括该终端中包含的解密系统的工作状态时,步骤101a2具体包括如下步骤:
b1、根据第一待播放多媒体文件对应的加密系统标识以及其他终端具备的解密系统标识,从其他终端中确定出包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的目标终端。
b2、根据目标终端中包含的解密系统的工作状态,从目标终端中确定出第二终端,第二终端的目标解密系统处于空闲状态。
示例性的,由于网络中有大量的终端,因此,存在多个与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的目标终端,但是,只有终端当前需要进行解密的解密系统处于空闲状态时,该终端对应的解密系统才可执行解密操作。
示例性的,上述的表示终端设备参数的字符串可以表示为:“DecriptionStatistics:MachineAddress:DrmSystem:MimeType:WorkStatus:ProgramURI:ProgramName:”。
其中,上述字符串中“DecriptionStatistics”为固定内容,用以表示终端的设备参数,用以与其它字符串区分;
“MachineAddress”用于表示终端的IP地址;
“DrmSystem”用于表示终端解密系统标识,当存在多个解密系统标识时,解密系统标识以“|”分割,比如“PlayReady2.0”,“PlayReady2.0|WideVine|DTCP”等。
“MimeType”用于表示终端解密系统支持的多媒体文件格式,当终端的解密系统可以播放多种格式的多媒体文件时,以“|”分割,比如“MP4”,“MP4|H264|DIVX”等。
“WorkStatus”用于表示终端的解密系统的工作状态,当工作状态为运行状态用“ACTIVE(运行)”表示,空闲状态用“IDLE”(空闲)表示。
“ProgramURI”用于表示当终端解密系统处于运行状态时,为该终端正在解密的多媒体文件的URL,当终端解密系统处于空闲状态时,此字段为空,但仍需用分隔符“:”分隔。
“ProgramName”用于表示终端解密系统处于运行状态时,终端解密系统正在解密的多媒体文件的名称。
示例性的,由于终端解密系统的工作状态不同,因此上述表示终端设备参数的字符串可以用两种形式表示:
形式1(终端解密系统处于空闲状态):
DecriptionStatistics:103.13.90.21:WideVine|CLEARKEY:MP4|FLV|DIVX:IDIE:::
形式2(终端解密系统处于运行状态):
DecriptionStatistics:103.13.90.21:WideVine|CLEARKEY:MP4|FLV|DIVX:ACTIVE:
http://dash-mse-test.appspot.com/append-all.html?keysystem=clearkey:NBA_101
具体的,形式1表示的设备参数信息为:该终端的IP地址为103.13.90.21,具备的解密系统为WideVine与CLEARKEY(两种解密系统),并且这两种解密系统能够播放MP4、FLV与DIVX(多媒体文件的格式)格式的多媒体文件,同时,终端具备的解密系统处于空闲状态。形式2表示的设备参数信息为:该终端的IP地址为103.13.90.21,具备的解密系统为WideVine与CLEARKEY,并且这两种解密系统能够播放MP4、FLV与DIVX格式的多媒体文件,同时第一终端的工作状态处于运行状态,并且该第一终端的解密系统正在解密URL为:
http://dash-mse-test.appspot.com/append-all.html?keysystem=clearkey的待播放多媒体文件,并且该待播放多媒体文件的名称为NBA_101。
需要说明的是,上述的字符串表示,只是一种示例,对上述字符串的简单更改仍在本发明的保护范围之内。
在第二种实现方式中:
可选的,如图3所示,步骤101具体包括如下步骤:
101b1、第一终端根据第一待播放多媒体文件对应的加密系统标识以及其他终端具备的解密系统标识,从终端列表中,确定出包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端。
终端列表包括至少两个终端中设备参数,终端的设备参数至少包括所述终端具备的解密系统标识。
示例性的,上述的终端列表包括至少两个终端的设备参数,终端的设备参数至少包括所述终端具备的解密系统标识。
示例性的,终端列表中包含的终端的设备参数可以以字符串的形式存储在终终端列表中,并且该终端列表是实时更新的。
进一步的,当该终端列表中包含的终端的设备参数还包括:终端中包含的解密系统的工作状态,此时,第一终端可以在自身的终端列表中查询并确定出包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统,且该目标解密系统的工作状态处于空闲状态的第二终端。
102、第一终端向第二终端发送第一解密请求。
示例性的,上述的第一解密请求用于指示第二终端通过目标解密系统对第一待播放多媒体文件进行解密,上述的第一解密请求包括第一终端IP地址、第二终端IP地址、第一待播放多媒体文件的链接信息以及第一待播放多媒体文件的名称。
其中,IP地址用来标识第一终端和第二终端;多媒体文件的链接信息可以用多媒体文件的URL来表示,用来指示第二终端根据链接信息对第一待播放多媒体文件进行解密。
示例性的,上述的第一解密请求可以用一个字符串来表示,第一终端以字符串的形式发送表示的第一解密请求。
示例性的,上述的表示解密请求的字符串可以表示为:
“DecriptionRequest:TargetIP:SourceIP:ProgramURI:ProgramName”
其中,其中,“DecriptionRequest”为固定字符串,用于表示解密请求,以区别其它命令。
“TargetIP”:用于表示第一终端的IP地址。
“SourceIP”:用于表示第二终端的IP地址。
“ProgramURI”:用于表示第一待播放多媒体文件的URI。
“ProgramName”:用于表示第一待播放多媒体文件的名称。
例如,字符串:
DecriptionRequest:219.9.12.3:194.23.7.1:http://dash-mse-test.appspot.com/append-all.html?keysystem=clearkey:NBA_101
具体的,上述字符串表示:IP地址为219.9.12.3第一终端向IP地址为194.23.7.1的第二终端请求解密URL为http://dash-mse-test.appspot.com/append-all.html?keysystem=clearkey,名称为NBA_101的多媒体文件。
需要说明的是,上述的字符串表示,只是一种示例,对上述字符串的简单更改仍在本发明的保护范围之内。
示例性的,如图2所示,在步骤102之后,还包括如下步骤:
A1、第二终端接收第一终端发送的第一解密请求;
其中,第一解密请求包括第一待播放多媒体文件的链接信息;
A2、第二终端根据第一待播放多媒体文件的链接信息获取第一待播放多媒体文件;
A3、第二终端对第一待播放多媒体文件进行解密,得到第一待播放多媒体文件的第一解密数据;
示例性的,上述的第一解密数据为包括终端可以直接播放的待播放多媒体文件的数据。
A4、第二终端将第一待播放多媒体文件的解密数据发送至第一终端。
示例性的,第二终端可采用HTTP(英文:HyperText Transfer Protocol,中文:超文本传输协议)与RTSP(英文:Real Time Streaming Protocol,中文:实时流传输协议)等各种网络协议来发送该第一解密数据。
103、第一终端接收第二终端发送的第一待播放多媒体文件对应的第一解密数据,根据第一解密数据播放第一待播放多媒体文件。
本发明实施例提供的加密多媒体文件的播放方法,在第一终端具备的解密系统与第一待播放多媒体文件对应的加密系统不匹配时,第一终端能够确定包含与第一待播放多媒体文件对应的加密系统匹配的目标解密系统的第二终端,会向第二终端发送解密请求,第二终端对第一终端发送的解密请求进行解析,得到解密数据后发送至第一终端,第一终端收到解密数据并对第一待播放多媒体文件进行播放。由于第二终端能够对待播放多媒体文件进行解密,第一终端通过借助确定出的能够对待播放多媒体文件的进行解密的第二终端,接收第二终端发送解密数据,实现播放自身解密系统无法解密的待播放多媒体文件,从而解决了终端对与自身解密系统不匹配的加密系统所加密的多媒体文件的无法播放的问题。
可选的,当第一终端接收到其他终端发送的解密请求时,则表明该第一终端具备该其他终端当前无法解密的待播放多媒体文件对应的解密系统,即具备为其他终端当前无法解密的待播放多媒体文件进行解密的解密功能,能够对该待播放多媒体文件进行解密。
基于此,本方案还包括如下步骤:
B1、第一终端接收其他终端发送的第二解密请求,第二解密请求包括第二待播放多媒体文件的链接信息;
B2、第一终端根据第二待播放多媒体文件的链接信息获取第二待播放多媒体文件;
B3、第一终端对第二待播放多媒体文件进行解密,得到第二待播放多媒体文件的第二解密数据;
B4、第一终端将第二待播放多媒体文件的第二解密数据发送至其他终端。
由上可知,本方案中的第一终端在包含其他终端当前无法解密的待多媒体文件的解密系统时,便可作为这些终端的解密终端,对这些终端当前无法解密的待播放多媒体文件进行解密,即本方案中的第一终端不仅可以为其自身选择合适的终端来解密自身无法解密的多媒体文件,还可以为其他终端当前无法解密的待播放多媒体文件进行解密。
本发明提供一种终端,如图4所示的一种终端结构示意图,该终端包括:确定模块21、发送模块22、接收模块23、播放模块24,其中:
确定模块21,用于当第一终端具备的解密系统与第一待播放多媒体文件对应的加密系统不匹配时,确定包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端;
发送模块22,用于向确定模块21确定出的第二终端发送第一解密请求,第一解密请求用于指示第二终端通过所述目标解密系统对所述第一待播放多媒体文件进行解密;
接收模块23,用于接收确定模块21确定出的第二终端发送的第一待播放多媒体文件对应的第一解密数据;
播放模块24,用于根据接收模块23接收到第一解密数据播放第一待播放多媒体文件。
可选的,上述确定模块21具体用于:
获取第一终端以外的其他终端的设备参数,其他终端的设备参数包括其他终端具备的解密系统标识;
根据第一待播放多媒体文件对应的加密系统标识以及其他终端具备的解密系统标识,从其他终端中确定出包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端。
进一步的,上述确定模块21在根据第一待播放多媒体文件对应的加密系统标识以及其他终端具备的解密系统标识,从其他终端中确定出包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端时,具体用于:
根据第一待播放多媒体文件对应的加密系统标识以及其他终端具备的解密系统标识,从其他终端中确定出包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的目标终端;
根据目标终端中包含的解密系统的工作状态,从目标终端中确定出第二终端,第二终端的所述目标解密系统处于空闲状态。
可选的,上述确定模块21具体用于:
根据第一待播放媒体文件对应的加密系统标识以及其他终端具备的解密系统标识,从终端列表中,确定出包含与第一待播放多媒体文件对应的加密系统相匹配的目标解密系统的第二终端;终端列表包括至少两个终端中设备参数,终端的设备参数至少包括终端具备的解密系统标识。
可选的,上述的终端还包括:获取模块25和解密模块26、其中:
上述的接收模块23,还用于接收第一终端以外的其他终端发送的第二解密请求,第二解密请求第二待播放加密多媒体文件的链接信息;
获取模块25,用于根据接收模块23接收到解密请求中第二待播放多媒体文件的链接信息获取第二待播放多媒体文件;
解密模块26,用于对获取模块25获取到的第二待播放多媒体文件进行解密,得到第二待播放多媒体文件的第二解密数据;
上述的发送模块22,还用于将解密模块26解密出的第二待播放多媒体文件的第二解密数据发送至其他终端。
本发明实施例提供的加密多媒体文件的播放终端,在第一终端具备的解密系统与第一待播放多媒体文件对应的加密系统不匹配时,第一终端能够确定包含与第一待播放多媒体文件对应的加密系统匹配的目标解密系统的第二终端,会向第二终端发送解密请求,第二终端对第一终端发送的解密请求进行解析,得到解密数据后发送至第一终端,第一终端收到解密数据并对第一待播放多媒体文件进行播放。由于第二终端能够对待播放多媒体文件进行解密,第一终端通过借助确定出的能够对待播放多媒体文件的进行解密的第二终端,接收第二终端发送解密数据,实现播放自身解密系统无法解密的待播放多媒体文件,从而解决了终端对与自身解密系统不匹配的加密系统所加密的多媒体文件的无法播放的问题。
需要说明的是,在具体实现过程中,上述如图1、2和3所示的方法流程中第一终端与第二终端所执行的各步骤均可以通过硬件形式的处理器执行存储器中存储的软件形式的计算机执行指令实现,为避免重复,此处不再赘述。而上述第一终端与第二终端所执行的动作所对应的程序均可以以软件形式存储于该第一终端与第二终端的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上文中的存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD);还可以包括上述种类的存储器的组合。
上文所提供的装置中的处理器可以是一个处理器,也可以是多个处理元件的统称。例如,处理器可以为中央处理器(central processing unit,CPU;也可以为其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等;还可以为专用处理器,该专用处理器可以包括基带处理芯片、射频处理芯片等中的至少一个。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。