flv格式视频文件的加密传输方法和系统的制作方法_2

文档序号:8365929阅读:来源:国知局
,所述服务端按照上述处理过程,依次对每个关键帧数据进行更新,得到更新后的flv格式视频文件。
[0045]所述的客户端包括:
[0046]关键帧数据获取模块,用于对所述服务端发送的flv格式视频文件进行解析,根据解析出来的各个关键帧数据的开始位置标示和结束位置标示的数值,获取所述flv格式视频文件中的一个或者多个关键帧数据;
[0047]解密密钥获取模块,用于当所述关键帧数据的前端位置设置有加密标识字符串和密钥标识时,所述客户端查看本地是否缓存有所述密钥标识对应的视频内容密钥,如果是,则获取所述密钥标识对应的视频内容密钥;否则,与所述服务端建立安全通信信道,通过安全通信信道向服务端请求所述密钥标识对应的视频内容密钥,接收所述服务端通过所述安全通信信道下发的所述密钥标识对应的视频内容密钥;
[0048]关键帧数据解密模块,用于用所述密钥标识对应的视频内容密钥对所述关键帧数据进行解密得到关键帧数据明文,用所述关键帧数据明文替换所述flv格式视频文件中对应的关键帧数据;当解析出来的所述关键帧数据的数量为多个时,按照上述处理过程,依次对每个关键帧数据进行解密得到每个关键帧数据明文,并用每个关键帧数据明文替换所述flv格式视频文件中对应的关键帧数据。
[0049]由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过对视频关键帧数据有选择地使用视频内容密钥进行加密,实现了视频内容的最小单元保护。针对同一flv格式视频文件中的不同的视频关键帧,可以使用多个不同的视频内容密钥分别进行保护,在实现视频内容保护的同时,并且适应网络视频服务业务的多种需要(预览视频和部分关键视频情节的非受限访问,其余视频内容的受限访问),也提升了视频内容非法解密的难度,很好地保障了在网络中传输的flv格式视频文件的安全性,适应了 flv格式视频文件在网路存储传输的需要。
【附图说明】
[0050]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0051]图1为本发明实施例一提供的一种服务端对flv格式视频文件进行加密的方法的处理流程图;
[0052]图2为本发明实施例一提供的一种客户端对flv格式视频文件进行解密的方法的处理流程图,
[0053]图3为本发明实施例二提供的一种flv格式视频文件的加密传输系统的结构图,图中,服务端310,客户端320,密钥存储模块311,密钥获取模块312,关键帧数据加密模块313,视频文件发送模块314,关键帧数据获取模块321,解密密钥获取模块322和关键帧数据解密模块323。
【具体实施方式】
[0054]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0055]实施例一
[0056]本发明的服务端使用不同的视频内容密钥对flv格式视频文件的不同时间段的关键帧数据分别进行加密,得到受加密保护的flv格式视频文件。
[0057]本发明实施例提供的flv格式视频文件的加密传输方法包括对flv格式视频文件进行加密和进行解密两个部分。
[0058]该实施例提供了一种服务端对flv格式视频文件进行加密的方法的处理流程如图1所示,包括如下的处理步骤:
[0059]步骤S110、服务端首先根据业务需要,设定需要保护的视频播放的时间段和相应的密钥数量。
[0060]步骤S120、所述服务端设定对视频文件的关键帧数据进行加密所需的多个视频内容密钥,以及每个视频内容密钥对应的密钥ID (标识)和上述时间段,每个视频内容密钥唯一对应一个时间段,不同视频内容密钥对应的时间段互相不重叠。
[0061]步骤S130、服务端选定加密标识字符串,该加密标识字符串可以为任意具有一定意义的字符串,例如“ jiami”、"encrypt"或视频加密服务提供方的名称;
[0062]步骤S140、服务端对flv格式视频文件进行解析,获取所述flv格式视频文件中的一个或者多个关键帧数据,以及每个关键帧数据对应的时间戳。
[0063]所述服务端将所述关键帧数据对应的时间戳和各个视频内容密钥对应的时间段进行比较,当判断所述关键帧数据对应的时间戳属于某个时间段时,则将所述某个时间段对应的密钥ID和视频内容密钥作为所述关键帧数据对应的密钥ID和视频内容密钥;当判断所述关键帧数据对应的时间戳不属于任何一个时间段时,则不对该关键帧数据进行加
LU O
[0064]当所述关键帧数据的数量为多个时,按照上述处理过程,依次获取每个关键帧数据对应的密钥ID和视频内容密钥。
[0065]步骤S150、所述服务端将所述关键帧数据分为分组加密长度的最大整数倍数据和剩余部分数据,剩余部分数据为超出分组加密长度的最大整数倍长度的数据。
[0066]服务端使用所述关键帧数据对应的视频内容密钥仅对原始关键帧数据中长度为分组加密长度的最大整数倍数据进行加密,得到关键帧数据密文,上述剩余部分数据不进行加密。
[0067]所述服务端用所述关键帧数据密文替换掉所述关键帧数据中的分组加密长度的最大整数倍数据,将所述关键帧数据密文和所述剩余部分数据组成更新后的关键帧数据。
[0068]步骤S160、所述服务端将所述加密标识字符串和密钥ID插入到所述更新后的关键帧数据的前端位置,在这里上述加密与否标识字符串表示对该关键帧数据“已经加密”;
[0069]步骤S170、服务端根据更新后的关键帧数据的长度,修改所述更新后的关键帧数据的开始位置标示和结束位置标示的数值,将所述开始位置标示的数值设置到所述更新后的关键帧数据的开始位置标识上,将所述结束位置标示的数值设置到所述更新后的关键帧数据的结束位置标识上;
[0070]步骤S180、当所述flv格式视频文件中的关键帧数据的数量为多个时,所述服务端按照上述处理过程,重复步骤S140—步骤S170,依次对每个关键帧数据进行更新,得到更新后的flv格式视频文件。然后,上述服务端将所述更新后的flv格式视频文件发送给客户端。
[0071]该实施例提供了一种客户端对flv格式视频文件进行解密的方法的处理流程如图2所示,包括如下的处理步骤:
[0072]步骤S210、客户端对接收到flv格式视频文件数据进行解析,根据解析出来的各个关键帧数据的开始位置标示和结束位置标示的数值,获取所述flv格式视频文件中的一个或者多个关键帧数据;若非关键帧数据,则进入步骤S260 ;若为关键帧数据,则进入步骤S220 ;
[0073]步骤S220、判断关键帧数据的前端位置是否含设定的加密标识字符串和密钥ID,若无加密标识字符串和密钥ID,则进入步骤S260 ;否则,进入步骤S230 ;
[0074]步骤S230、客户端查看是否缓存有该密钥ID对应的视频内容密钥,若不存在该密钥ID对应的视频内容密钥,则进入步骤S240 ;若存在该密钥ID对应的视频内容密钥,则进入步骤S250;
[0075]步骤S240、客户端与服务端建立安全通信信道,通过安全通信信道向服务端请求密钥ID对应的视频内容密钥,接收服务端通过安全通信信道下发的经协商得到的安全通信密钥加密的视频内容密钥密文,然后用安全通信密钥解密上述视频内容密钥密文,得到密钥ID对应的视频内容密钥明文,然后进入步骤S250 ;
[0076]步骤S250、使用该视频内容密钥对关键帧视频数据进行解密,得到视频关键帧数据明文,然后进入步骤S260;
[0077]步骤S260、所述客户端用所述关键帧数据明文替换所述flv格式视频文件中对应的关键帧数据;当解析出来的所述关键帧数据的数量为多个时,所述客户端按照上述处理过程,依次对每个关键帧数据进行解密得到每个关键帧数据明文,并用每个关键帧数据明文替换所述flv格式视频文件中对应的关键帧数据。
[0078]然后,上述客户端将更新后的flv格式视频数据送至客户端的播放模块播放。
[0079]实施例二
[0080]该实施例提供了一种flv格式视频文件的加密传输系统,其具体结构如图3所示,包括:服务端310和客户端320
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1