一种密钥的提供、视频播放方法、服务器及客户端技术

技术编号:21899162 阅读:24 留言:0更新日期:2019-08-17 18:30
本发明专利技术公开了一种密钥的提供、视频播放方法、服务器及客户端,其中,所述视频播放方法包括:向服务器发送下载请求,并接收所述服务器反馈的目标视频数据的索引文件;基于所述索引文件中的指定字符串构建访问请求,并向所述服务器发送所述访问请求,以从所述服务器中获取所述访问请求指向的预设密钥;向所述服务器发送包含文件地址的文件获取请求,以从所述服务器中获取所述分片数据的文件地址指向的加密后的分片数据;利用所述预设密钥对获取的所述加密后的分片数据进行解密,并播放解密后的分片数据。本申请提供的技术方案,能够有效地对视频数据的版权进行保护。

A Key Provision, Video Playing Method, Server and Client

【技术实现步骤摘要】
一种密钥的提供、视频播放方法、服务器及客户端
本专利技术涉及互联网
,特别涉及一种密钥的提供、视频播放方法、服务器及客户端。
技术介绍
随着视频点播技术和视频直播技术的不断发展,视频数据传输过程中采用的协议也在不断完善。当前,由美国苹果公司开发的HLS(httplivestreaming)协议受到广泛地应用。HLS(HttpLiveStreaming,HTTP直播流)协议是一种动态码率自适应流媒体协议,该协议可以将大的媒体文件分割成众多小的分片文件。采用该协议的视频数据通常会具备索引文件,在索引文件中,可以包括各个分片文件的下载地址以及对各个分片文件加密时所采用的密钥。由于HLS协议是一种开放式的流媒体协议,因此在索引文件中的密钥是以明文的形式直接进行展示的。请参阅图1,现有技术中采用HLS协议的客户端在播放视频数据时,首先可以从存储视频数据的服务器中下载该视频数据的索引文件,然后可以从索引文件中获取到以明文形式展示的密钥,此外,客户端还可以根据索引文件中的下载地址,从服务器中获取到经过加密的分片文件。这样,客户端便可以利用密钥对加密的分片文件进行解密,从而可以播放解密后的分片文件。然而,这种开放式的协议往往会带来以下缺陷:无论何种客户端,只要其支持HLS协议,那么便可以直接从索引文件中获取到分片文件加密时所采用的密钥。这样便会严重影响视频数据的私密性,无法针对视频数据的版权进行保护。
技术实现思路
本申请的目的在于提供一种密钥的提供、视频播放方法、服务器及客户端,能够有效地对视频数据的版权进行保护。为实现上述目的,本申请一方面提供一种密钥的提供方法,所述方法包括:将预设视频数据划分为多个分片数据,并基于预设密钥分别对所述多个分片数据进行加密,并将加密后的分片数据存放于指定目录下,以生成各个所述加密后的分片数据的文件地址;生成初始索引文件,所述初始索引文件中包含各个所述加密后的分片数据的文件地址以及所述预设密钥;利用指定字符串替换所述初始索引文件中的所述预设密钥,得到修正后的索引文件,并将所述修正后的索引文件作为所述预设视频数据的索引文件;接收客户端发来的指向所述预设视频数据的下载请求,并向所述客户端提供所述修正后的索引文件,以使得所述客户端基于所述修正后的索引文件中的所述指定字符串,构建指向所述预设密钥的访问请求;接收所述客户端发来的所述访问请求,并响应于所述访问请求,向所述客户端提供所述预设密钥。为实现上述目的,本申请另一方面还提供一种服务器,所述服务器包括存储器和处理器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:将预设视频数据划分为多个分片数据,并基于预设密钥分别对所述多个分片数据进行加密,并将加密后的分片数据存放于指定目录下,以生成各个所述加密后的分片数据的文件地址;生成初始索引文件,所述初始索引文件中包含各个所述加密后的分片数据的文件地址以及所述预设密钥;利用指定字符串替换所述初始索引文件中的所述预设密钥,得到修正后的索引文件,并将所述修正后的索引文件作为所述预设视频数据的索引文件;接收客户端发来的指向所述预设视频数据的下载请求,并向所述客户端提供所述修正后的索引文件,以使得所述客户端基于所述修正后的索引文件中的所述指定字符串,构建指向所述预设密钥的访问请求;接收所述客户端发来的所述访问请求,并响应于所述访问请求,向所述客户端提供所述预设密钥。为实现上述目的,本申请另一方面还提供一种视频播放方法,所述方法包括:向服务器发送指向目标视频数据的下载请求,并接收所述服务器反馈的所述目标视频数据的索引文件;其中,所述索引文件中包括指向加密后的分片数据的文件地址以及指定字符串,所述分片数据由所述目标视频数据划分得到;基于所述索引文件中的所述指定字符串构建访问请求,并向所述服务器发送所述访问请求,以从所述服务器中获取所述访问请求指向的预设密钥;向所述服务器发送包含所述分片数据的文件地址的文件获取请求,以从所述服务器中获取所述分片数据的文件地址指向的加密后的分片数据;利用所述预设密钥对获取的所述加密后的分片数据进行解密,并播放解密后的分片数据。为实现上述目的,本申请另一方面还提供一种客户端,所述客户端包括存储器和处理器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:向服务器发送指向目标视频数据的下载请求,并接收所述服务器反馈的所述目标视频数据的索引文件;其中,所述索引文件中包括指向加密后的分片数据的文件地址以及指定字符串,所述分片数据由所述目标视频数据划分得到;基于所述索引文件中的所述指定字符串构建访问请求,并向所述服务器发送所述访问请求,以从所述服务器中获取所述访问请求指向的预设密钥;向所述服务器发送包含所述分片数据的文件地址的文件获取请求,以从所述服务器中获取所述分片数据的文件地址指向的加密后的分片数据;利用所述预设密钥对获取的所述加密后的分片数据进行解密,并播放解密后的分片数据。由上可见,本申请提供的技术方案,可以在当前的HLS协议的基础上进行改进。存储预设视频数据的服务器在构建索引文件时,首先可以按照常规的方式生成初始索引文件,在该初始索引文件中,可以包含各个加密后的分片数据的文件地址以及加密时所使用的预设密钥的明文信息。为了防止以明文形式显示的预设密钥被直接获取,在本申请中服务器可以利用指定字符串替换所述预设密钥,并且可以将修正之后的索引文件作为所述预设视频数据的索引文件。当客户端需要下载所述预设视频数据时,服务器会向其反馈经过修正的索引文件。客户端从经过修正的索引文件中,无法直接获取到加密分片数据所使用的预设密钥,只能获取到上述的指定字符串。在本申请中,可以预先在对所述预设视频数据具备访问权限的客户端中设置一套私有规则,该私有规则可以基于上述的指定字符串构建出指向所述预设密钥的访问请求。这样,通过该访问请求,客户端才能从服务器中获取到预设密钥,从而对下载的经过加密的分片数据进行解密。而那些对所述预设视频数据没有访问权限的客户端,则无法获知上述的私有规则,因此便无法构建出符合要求的访问请求。这样,不具备访问权限的客户端无法获取到预设密钥,从而无法正常播放经过加密的分片数据,这样便可以对所述预设视频数据的版权进行保护。进一步地,为了防止服务器与客户端之间传输的预设密钥被拦截,可以对服务器中存储的预设密钥利用指定密钥进行二次加密,而该指定密钥可以预先存储于具备访问权限的客户端中。这样,具备访问权限的客户端在获取到加密的密钥后,可以通过内置的指定密钥对其进行解密,从而还原得到所述预设密钥。这样,便进一步提高了版权保护的力度。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术中遵循HLS协议的视频播放流程图;图2是本专利技术实施例中改进的HLS协议下视频播放交互示意图;图3是本专利技术实施例中服务器的结构示意图;图4是本专利技术实施例中视频播放方法的流程图;图5是本专利技术实施例中客户端的结构示意图;图6是本专利技术实施例中计算机终端的结构示意本文档来自技高网...

【技术保护点】
1.一种密钥的提供方法,其特征在于,所述方法包括:将预设视频数据划分为多个分片数据,并基于预设密钥分别对所述多个分片数据进行加密,并将加密后的分片数据存放于指定目录下,以生成各个所述加密后的分片数据的文件地址;生成初始索引文件,所述初始索引文件中包含各个所述加密后的分片数据的文件地址以及所述预设密钥;利用指定字符串替换所述初始索引文件中的所述预设密钥,得到修正后的索引文件,并将所述修正后的索引文件作为所述预设视频数据的索引文件;接收客户端发来的指向所述预设视频数据的下载请求,并向所述客户端提供所述修正后的索引文件,以使得所述客户端基于所述修正后的索引文件中的所述指定字符串,构建指向所述预设密钥的访问请求;接收所述客户端发来的所述访问请求,并响应于所述访问请求,向所述客户端提供所述预设密钥。

【技术特征摘要】
1.一种密钥的提供方法,其特征在于,所述方法包括:将预设视频数据划分为多个分片数据,并基于预设密钥分别对所述多个分片数据进行加密,并将加密后的分片数据存放于指定目录下,以生成各个所述加密后的分片数据的文件地址;生成初始索引文件,所述初始索引文件中包含各个所述加密后的分片数据的文件地址以及所述预设密钥;利用指定字符串替换所述初始索引文件中的所述预设密钥,得到修正后的索引文件,并将所述修正后的索引文件作为所述预设视频数据的索引文件;接收客户端发来的指向所述预设视频数据的下载请求,并向所述客户端提供所述修正后的索引文件,以使得所述客户端基于所述修正后的索引文件中的所述指定字符串,构建指向所述预设密钥的访问请求;接收所述客户端发来的所述访问请求,并响应于所述访问请求,向所述客户端提供所述预设密钥。2.根据权利要求1所述的方法,其特征在于,所述访问请求中包括所述指定字符串以及由所述客户端添加的验证字符串;其中,所述验证字符串包括服务器预测时间以及出厂设置值;在接收所述客户端发来的所述访问请求之后,所述方法还包括:计算服务器当前的实际时间与所述访问请求中的服务器预测时间之间的差值;当所述差值小于或者等于指定阈值并且所述访问请求中的所述出厂设置值与预设出厂设置值一致时,向所述客户端提供所述预设密钥。3.根据权利要求2所述的方法,其特征在于,所述服务器预测时间由所述客户端按照以下方式确定:在所述客户端开始运行时,所述客户端从服务器处获取当前的服务器时间,并计算所述当前的服务器时间与自身时间之间的时间差值;在所述客户端构建所述访问请求时,基于自身当前的时间以及所述时间差值,计算得到所述服务器预测时间。4.根据权利要求1所述的方法,其特征在于,在将所述修正后的索引文件作为所述预设视频数据的索引文件之后,所述方法还包括:利用指定密钥对所述预设密钥进行加密,并将加密后的密钥保存至由所述指定字符串指向的目录下;相应地,在接收到所述客户端发来的所述访问请求后,向所述客户端提供所述加密后的密钥,以使得所述客户端基于内置的所述指定密钥,将所述加密后的密钥还原为所述预设密钥。5.根据权利要求1所述的方法,其特征在于,向所述客户端提供所述预设密钥之后,所述方法还包括:接收所述客户端发来的文件获取请求,所述文件获取请求中包括从所述修正后的索引文件中识别的文件地址;将所述文件获取请求指向的加密后的分片数据反馈给所述客户端,以使得所述客户端通过所述预设密钥对所述加密后的分片数据进行解密,并播放解密后的分片数据。6.一种服务器,所述服务器包括存储器和处理器,所述存储器中存储计算机程序,其特征在于,所述计算机程序被所述处理器执行时,实现以下步骤:将预设视频数据划分为多个分片数据,并基于预设密钥分别对所述多个分片数据进行加密,并将加密后的分片数据存放于指定目录下,以生成各个所述加密后的分片数据的文件地址;生成初始索引文件,所述初始索引文件中包含各个所述加密后的分片数据的文件地址以及所述预设密钥;利用指定字符串替换所述初始索引文件中的所述预设密钥,得到修正后的索引文件,并将所述修正后的索引文件作为所述预设视频数据的索引文件;接收客户端发来的指向所述预设视频数据的下载请求,并向所述客户端提供所述修正后的索引文件,以使得所述客户端基于所述修正后的索引文件中的所述指定字符串,构建指向所述预设密钥的访问请求;接收所述客户端发来的所述访问请求,并响应于所述访问请求,向所述客户端提供所述预设密钥。7.根据权利要求6所述的服务器,其特征在于,所述计算机程序被所述处理器执行时,还实现以下步骤:利用指定密钥对所述预设密钥进行加密,并将加密后的密钥保存至由所述指定字符串指向的目录下;相应地,在接收到所述客户端发来的所述访问请求后,向所述客户端...

【专利技术属性】
技术研发人员:黄镇林陈云辉范少卓
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1