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

文档序号:8365929阅读:660来源:国知局
flv格式视频文件的加密传输方法和系统的制作方法
【技术领域】
[0001]本发明涉及流媒体技术领域,尤其涉及一种flv格式视频文件的加密传输方法和系统。
【背景技术】
[0002]随着互联网的基础设施的不断改善,通过互联网传输视频的视频质量和用户体验越来越好,用户通过网络观看视频已经成为一种习惯。
[0003]目前,对通过互联网传输的视频进行内容保护的方法为:通过对视频进行内容版权管理的方式来保护视频,该方法需要庞大的后端服务进行支持,而且业务逻辑繁琐,一定程度地影响了用户体验视频服务,不利于视频的推广使用。

【发明内容】

[0004]本发明的实施例提供了一种flv格式视频文件的加密传输方法和系统,以实现对flv格式视频文件进行安全的传输。
[0005]本发明提供了如下方案:
[0006]一种flv格式视频文件的加密传输方法,包括:
[0007]服务端对flv格式视频文件进行解析,获取所述flv格式视频文件中的关键帧数据;
[0008]所述服务器获取预先设定的所述关键帧数据对应的密钥标识和视频内容密钥,用所述视频内容密钥对所述关键帧数据进行加密得到关键帧数据密文,用所述关键帧数据密文替换所述flv格式视频文件中的关键帧数据,得到更新后的关键帧数据;
[0009]所述服务器将所述密钥标识插入到所述更新后的关键帧数据的前端位置,得到更新后的flv格式视频文件,将所述更新后的flv格式视频文件发送给客户端。
[0010]所述的服务端对flv格式视频文件进行解析之前还包括:
[0011]所述服务端设定对视频文件的关键帧数据进行加密所需的多个视频内容密钥,以及每个视频内容密钥对应的密钥标识和时间段,不同视频内容密钥对应的时间段互相不重置;
[0012]所述服务端设定加密标识字符串,该加密标识字符串表示对视频文件的关键帧数据进行了加密。
[0013]所述的服务器获取预先设定的所述关键帧数据对应的密钥标识和视频内容密钥,包括:
[0014]所述服务端获取所述flv格式视频文件中的一个或者多个关键帧数据,以及每个关键帧数据对应的时间戳;
[0015]所述服务端将所述关键帧数据对应的时间戳和各个视频内容密钥对应的时间段进行比较,当判断所述关键帧数据对应的时间戳属于某个时间段时,则将所述某个时间段对应的密钥标识和视频内容密钥作为所述关键帧数据对应的密钥标识和视频内容密钥;
[0016]当所述关键帧数据的数量为多个时,按照上述处理过程,依次获取每个关键帧数据对应的密钥标识和视频内容密钥。
[0017]所述的用所述视频内容密钥对所述关键帧数据进行加密得到关键帧数据密文,用所述关键帧数据密文替换所述flv格式视频文件中的关键帧数据,得到更新后的关键帧数据,包括:
[0018]所述服务端将所述关键帧数据分为分组加密长度的最大整数倍数据和剩余部分数据,所述剩余部分数据为超出分组加密长度的最大整数倍长度的数据;
[0019]所述服务端用所述关键帧数据对应的视频内容密钥对所述分组加密长度的最大整数倍数据进行加密,得到关键帧数据密文,对所述剩余部分数据不进行加密;
[0020]所述服务端用所述关键帧数据密文替换掉所述关键帧数据中的分组加密长度的最大整数倍数据,将所述关键帧数据密文和所述剩余部分数据组成更新后的关键帧数据。
[0021]所述的服务器将所述密钥标识插入到所述更新后的关键帧数据的前端位置,得到更新后的flv格式视频文件,将所述更新后的flv格式视频文件发送给客户端,包括:
[0022]所述服务端将所述加密标识字符串和密钥标识插入到所述更新后的关键帧数据的前端位置,根据更新后的关键帧数据的长度,修改所述更新后的关键帧数据的开始位置标示和结束位置标示的数值,将所述开始位置标示的数值设置到所述更新后的关键帧数据的开始位置标识上,将所述结束位置标示的数值设置到所述更新后的关键帧数据的结束位置标识上;
[0023]当所述flv格式视频文件中的关键帧数据的数量为多个时,所述服务端按照上述处理过程,依次对每个关键帧数据进行更新,得到更新后的flv格式视频文件,将所述更新后的flv格式视频文件发送给客户端。
[0024]所述的方法还包括:
[0025]所述客户端对所述服务端发送的flv格式视频文件进行解析,根据解析出来的各个关键帧数据的开始位置标示和结束位置标示的数值,获取所述flv格式视频文件中的一个或者多个关键帧数据;
[0026]当所述关键帧数据的前端位置设置有加密标识字符串和密钥标识时,所述客户端查看本地是否缓存有所述密钥标识对应的视频内容密钥,如果是,则用所述密钥标识对应的视频内容密钥对所述关键帧数据进行解密,得到视频关键帧数据明文;
[0027]当所述客户端本地没有缓存有所述密钥标识对应的视频内容密钥时,所述客户端与所述服务端建立安全通信信道,通过安全通信信道向服务端请求所述密钥标识对应的视频内容密钥,接收所述服务端通过所述安全通信信道下发的所述密钥标识对应的视频内容密钥,用所述密钥标识对应的视频内容密钥对所述关键帧数据进行解密得到关键帧数据明文;
[0028]所述客户端用所述关键帧数据明文替换所述flv格式视频文件中对应的关键帧数据;当解析出来的所述关键帧数据的数量为多个时,所述客户端按照上述处理过程,依次对每个关键帧数据进行解密得到每个关键帧数据明文,并用每个关键帧数据明文替换所述flv格式视频文件中对应的关键帧数据。
[0029]一种flv格式视频文件的加密传输系统,包括:服务端和客户端,
[0030]所述的服务端包括:
[0031]密钥获取模块,用于对flv格式视频文件进行解析,获取所述flv格式视频文件中的关键帧数据,获取预先设定的所述关键帧数据对应的密钥标识和视频内容密钥;
[0032]关键帧数据加密模块,用于用所述视频内容密钥对所述关键帧数据进行加密得到关键帧数据密文,用所述关键帧数据密文替换所述flv格式视频文件中的关键帧数据,得到更新后的关键帧数据;所述服务器将所述密钥标识插入到所述更新后的关键帧数据的前端位置,得到更新后的flv格式视频文件;
[0033]视频文件发送模块,用于将所述更新后的flv格式视频文件发送给客户端。
[0034]所述的服务端还包括:
[0035]密钥存储模块,用于设定对视频文件的关键帧数据进行加密所需的多个视频内容密钥,以及每个视频内容密钥对应的密钥标识和时间段,不同视频内容密钥对应的时间段互相不重叠;
[0036]设定加密标识字符串,该加密标识字符串表示对视频文件的关键帧数据进行了加
LU O
[0037]所述的密钥获取模块,具体用于获取所述flv格式视频文件中的一个或者多个关键帧数据,以及每个关键帧数据对应的时间戳;
[0038]将所述关键帧数据对应的时间戳和各个视频内容密钥对应的时间段进行比较,当判断所述关键帧数据对应的时间戳属于某个时间段时,则将所述某个时间段对应的密钥标识和视频内容密钥作为所述关键帧数据对应的密钥标识和视频内容密钥;
[0039]当所述关键帧数据的数量为多个时,按照上述处理过程,依次获取每个关键帧数据对应的密钥标识和视频内容密钥。
[0040]所述的关键帧数据加密模块,具体用于将所述关键帧数据分为分组加密长度的最大整数倍数据和剩余部分数据,所述剩余部分数据为超出分组加密长度的最大整数倍长度的数据;
[0041]用所述关键帧数据对应的视频内容密钥对所述分组加密长度的最大整数倍数据进行加密,得到关键帧数据密文,对所述剩余部分数据不进行加密;
[0042]用所述关键帧数据密文替换掉所述关键帧数据中的分组加密长度的最大整数倍数据,将所述关键帧数据密文和所述剩余部分数据组成更新后的关键帧数据。
[0043]所述的关键帧数据加密模块,具体用于将所述加密标识字符串和密钥标识插入到所述更新后的关键帧数据的前端位置,修改所述更新后的关键帧数据的开始位置标示和结束位置标示的数值,将所述开始位置标示的数值设置到所述更新后的关键帧数据的开始位置标识上,将所述结束位置标示的数值设置到所述更新后的关键帧数据的结束位置标识上;
[0044]当所述flv格式视频文件中的关键帧数据的数量为多个时
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1