一种播放视频的方法、系统及CDN节点、客户端与流程

文档序号:15456092发布日期:2018-09-15 01:07阅读:258来源:国知局
本发明涉及视频播放
技术领域
,特别涉及一种播放视频的方法、系统及CDN节点、客户端。
背景技术
:DRM(DigitalRightsManagement,数字版权保护)是一种用于管理被保护对象(例如软件、文档、音频和视频等)的使用权的技术。视频提供商可以采用DRM技术对视频进行加密,得到DRM文件。客户端获取到DRM文件后,只有依靠视频提供商提供的密钥,才可以对DRM文件进行解密播放。视频提供商的源站服务器在接收到客户端对某一视频的播放请求时,源站服务器可以将该视频的DRM文件及对应的密钥分别发送给客户端。这样,客户端在接收到上述DRM文件和密钥后,可以利用密钥对该DRM文件进行解密,得到该视频的视频数据,并对其进行播放。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:源站服务器通过网络将DRM文件及其密钥发送给客户端时,DRM文件的密钥很容易被第三方进行截获,使得DRM文件很容易被非法破解,导致DRM文件的安全性较差。技术实现要素:为了解决现有技术的问题,本发明实施例提供了一种播放视频的方法、系统及CDN节点、客户端。所述技术方案如下:第一方面,提供了一种播放视频的方法,所述方法包括:当接收到源站服务器发送的目标视频的DRM文件和密钥生成信息时,目标CDN节点确定请求目标视频的目标客户端,其中,所述目标视频的DRM文件由所述源站服务器根据所述密钥生成信息和预设密钥生成方式生成密钥,并基于所述密钥对所述目标视频的视频数据进行加密得到;所述目标CDN节点向所述目标客户端发送所述目标视频的DRM文件和所述密钥生成信息,以使所述目标客户端根据所述密钥生成信息和预设密钥生成方式生成密钥,并基于所述密钥对所述目标视频的DRM文件进行解密、播放。第二方面,提供了一种播放视频的方法,所述方法包括:当接收到目标CDN节点发送的目标视频的DRM文件和密钥生成信息时,目标客户端根据所述密钥生成信息和预设密钥生成方式生成目标视频的密钥;所述目标客户端基于所述目标视频的密钥对所述目标视频的DRM文件进行解密,并对解密得到的视频数据进行播放。第三方面,提供了一种CDN节点,所述CDN节点包括:确定模块,用于当接收到源站服务器发送的目标视频的DRM文件和密钥生成信息时,确定请求所述目标视频的目标客户端,其中,所述目标视频的DRM文件由所述源站服务器根据所述密钥生成信息和预设密钥生成方式生成密钥,并基于所述密钥对所述目标视频的视频数据进行加密得到;第二发送模块,用于向所述目标客户端发送所述目标视频的DRM文件和所述密钥生成信息,以使所述目标客户端根据所述密钥生成信息和预设密钥生成方式生成密钥,并基于所述密钥对所述目标视频的DRM文件进行解密、播放。第四方面,提供了一种客户端,所述客户端包括:第三密钥生成模块,用于当接收到目标CDN节点发送的目标视频的DRM文件和密钥生成信息时,根据所述密钥生成信息和预设密钥生成方式生成目标视频的密钥;第三加解密模块,用于基于所述目标视频的密钥对所述目标视频的DRM文件进行解密;播放模块,用于对解密得到的视频数据进行播放。第五方面,提供了一种播放视频的系统,所述系统包括源站服务器、上述第三方面提供的CDN节点和上述第四方面提供的客户端。本发明实施例提供的技术方案带来的有益效果是:本发明实施例中,源站服务器、CDN节点和客户端可以基于相同的密钥生成信息和预设密钥生成方式,各自独立生成DRM文件的密钥。这样,当客户端请求视频的DRM文件时,可以无需通过网络传输获取密钥,从而可以避免密钥被第三方截获,提高DRM文件的安全性。同时,由于DRM文件的密钥生成基于视频的视频标识和客户端的客户端标识,这样,即使不同用户获取到同一视频的DRM文件,其密钥也各不相同,从而可以进一步提高DRM文件的安全性。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种播放视频的系统结构示意图;图2是本发明实施例提供的一种播放视频的方法流程图;图3是本发明实施例提供的一种密钥生成流程图;图4是本发明实施例提供的一种密钥生成流程图;图5是本发明实施例提供的一种播放视频的方法流程图;图6是本发明实施例提供的一种源站服务器的结构示意图;图7是本发明实施例提供的一种CDN节点的结构示意图;图8是本发明实施例提供的一种客户端的结构示意图;图9是本发明实施例提供的一种源站服务器的结构示意图;图10是本发明实施例提供的一种CDN节点的结构示意图;图11是本发明实施例提供的一种客户端的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明实施例提供了一种播放视频的方法,该方法可以由源站服务器、CDN(ContentDeliveryNetwork,内容分发网络)节点以及客户端共同实现。源站服务器可以是视频提供商部署的服务器,其可以存储有多个视频的视频数据,同时,源站服务器可以具有视频加密功能,可以将视频加密成DRM文件。CDN节点可以是CDN系统中的CDN节点服务器,其可以作为客户端和源站服务器之间的转发设备,同时,CDN节点可以具备视频加解密功能,其可以将视频加密成DRM文件,也可以对DRM文件进行解密。客户端可以是用户的视频播放终端,例如智能手机、平板电脑,其可以对视频的DRM文件进行解密,并进行播放。具体的系统框架可以参照图1所示。上述源站服务器、CDN节点和客户端中均可以包括处理器、存储器、收发器,处理器可以用于进行播放视频的处理,存储器可以用于存储处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送处理过程中的相关数据。下面将结合具体实施方式,对图2所示的一种播放视频的方法的处理流程进行详细的说明,内容可以如下:步骤201:当接收到目标CDN节点发送的目标客户端对于目标视频的播放请求时,源站服务器获取目标视频的密钥生成信息,并根据密钥生成信息和预设密钥生成方式生成目标视频的密钥。在实施中,用户想要观看某视频(可称为目标视频)时,可以从视频提供商处获取该目标视频,然后用户可以在视频播放终端(可称为目标客户端)运行视频提供商的视频播放软件,进而可以通过视频播放软件查找该目标视频并点击播放按钮。这时,目标客户端可以基于用户的点击操作将对目标视频的播放请求发送给服务目标客户端的CDN节点服务器(可称为目标CDN节点)。之后,目标CDN节点可以将该播放请求转发给源站服务器。这样,当接收到目标CDN节点发送的目标客户端对于目标视频的播放请求时,源站服务器可以基于播放请求获取到目标视频的密钥生成信息,例如,上述播放请求中可以携带有一部分与密钥相关的生成信息,源站服务器可以基于这一部分的生成信息,在本地数据库中查找该目标视频完整的密钥生成信息。之后,源站服务器可以按照预设密钥生成方式,对获取到的密钥生成信息进行处理,生成目标视频的密钥。可选的,源站服务器可以按照预设密钥生成方式对目标视频的视频标识和目标客户端的客户端标识进行处理,生成目标视频的密钥,相应的,步骤201的部分处理可以如下:源站服务器基于预设的消息摘要算法,结合预存字符串、视频标识和客户端标识生成目标字符串;源站服务器将目标字符串中多个预设位置的字符确定为目标视频的密钥。在实施中,源站服务器可以从密钥生成信息中获取目标视频的视频标识和目标客户端的客户端标识,其中,视频标识可以是某视频的标识信息,例如“videoid”,客户端标识可以是用户的登录名,例如“userid”,预存字符串可以是视频提供商自定义的一个字符串,例如“abcabc”。预设密钥生成方式可以由预设的消息摘要算法和自定义规则组成。预设的消息摘要算法可以是MD5(MessageDigest5,消息摘要算法第五版)算法,该算法可以将一段信息转换为一个唯一的MD5值。自定义规则可以是按照一定的顺序依次对目标视频的视频标识和目标客户端的客户端标识进行MD5处理,并在处理过程中添加预存在源站服务器的字符串,最终可以生成一个与目标视频的视频标识和目标客户端的客户端标识唯一对应的目标字符串。这样,在生成上述目标字符串后,源站服务器可以将上述目标字符串中预设位置的多个字符按顺序进行提取,以作为目标视频的密钥。下面给出一种具体的预设密钥生成方式,如图3所示。以视频标识“videoid”、客户端标识“userid”、预存字符串“abcabc”为例,首先,对视频标识“videoid”进行MD5处理并将处理结果中的英文字母转换为大写字母,可以得到一个32位的字符串,将其标记为result_1;之后,在result_1结尾处依次添加设定字符,例如“*”,以及客户端标识“userid6”,可以得到一个字符串,将其标记为new_str1;之后,对new_str1进行MD5处理并将处理结果中的英文字母转换为大写字母,可以再次得到一个32位的字符串,将其标记为result_2;之后,在result_2结尾处依次添加设定字符,例如“*”,以及预存字符串“abcabc”,可以得到一个字符串,将其标记为new_str2;之后,对new_str2进行MD5处理并将处理结果中的英文字母转换为大写字母,可以再次得到一个32位的字符串,将其标记为result_3,即目标字符串,这里假设为“ABCDEFGHIGK”;之后,源站服务器可以将目标字符串“ABCDEFGHIGK”中多个预设位置的字符按顺序进行提取,以作为目标视频的密钥,例如取前八位字符,则目标视频的密钥可以是“ABCDEFGH”。可选的,如果视频文件包括多个视频块,则可以对每一个视频块设置单独的密钥,相应的,步骤201的部分处理可以如下:源站服务器基于预设的消息摘要算法,结合预存字符串、视频标识和客户端标识生成目标字符串;源站服务器基于预设的消息摘要算法,结合目标字符串和每个块标识生成多个目标块字符串;源站服务器将每个目标块字符串中多个预设位置的字符作为每个视频块的块密钥,并将所有的块密钥确定为目标视频的密钥。在实施中,视频文件的视频数据可以以数据块的形式存在,为了进一步提高视频数据的安全性,可以为每一个数据块生成独立的密钥。源站服务器可以从密钥生成信息中获取目标视频的视频标识、目标客户端的客户端标识以及目标视频的多个视频块的块标识,其中,视频标识可以是某视频的文件名称,例如“videoid”,客户端标识可以是用户的登录名,例如“userid”,预存字符串可以是视频提供商自定义的一个字符串,例如“abcabc”,视频块的块标识可以是视频块名称,例如“videoid_1或videoid_2”。预设密钥生成方式可以由预设的消息摘要算法和自定义规则组成。预设的消息摘要算法可以是MD5算法。自定义规则可以是按照一定的顺序依次对目标视频的视频标识、目标客户端的客户端标识和目标视频的多个视频块的块标识进行MD5处理,并在处理过程中添加预存在源站服务器的字符串,最终可以生成多个目标块字符串,每个目标块字符串与相应的视频块唯一对应。这样,在生成上述多个目标块字符串后,源站服务器可以将每个目标块字符串中多个预设位置的字符按顺序进行提取,以作为该视频块的密钥。当所有的视频块的密钥均生成之后,源站服务器可以将所有的块密钥作为上述目标视频的密钥。下面给出一种具体的预设密钥生成方式,如图4所示。以视频标识“videoid”、客户端标识“userid”、预存字符串“abcabc”、目标视频的第一视频块的块标识“videoid_1”为例,首先,对“videoid”进行MD5处理并将处理结果中的英文字母转换为大写字母,可以得到一个32位的字符串,将其标记为result_1;之后,在result_1结尾处依次添加设定字符,例如“*”,以及客户端标识“userid6”,可以得到一个字符串,将其标记为new_str1;之后,对new_str1进行MD5处理并将处理结果中的英文字母转换为大写字母,可以再次得到一个32位的字符串,将其标记为result_2;之后,在result_2结尾处依次添加设定字符,例如“*”,以及预存字符串“abcabc”,可以得到一个字符串,将其标记为new_str2;之后,对new_str2进行MD5处理并将处理结果中的英文字母转换为大写字母,可以再次得到一个32位的字符串,将其标记为result_3,即目标字符串。之后,在result_3结尾处依次添加设定字符,例如“*”,以及块标识“videoid_1”,可以得到一个字符串,将其标记为new_str2_1;之后,对new_str2_1进行MD5处理并将处理结果中的英文字母转换为大写字母,可以得到一个32位的字符串,将其标记为result_3_1,即目标块字符串,这里假设为“AAABBBCCCDDD”,源站服务器可以将“AAABBBCCCDDD”预设位置的字符按顺序进行提取,以作为第一视频块的密钥,例如取前八位字符,则目标视频的密钥可以是“AAABBBCC”。需要说明的是,其它视频块的密钥的生成方式同第一视频块类似,在此不再赘述。步骤202:源站服务器基于目标视频的密钥对目标视频的视频数据进行加密,生成目标视频的DRM文件。在实施中,源站服务器可以存储有目标视频的视频数据。在生成目标视频的密钥之后,源站服务器可以基于目标视频的密钥对目标视频的视频数据进行加密,得到目标视频的DRM文件。具体的,目标视频的DRM文件可以由三部分组成:DRMheader,DRMbody和DRMtail,其中,DRMheader部分可以包含目标视频的视频数据量、数据校验等信息;DRMbody部分可以是经过加密的视频数据,其从起始到指定长度范围内的数据是加密的;DRMtail部分可以是标记加密的视频数据结束的唯一标识。可选的,可以选取不同的加密算法对目标视频的视频数据进行加密,相应的,步骤202的处理可以如下:源站服务器确定算法标识对应的加密算法,并根据确定的加密算法,结合目标视频的密钥对目标视频的视频数据进行加密。在实施中,为了提高DRM文件的安全性,源站服务器可以采用不同的加密算法对目标视频的视频数据加密,如DES(DataEncryptinStandard,对称加密标准)算法、AES(AdvancedEncryptinStandard,高级加密标准)算法等加密算法,并预先将加密算法与算法标识进行关联。这样,源站服务器在获取到密钥生成信息后,可以从密钥生成信息中获取算法标识,然后基于算法标识,确定该算法标识对应的加密算法,进而可以结合目标视频的密钥,对目标视频的视频数据进行加密。具体的,不同算法标识对应的加密算法可以参考表一,其中,算法标识001可以对应于加密算法A,算法标识002可以对应于加密算法B,算法标识003可以对应于加密算法C,算法标识004可以对应于加密算法D。表一算法标识加密算法001加密算法A002加密算法B003加密算法C004加密算法D步骤203:源站服务器向目标CDN节点发送目标视频的DRM文件和密钥生成信息。在实施中,源站服务器在生成目标视频的DRM文件之后,可以将目标视频的DRM文件发送给目标CDN节点,同时,源站服务器可以将密钥生成信息一并发送给目标CDN节点。具体的,源站服务器可以将密钥生成信息添加在目标视频的DRM文件的文件头中,例如上述DRM文件的DRMheader部分。这样,源站服务器可以将携带有密钥生成信息的目标视频的DRM文件发送给目标CDN节点。步骤204:当接收到源站服务器发送的目标视频的DRM文件和密钥生成信息时,目标CDN节点确定请求目标视频的目标客户端,并向目标客户端发送目标视频的DRM文件和密钥生成信息。在实施中,目标CDN节点在接收到源站服务器发送的目标视频的DRM文件和密钥生成信息后,可以确定请求目标视频的目标客户端。之后,目标CDN节点可以将从源站服务器获取的目标视频对应的DRM文件和密钥生成信息发送给目标客户端。例如,目标CDN节点可以以透传的方式,将目标视频的DRM文件和密钥生成信息发送给目标客户端。步骤205:当接收到目标CDN节点发送的目标视频的DRM文件和密钥生成信息时,目标客户端根据密钥生成信息和预设密钥生成方式生成目标视频的密钥。在实施中,目标客户端在接收到目标CDN节点发送的目标视频的DRM文件和密钥生成信息后,可以按照预设密钥生成方式,对密钥生成信息进行处理,生成目标视频的密钥。需要说明的是,目标客户端采用的预设密钥生成方式和源站服务器采用的是同一密钥生成方式,这样,目标客户端和源站服务器可以基于相同的预设密钥生成方式对相同的密钥生成信息进行处理,从而可以生成相同的目标视频的密钥,使得目标客户端可以利用自身生成的目标视频的密钥对经过源站服务器加密的DRM文件进行解密。这样,可以有效防止DRM文件的密钥被第三方截获,提高了DRM文件的安全性。可选的,目标客户端生成目标视频的密钥的相应处理可以如下:目标客户端基于预设的消息摘要算法,结合预存字符串、视频标识和客户端标识生成目标字符串;目标客户端将目标字符串中多个预设位置的字符确定为目标视频的密钥。具体处理可参考上述源站服务器生成目标视频的密钥的过程。可选的,如果密钥生成信息中包括目标视频的多个视频块的块标识,则目标客户端可以确定目标视频的密钥以多个块密钥的形式存在,进而目标客户端生成目标视频的密钥的处理可以如下:目标客户端基于预设的消息摘要算法,结合预存字符串、视频标识和客户端标识生成目标字符串;目标客户端基于预设的消息摘要算法,结合目标字符串和每个块标识生成多个目标块字符串;目标客户端将每个目标块字符串中多个预设位置的字符作为每个视频块的块密钥,并将所有的块密钥确定为目标视频的密钥。具体处理可参考上述源站服务器生成目标视频的视频块的块密钥的过程。步骤206:目标客户端基于目标视频的密钥对目标视频的DRM文件进行解密,并对解密得到的视频数据进行播放。在实施中,目标客户端在生成目标视频的密钥后,可以利用目标视频的密钥对接收的目标视频的DRM文件进行解密,进而可以得到目标视频的视频数据,之后,目标客户端可以对目标视频的视频数据进行播放。可选的,目标客户端可以根据密钥生成信息中的算法标识,确定解密算法,相应的处理可以如下:目标客户端确定算法标识对应的解密算法,并根据确定的解密算法,结合目标视频的密钥对目标视频的DRM文件进行解密。在实施中,同一算法标识可以对应有加密算法,以及该加密算法对应的解密算法。这样,目标客户端可以基于密钥生成信息中的算法标识,确定该算法标识对应的解密算法,进而可以结合目标视频的密钥,利用确定的解密算法,对目标视频的视频数据进行解密。具体的,不同算法标识对应的解密算法可以参考表二,其中,算法标识001可以对应于解密算法A,算法标识002可以对应于解密算法B,算法标识003可以对应于解密算法C,算法标识004可以对应于解密算法D。表二算法标识解密算法001解密算法A002解密算法B003解密算法C004解密算法D可选的,在播放目标视频的DRM文件过程中,用户可以通过拖拽播放进度条的方式从指定播放进度播放目标视频,进而可以触发如图5所示的处理:步骤501:当接收到用户输入的目标播放进度时,目标客户端向目标CDN节点发送携带有目标播放进度的播放请求。在实施中,用户可以在目标客户端的播放界面选择播放进度,例如拖动视频播放进度条,这时,目标客户端可以根据接收到的目标播放进度,向目标CDN节点发送携带有目标播放进度的播放请求,请求目标播放进度之后的视频数据。步骤502:当接收到目标客户端发送的携带有目标播放进度的对于目标视频的播放请求时,目标CDN节点根据密钥生成信息和预设密钥生成方式生成目标视频的密钥。在实施中,目标CDN节点在将从源站服务器获取的目标视频的DRM文件和密钥生成信息发送给目标客户端的过程中,如果接收到目标客户端发送的携带有目标播放进度的对于目标视频的播放请求,目标CDN节点则可以根据密钥生成信息和预设密钥生成方式生成目标视频的密钥。可选的,目标CDN节点生成目标视频的密钥的处理可以如下:目标CDN节点基于预设的消息摘要算法,结合预存字符串、视频标识和客户端标识生成目标字符串;目标CDN节点将目标字符串中多个预设位置的字符确定为目标视频的密钥。具体处理可参考上述源站服务器生成目标视频的密钥的过程。可选的,如果密钥生成信息中包括目标视频的多个视频块的块标识,则目标CDN节点可以确定目标视频的密钥以多个块密钥的形式存在,进而目标CDN节点生成目标视频的密钥的处理可以如下:目标CDN节点基于预设的消息摘要算法,结合预存字符串、视频标识和客户端标识生成目标字符串;目标CDN节点基于预设的消息摘要算法,结合目标字符串和每个块标识生成多个目标块字符串;目标CDN节点将每个目标块字符串中多个预设位置的字符作为每个视频块的块密钥,并将所有的块密钥确定为目标视频的密钥。具体处理可参考上述源站服务器生成目标视频的视频块的块密钥的过程。步骤503:目标CDN节点基于目标视频的密钥对目标视频的DRM文件进行解密。在实施中,由于目标CDN节点无法直接对加密的DRM文件进行拖拽处理,因此,目标CDN节点在生成目标视频的密钥后,可以基于目标视频的密钥对目标视频的DRM文件进行解密。可选的,目标CDN节点可以根据密钥生成信息中的算法标识,确定解密算法,相应的处理可以如下:目标CDN节点确定算法标识对应的解密算法,并根据确定的解密算法,结合目标视频的密钥对目标视频的DRM文件进行解密。在实施中,同一算法标识可以对应有加密算法,以及该加密算法对应的解密算法。这样,目标CDN节点可以基于密钥生成信息中的算法标识,确定该算法标识对应的解密算法,进而可以结合目标视频的密钥,利用确定的解密算法,对目标视频的视频数据进行解密。步骤504:目标CDN节点将解密得到的目标播放进度之后的视频数据进行加密,并将加密得到的目标视频的DRM文件重新发送给目标客户端。在实施中,目标CDN节点可以根据目标播放进度对解密得到的视频数据进行切割处理,将目标播放进度之前的播放数据进行删除,保留目标播放进度之后的视频数据。之后,目标CDN节点可以根据目标视频的密钥对目标播放进度之后的视频数据进行加密,将加密得到的目标视频的DRM文件重新发送给目标客户端。对于密钥生成信息中存在算法标识的情况,目标CDN节点在对目标播放进度之后的视频数据进行加密时,可以基于密钥生成信息中的算法标识,确定该算法标识对应的加密算法,之后,目标CDN节点可以结合目标视频的密钥,利用确定的加密算法,对目标视频的视频数据进行加密。步骤505:当接收到目标CDN节点重新发送的目标视频的DRM文件时,目标客户端基于目标视频的密钥对重新发送的目标视频的DRM文件进行解密,并对解密得到的视频数据进行播放。在实施中,目标客户端在接收到目标CDN节点重新发送的目标视频的DRM文件后,可以基于之前生成的目标视频的密钥,对该DRM文件进行解密,进而可以得到请求的目标播放进度之后的视频数据,之后,目标客户端可以按照目标播放进度继续对目标视频进行播放。本发明实施例中,源站服务器、CDN节点和客户端可以基于相同的密钥生成信息和预设密钥生成方式,各自独立生成DRM文件的密钥。这样,当客户端请求视频的DRM文件时,可以无需通过网络传输获取密钥,从而可以避免密钥被第三方截获,提高DRM文件的安全性。同时,由于密钥的生成基于视频的视频标识和客户端的客户端标识,这样,即使不同用户获取到同一视频的DRM文件,其密钥也均不相同,从而可以进一步提高DRM文件的安全性。基于相同的技术构思,本发明实施例还提供了一种源站服务器,如图6所示,所述源站服务器包括:第一密钥生成模块601,用于当接收到目标CDN节点发送的目标客户端对于目标视频的播放请求时,源站服务器获取所述目标视频的密钥生成信息,并根据所述密钥生成信息和预设密钥生成方式生成目标视频的密钥;第一加解密模块602,用于基于所述目标视频的密钥对所述目标视频的视频数据进行加密,生成目标视频的DRM文件;第一发送模块603,用于向所述目标CDN节点发送所述目标视频的DRM文件和所述密钥生成信息。可选的,所述密钥生成信息包括所述目标视频的视频标识和所述目标客户端的客户端标识;所述第一密钥生成模块601,具体用于:基于预设的消息摘要算法,结合预存字符串、所述视频标识和所述客户端标识生成目标字符串;将所述目标字符串中多个预设位置的字符确定为目标视频的密钥。可选的,所述密钥生成信息包括所述目标视频的视频标识、所述目标客户端的客户端标识以及所述目标视频的多个视频块的块标识;所述第一密钥生成模块601,具体用于:基于预设的消息摘要算法,结合预存字符串、所述视频标识和所述客户端标识生成目标字符串;基于预设的消息摘要算法,结合所述目标字符串和每个所述块标识生成多个目标块字符串;将每个所述目标块字符串中多个预设位置的字符作为每个视频块的块密钥,并将所有的所述块密钥确定为目标视频的密钥。可选的,所述密钥生成信息包括算法标识;所述第一加解密模块602,具体用于:确定所述算法标识对应的加密算法,并根据确定的所述加密算法,结合所述目标视频的密钥对所述目标视频的视频数据进行加密。基于相同的技术构思,本发明实施例还提供了一种CDN节点,如图7所示,所述CDN节点包括:确定模块701,用于当接收到源站服务器发送的目标视频的DRM文件和密钥生成信息时,确定请求所述目标视频的目标客户端,其中,所述目标视频的DRM文件由所述源站服务器根据所述密钥生成信息和预设密钥生成方式生成密钥,并基于所述密钥对所述目标视频的视频数据进行加密得到;第二发送模块702,用于向所述目标客户端发送所述目标视频的DRM文件和所述密钥生成信息,以使所述目标客户端根据所述密钥生成信息和预设密钥生成方式生成密钥,并基于所述密钥对所述目标视频的DRM文件进行解密、播放。可选的,所述CDN节点还包括:第二密钥生成模块703,用于当接收到所述目标客户端发送的携带有目标播放进度的对于所述目标视频的播放请求时,根据所述密钥生成信息和预设密钥生成方式生成目标视频的密钥;第二加解密模块704,用于基于所述目标视频的密钥对所述目标视频的DRM文件进行解密,将解密得到的所述目标播放进度之后的视频数据进行加密,并将加密得到的所述目标视频的DRM文件重新发送给所述目标客户端。可选的,所述密钥生成信息包括所述目标视频的视频标识和所述目标客户端的客户端标识;所述第二密钥生成模块703,具体用于:基于预设的消息摘要算法,结合预存字符串、所述视频标识和所述客户端标识生成目标字符串;将所述目标字符串中多个预设位置的字符确定为目标视频的密钥。可选的,所述密钥生成信息包括所述目标视频的视频标识、所述目标客户端的客户端标识以及所述目标视频的多个视频块的块标识;所述第二密钥生成模块703,具体用于:基于预设的消息摘要算法,结合预存字符串、所述视频标识和所述客户端标识生成目标字符串;基于预设的消息摘要算法,结合所述目标字符串和每个所述块标识生成多个目标块字符串;将每个所述目标块字符串中多个预设位置的字符作为每个视频块的块密钥,并将所有的所述块密钥确定为目标视频的密钥。可选的,所述密钥生成信息包括算法标识;所述第二加解密模块704,具体用于:确定所述算法标识对应的解密算法和加密算法;根据确定的所述解密算法,结合所述目标视频的密钥对所述目标视频的DRM文件进行解密,并根据确定的所述加密算法,结合所述目标视频的密钥对解密得到的所述目标播放进度之后的视频数据进行加密。基于相同的技术构思,本发明实施例还提供了一种客户端,如图8所示,所述客户端包括:第三密钥生成模块801,用于当接收到目标CDN节点发送的目标视频的DRM文件和密钥生成信息时,根据所述密钥生成信息和预设密钥生成方式生成目标视频的密钥;第三加解密模块802,用于基于所述目标视频的密钥对所述目标视频的DRM文件进行解密;播放模块803,用于对解密得到的视频数据进行播放。可选的,所述密钥生成信息包括所述目标视频的视频标识和所述目标客户端的客户端标识;所述第三密钥生成模块801,具体用于:基于预设的消息摘要算法,结合预存字符串、所述视频标识和所述客户端标识生成目标字符串;将所述目标字符串中多个预设位置的字符确定为目标视频的密钥。可选的,所述密钥生成信息包括所述目标视频的视频标识、所述目标客户端的客户端标识以及所述目标视频的多个视频块的块标识;所述第三密钥生成模块801,具体用于:基于预设的消息摘要算法,结合预存字符串、所述视频标识和所述客户端标识生成目标字符串;基于预设的消息摘要算法,结合所述目标字符串和每个所述块标识生成多个目标块字符串;将每个所述目标块字符串中多个预设位置的字符作为每个视频块的块密钥,并将所有的所述块密钥确定为目标视频的密钥。可选的,所述密钥生成信息包括算法标识;所述第三加解密模块802,具体用于:确定所述算法标识对应的解密算法,并根据确定的所述解密算法,结合所述目标视频的密钥对所述目标视频的DRM文件进行解密。可选的,所述客户端还包括:第三发送模块804,用于当接收到用户输入的目标播放进度时,向所述目标CDN节点发送携带有目标播放进度的播放请求;所述第三加解密模块802,还用于:当接收到所述目标CDN节点重新发送的所述目标视频的DRM文件时,基于所述目标视频的密钥对所述重新发送的所述目标视频的DRM文件进行解密。基于相同的技术构思,本发明实施例还提供了一种播放视频的系统,如图1所示,所述系统包括前述提到的源站服务器、CDN节点和客户端,其中:所述源站服务器,用于当接收到所述目标CDN节点发送的所述目标客户端对于目标视频的播放请求时,获取所述目标视频的密钥生成信息,并根据所述密钥生成信息和预设密钥生成方式生成目标视频的密钥,基于所述目标视频的密钥对所述目标视频的视频数据进行加密,生成目标视频的DRM文件,向所述目标CDN节点发送所述目标视频的DRM文件和所述密钥生成信息;所述目标CDN节点,用于当接收到所述源站服务器发送的所述目标视频的DRM文件和密钥生成信息时,确定请求所述目标视频的目标客户端,并向所述目标客户端发送所述目标视频的DRM文件和所述密钥生成信息;所述目标客户端,用于当接收到所述目标CDN节点发送的所述目标视频的DRM文件和密钥生成信息时,根据所述密钥生成信息和预设密钥生成方式生成目标视频的密钥,基于所述目标视频的密钥对所述目标视频的DRM文件进行解密,并对解密得到的视频数据进行播放。图9是本发明实施例提供的源站服务器的结构示意图。该源站服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示未标出),每个模块可以包括对源站服务器中的一系列指令操作。源站服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,一个或一个以上键盘956,和/或,一个或一个以上操作系统941,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM等等。图10是本发明实施例提供的CDN节点的结构示意图。该CDN节点1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器1022(例如,一个或一个以上处理器)和存储器1032,一个或一个以上存储应用程序1042或数据1044的存储介质1030(例如一个或一个以上海量存储设备)。其中,存储器1032和存储介质1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示未标出),每个模块可以包括对CDN节点中的一系列指令操作。CDN节点1000还可以包括一个或一个以上电源1026,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1058,一个或一个以上键盘1056,和/或,一个或一个以上操作系统1041。图11是本发明实施例提供的客户端的结构示意图。该客户端可以用于实施上述实施例中提供的播放视频的方法。客户端110可以包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、音频电路160、WiFi(WirelessFidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源150等部件。本领域技术人员可以理解,图11中示出的客户端结构并不构成对客户端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元140可用于显示由用户输入的信息或提供给用户的信息以及客户端110的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(LiquidCrystalDisplay,液晶显示器)、OLED(OrganicLight-EmittingDiode,有机发光二极管)等形式来配置显示面板141。音频电路160、扬声器161,传声器162可提供用户与客户端110之间的音频接口。WiFi属于短距离无线传输技术,客户端110通过WiFi模块170可以帮助用户收发电子邮件浏览网页和访问流式媒体等。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1