一种保护视频数据安全的方法、装置和计算机存储介质与流程

文档序号:19792103发布日期:2020-01-24 14:27阅读:237来源:国知局
一种保护视频数据安全的方法、装置和计算机存储介质与流程

本申请实施例涉及互联网视频技术,尤其涉及一种保护视频数据安全的方法、装置和计算机存储介质。



背景技术:

随着移动互联网和智能手机的发展,流媒体作为一种流行的视频应用开始从传统的安防领域拓展到了视频直播、新零售和视频社交等领域。视频作为热门资源也开始吸引大量的盗链者。

目前主流的视频播放安全方法是基于http协议支持的referer机制,referer是http请求header的一部分,当浏览器(或者模拟浏览器行为)向web服务器发送请求的时候,头信息里有包含referer,用于通知web服务器页面的请求地址,web服务器就可以进行信息处理。例如,在www.google.com里有一个www.baidu.com链接,那么点击这个www.baidu.com,它的header信息里就有:

referer=http://www.google.com

那么可以利用这个来防止盗链,比如,只允许用户自己的网站访问用户自己的图片服务器,那用户的域名是www.google.com,那么图片服务器每次取到referer来判断一下是不是用户自己的域名www.google.com,如果是就继续访问,不是就拦截。

现有技术中,通过referer跟踪来源并设置referer黑白名单来对访问者身份进行识别和过滤,从而限制视频资源访问。

但是,referrer机制只能阻挡一部分恶意视频防盗者,但不能阻挡统一伪造referer来欺骗视频服务器。某些视频提供方也会选择视频加密的方式,此种方式一般需集成视频提供方特制的视频播放器才能达到解码的目的,此种方法保证了安全性但是限制了使用范围,满足不了应用程序(app)终端以及web端的播放需求。



技术实现要素:

鉴于上述问题,本申请实施例提供了一种保护视频数据安全的方法和装置,克服了上述问题或者至少部分地解决了上述问题。

本申请的第一方面提供一种保护视频数据安全的方法,所述方法包括:

用户终端向视频服务器发送获取目标视频数据的视频流地址请求,接收所述视频服务器发送的所述目标视频数据的视频流地址和i帧扰码信息,保存所述i帧扰码信息,其中,所述i帧扰码信息用于对视频流中的i帧加扰;

所述用户终端通过所述视频流地址获取加入所述i帧扰码信息的当前视频流,并根据保存的所述i帧扰码信息作为授权码解码和播放所述当前视频流,其中,所述当前视频流为所述目标视频数据的一部分数据。

上述描述的保护视频数据安全的方法,视频服务器每发送视频流时,先向用户终端发送i帧扰码信息,然后使用该i帧扰码信息对视频流中的i帧加扰,使得用户终端使用当前接收的该i帧扰码信息作为授权码进行解码和播放,因此,可以达到视频加密的目的,从而达到视频防盗的目的。

可选地,在所述用户终端根据保存的所述i帧扰码信息解码并播放所述当前视频流之后,所述方法进一步包括:

所述用户终端接收所述视频服务器通过长连接发送的更新的i帧扰码信息,保存所述更新的i帧扰码信息;

所述用户终端接收所述视频服务器发送的加入所述更新的i帧扰码信息的新视频流,并根据保存的所述更新的i帧扰码信息作为新的授权码对所述新视频流进行解码和播放,其中,所述新视频流为所述目标视频数据的另一部分数据。

可选地,所述i帧扰码信息包括针对视频流的i帧的i帧扰码。

可选地,所述i帧扰码为所述视频服务器产生的针对其待发送视频流的当前一次的伪随机码序列。

可选地,所述当前视频流中,所述i帧扰码信息与所述当前视频流的i帧码字相乘,或者所述i帧扰码信息按照一定码字间隔位于所述当前视频流的i帧码字中。

本申请的第二方面提供一种保护视频数据安全的方法,所述方法包括:

视频服务器接收用户终端发送的获取目标视频数据的视频流地址请求,根据所述获取视频流地址请求向所述用户终端发送所述目标视频数据的视频流地址和i帧扰码信息;

所述视频服务器将所述i帧扰码信息加入到当前视频流的i帧中并向所述用户终端发送所述当前视频流,以便所述用户终端根据所述接收的i帧扰码信息作为授权码解码并播放所述当前视频流,其中,所述当前视频流为所述目标视频数据的一部分数据。

可选地,在所述视频服务器向所述用户终端发送所述当前视频流之后,所述方法进一步包括:

所述视频服务器通过长连接向所述用户终端发送更新的i帧扰码信息;

所述视频服务器将所述更新的i帧扰码信息加入到待发送给所述用户终端的新视频流中的i帧,并向所述用户终端发送包括所述更新的i帧扰码信息的所述新视频流,以便所述用户终端根据接收的所述更新的i帧扰码信息作为新的授权码对所述新视频流进行解码和播放,其中,所述新视频流为所述目标视频数据的另一部分数据。

可选地,所述i帧扰码信息包括针对视频流的i帧的i帧扰码。

可选地,所述i帧扰码为所述视频服务器产生的针对其待发送视频流的当前一次的伪随机码序列。

可选地,所述视频服务器将所述i帧扰码信息加入到所述当前视频流的i帧具体包括:

将所述i帧扰码信息与所述当前视频流的i帧码字相乘;或者

将所述i帧扰码信息按照预定码字间隔加入到所述当前视频流的i帧码字中。

本申请的第三方面提供一种用户终端,所述用户终端用于执行所述保护视频数据安全的方法的步骤。

本申请的第四方面提供一种视频服务器,所述视频服务器用于执行所述保护视频数据安全的方法的步骤。

本申请的第五方面提供一种保护视频数据安全的装置,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述保护视频数据安全的方法的步骤。

本申请的第六方面提供一种保护视频数据安全的装置,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述保护视频数据安全的方法的步骤。

本申请的第七方面提供一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行所述保护视频数据安全的方法的步骤。

本申请的第八方面提供一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行所述保护视频数据安全的方法的步骤。

本申请的第九方面提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行所述保护视频数据安全的方法的步骤。

根据上述描述的保护视频数据安全的方案,基于视频关键帧i-frame添加扰码信息达到视频加密的目的,从而达到视频防盗的目的,用户终端基于视频播放前与视频服务器同步好的扰码信息来解密收到的视频流的i-frame关键帧,从而达到播放的目的。

上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例的一种系统架构100的结构示意图;

图2为本申请另一实施例的一种保护视频数据安全的方法的流程示意图;

图3为本申请另一实施例的另一种保护视频数据安全的方法的流程示意图;

图4为本申请另一实施例的一种保护视频数据安全的系统的结构示意图;

图5为本申请另一实施例的一种保护视频数据安全的装置的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。另外,本文中术语“系统”和“网络”在本文中常被可互换使用。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用(app),例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于用户终端、网络设备或用户终端与网络设备通过网络相集成所构成的设备。所述用户终端其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、ios操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(cloudcomputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)、无线自组织网络(adhoc网络)等。当然,本领域技术人员应能理解上述终端设备仅为举例,其他现有的或今后可能出现的终端设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

服务器105可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。其也可以是提供各种服务的服务器,例如为终端设备101、102、103提供视频服务的视频服务器。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

如图2所示,为本申请另一实施例的一种保护视频数据安全的方法的流程示意图,结合图1和图2,所述保护视频数据安全的方法可以如下所述。

视频是利用人眼视觉暂留的原理,通过播放一系列的图片,使人眼产生运动的感觉。单纯传输视频画面,视频量非常大,对现有的网络和存储来说是不可接受的。为了能够使视频便于传输和存储,人们发现视频有大量重复的信息,如果将重复信息在发送端去掉,在接收端恢复出来,这样就大大减少了视频数据的文件,因此有h.264视频压缩标准。

在h.264压缩标准中,i帧、p帧、b帧用于表示传输的视频画面,视频通过一系列的i帧、p帧、b帧进行传输。

i帧(i-frame)又称帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码,可以简单理解为一张静态画面。视频序列中的第一个帧始终都是i帧,因为它是关键帧。

p帧(p-frame)又称帧间预测编码帧,需要参考前面的i帧才能进行编码。表示的是当前帧画面与前一帧(前一帧可能是i帧也可能是p帧)的差别。解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。与i帧相比,p帧通常占用更少的数据位。

b帧(b-frame)又称双向预测编码帧,也就是b帧记录的是本帧与前后帧的差别。也就是说要解码b帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。b帧压缩率高,但是对解码性能要求较高。

因此,i帧只需考虑本帧;p帧记录的是与前一帧的差别;b帧记录的是前一帧及后一帧的差别,通过这种方式,能节约更多的空间,能压缩视频文件大小。在解码时,不仅要用之前缓存的画面,而且要知道下一个i或者p的画面。

因此,采用i帧、p帧和b帧进行视频传输既可以提高网络的适应能力,又能降低解码成本,所以现阶段的视频一般采用i帧、p帧和b帧进行传输,甚至采用i帧和p帧进行传输。

因此,根据i帧的特殊性,本申请实施例在在i帧视频流中加入扰码,以达到视频加密的目的,进而保护保护视频数据安全,可以起到防盗的作用,因此,上述保护视频数据安全的方法可以如下所述。

步骤21,用户终端向视频服务器发送获取目标视频数据的视频流地址请求,接收所述视频服务器发送的所述目标视频数据的视频流地址和i帧扰码信息,保存所述i帧扰码信息。

例如,所述用户终端为手机或电脑终端,可以安装有web浏览器或app客户端,所述用户终端通过互联网或移动通信网络连接所述视频服务器,所述移动通信网络可以为3g、4g通信系统和下一代通信系统(例如,5g),例如码分多址(codedivisionmultipleaccess,cdma)系统,时分多址(timedivisionmultipleaccess,tdma)系统,宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)系统,频分多址(frequencydivisionmultipleaccess,fdma)系统,正交频分多址(orthogonalfrequency-divisionmultipleaccess,ofdma)系统,单载波fdma(sc-fdma)系统,通用分组无线业务(generalpacketradioservice,gprs)系统,长期演进(longtermevolution,lte)系统,以及其他此类通信系统。

当用户终端需要获取视频服务器的某个目标视频数据时,所述用户终端访问该视频服务器的地址,例如该视频服务器的ip地址,所述用户终端通过该视频服务器的地址与所述视频服务器建立通信连接。

所述用户终端针对目标视频向所述视频服务器中发起获取视频流地址的请求,其中,所述视频流地址可以为该视频流的统一资源定位器(uniformresourelocator,url)地址或ip地址。

所述用户终端在接收所述视频服务器发送的所述目标视频的视频流地址时,还接收所述视频服务器发送的该目标视频的当前视频流的i帧扰码信息。例如,该i帧扰码信息包括针对当前视频流的i帧的i帧扰码,用于对所述当前视频流中的i帧加扰。例如,该i帧扰码包括该视频服务器产生的针对其待发视频流的当前一次的伪随机码序列,该伪随机码序列即为扰码。其中,所述伪随机码序列包括n位码字,n为大于等于1的整数,例如,n=2、3、4或5,例如,伪随机码序列为:0011。

本实施例中,该视频服务器可以产生2n个伪随机码序列,该视频服务器针对每次发送的视频流,可以使用一个伪随机码序列对视频流加密,例如,将i帧扰码信息与视频流的i帧码字相乘,或者将i帧扰码信息按照预定码字间隔加入到所述视频流的i帧码字中。

在本申请的另一实施例中,该视频服务器可以按照一定规律生成伪随机码序列,例如,从00000000开始,可以每预定一定时间,自动加1。

所述用户终端收到所述i帧扰码信息后,将所接收的所述i帧扰码信息进行保存。

步骤22,所述用户终端通过所述视频流地址获取加入所述i帧扰码信息的当前视频流,并根据保存的所述i帧扰码信息作为授权码解码并播放所述当前视频流,其中,所述当前视频流为所述目标视频数据的一部分数据。

所述目标视频数据可以为一个目标视频的所有视频数据,所述目标视频可以一部电影视频数据或一个视频歌曲数据等等,所述视频服务器在发送所述目标视频数据时,需要将所述目标视频数据编码成一段一段的视频流,因此,所述目标视频数据包括多个视频流,所述视频服务器分需要多次向用户终端发送所述目标视频数据的视频流。

例如,所述视频服务器将所述已经发送的i帧扰码信息加入到所述当前视频流(即待发送的视频流)的i帧中,例如,通过扰码器在视频流的i帧添加入i-frame扰码。其中,所述扰码器可以为伪随机序列发生器,将所述伪随机序列发生器生成的i帧扰码信息加入到视频流的i帧中,例如,将i帧扰码信息与所述视频流的i帧码字相乘,或者将i帧扰码信息按照预定码字间隔加入到所述视频流的i帧码字中,得到加扰后的视频流,所述视频服务器将加扰后的视频流推流到下发的视频流地址上去以供所述用户终端播放。

例如,所述视频服务器当前生成的原始视频流i帧为0011010111000,所述视频服务器为这次的视频流生成的扰码为1110,则视频服务器对于该原始视频流i帧,在每隔一定长度,例如6bit(比特),将当前的扰码加入到所述原始视频流i帧中,得到加扰后的视频流i帧,例如,加扰后的视频流i帧为:001101(1110)011100(1110)0。

例如,所述用户终端接收所述视频服务器发送的当前视频流,根据所述i帧扰码信息对所接收的当前视频流的i帧进行解扰,成功解扰后,才能解码该视频流的b帧和/或p帧,再进行视频播放。

步骤23,所述用户终端接收所述视频服务器通过长连接发送的更新的i帧扰码信息,保存所述更新的i帧扰码信息。

所述用户终端与所述视频服务器建立长连接,例如,建立消息队列遥测传输(messagequeuingtelemetrytransport,mqtt)长连接,每隔一预定时间,所述视频服务器通过所述长连接向所述用户终端发送新的i-frame扰码信息,所述新的i-frame扰码信息包括新的i-frame扰码,用于每一次对发送给所述用户终端的视频流中的i帧加扰。

所述用户终端接收更新后的i-frame扰码后,将其保存。例如,所述用户终端将新的i-frame扰码替换已经存储的i-frame扰码,即所述用户终端每次保存的都是当前新接收的i-frame扰码,而对此前已经保存的i-frame扰码进行清除处理。

步骤24,所述用户终端接收所述视频服务器发送的加入所述更新的i帧扰码信息的新视频流,并根据保存的更新后的i帧扰码信息作为新的授权码对所接收的新视频流进行解码和播放,其中,所述新视频流为所述目标视频数据的另一部分数据。

例如,所述视频服务器每次发送视频流时,均产生一个新的i-frame扰码并发送给所述用户终端,然后使用所述新的i-frame扰码对所要发送的视频流的i帧进行加扰,并向所述用户终端发送加扰后的视频流,所述用户终端不断接收更新的i-frame扰码并更新其保存的i-frame扰码,使其均可以使用当前接收的最新的i-frame扰码解码所接收的最新的视频流i帧,在解码i帧的基础上,才能解码视频流的b帧和/或p帧,进而完整解码视频流,才能正常播放。

在移动通信系统中,扰码作为现代通信的关键技术之一,是为了提高传输数据的定时恢复能力和保密性而在比特层对需要传输的数据进行随机化处理的技术,使用伪随机码序列对扩频码进行相乘,对信号进行加密。例如,移动通信系统中,利用扩频码和扰码来减少多用户之间干扰,通过加扰后将本小区信号改造成对其他小区更像白噪声,目的是使干扰随机化。

例如,移动通信系统中,在上行链路,用扰码区分同一基站控制器下不同的用户(手机是发射机);用信道化码区分物理数据信道和控制信道;在下行链路,用扰码区别不同的小区(基站是发射机),用信道化码区分同一小区中不同的用户(物理信道)。

因此,在移动通信系统中,扰码是用于将不同的终端或基站区分开来,同时,扰码还有助于提高通信的保密性。加扰不改变信号的带宽,只是将来自不同信源的信号区分开来,这样,即使多个发射机使用相同的码字扩频也不会出现问题。

而本实施例中,视频服务器对每次待发送的视频流,使用扰码对视频流的i帧进行加扰,该扰码主要是用于加密和鉴权作用,可以作为授权码、鉴权码或者加密码,用于作为用户终端播放视频流的凭证,用户终端只有使用该视频服务器发送的i帧扰码信息才能解码出该视频流的i帧,否则,用户终端不能解码该视频服务器发送的视频流,即不能播放该视频服务器发送的视频流,因此,用户终端不需要安装特定的视频播放器,只要用户终端的视频播放器支持该视频服务器发送的视频流格式即可。而且,第三方想非法盗取视频,如果仅仅获取播放地址,但由于不能获取i帧扰码信息,所以,不能对视频流的基本帧i帧进行解码,所以,不能播出视频。

综上所述,根据上述描述的保护视频流安全的方法,基于视频关键帧i-frame添加扰码信息达到视频加密的目的,用户终端基于视频播放前与视频服务器同步好的扰码信息来解密收到的视频流的i-frame关键帧,从而达到播放的目的。同时用户终端还可以和视频服务器维持一个长连接用来接收视频服务器发的不断更新的扰码信息,所述视频服务器对应每次待发送给所述用户终端的视频流,均产生新的i帧扰码信息并加入到视频流的i帧中,因此,用户终端根据长连接收到的不断更新的扰码信息来解码包括同步更新的扰码信息的视频流,从而达到视频防盗的目的。

对应于用户终端执行的所述保护视频流安全的方法,本申请的另一实施例还提供一种保护视频流安全的方法,本实施例的保护视频流安全的方法由视频服务器执行,如图3。

步骤31,视频服务器接收用户终端发送的获取目标视频数据的视频流地址请求,根据所述获取视频流地址请求向所述用户终端发送所述目标视频数据的视频流地址和i帧扰码信息。

例如,所述用户终端为手机或电脑终端,具体描述可以参考前述实施例的描述,在此不再赘述。

当用户终端需要获取视频服务器的某个目标视频数据时,所述用户终端访问该视频服务器的地址,例如该视频服务器的ip地址,所述用户终端通过该视频服务器的地址与所述视频服务器建立通信连接。

所述用户终端针对目标视频向所述视频服务器中发起获取视频流地址的请求,其中,所述视频流地址可以为该视频流的url地址或ip地址。

所述用户终端在接收所述视频服务器发送的所述目标视频的视频流地址时,还接收所述视频服务器发送的该目标视频的当前视频流的i帧扰码信息。例如,该i帧扰码信息包括针对当前视频流的i帧的i帧扰码,用于对所述当前视频流中的i帧加扰。

关于该i帧扰码信息描述,具体可以参考前述实施例对该i帧扰码信息的描述,在此不再赘述。

所述用户终端收到所述i帧扰码信息后,将所接收的所述i帧扰码信息进行保存。

步骤32,所述视频服务器将所述i帧扰码信息加入到所述当前视频流的i帧中并向所述用户终端发送所述当前视频流,其中,所述当前视频流为所述目标视频数据的一部分数据。

所述目标视频数据可以为一个目标视频的所有视频数据,所述目标视频可以一部电影视频数据或一个视频歌曲数据等等,所述视频服务器在发送所述目标视频数据时,需要将所述目标视频数据编码成一段一段的视频流,因此,所述目标视频数据包括多个视频流,所述视频服务器需要分多次向用户终端发送所述目标视频数据的视频流。因此,所述视频服务器待发送的当前视频流为所述目标视频数据的一部分数据。

例如,所述i帧扰码信息可以为伪随机码序列,该视频服务器可以按照一定规律生成伪随机码序列,例如,从00000000开始,可以每预定一定时间,自动加1。

所述视频服务器在发送当前视频流之前,将其生成的所述i帧扰码信息发送给所述用户终端。然后,所述视频服务器将所述已经发送的i帧扰码信息加入到所述当前视频流(即待发送的视频流)的i帧中,例如,通过扰码器在视频流的i帧添加入i-frame扰码。其中,所述扰码器可以为伪随机序列发生器,将所述伪随机序列发生器生成的i帧扰码信息加入到视频流的i帧中,例如,将i帧扰码信息与所述视频流的i帧码字相乘,或者将i帧扰码信息按照预定码字间隔加入到所述视频流的i帧码字中,得到加扰后的视频流,所述视频服务器将加扰后的视频流推流到下发的视频流地址上去以供所述用户终端播放。

例如,所述视频服务器当前生成的原始视频流i帧为0011010111000,所述视频服务器为这次的视频流生成的扰码为1110,则视频服务器对于该原始视频流i帧,在每隔一定长度,例如6bit(比特),将当前的扰码加入到所述原始视频流i帧中,得到加扰后的视频流i帧,例如,加扰后的视频流i帧为:001101(1110)011100(1110)0。

例如,所述用户终端接收所述视频服务器发送的当前视频流,根据所述i帧扰码信息对所接收的当前视频流的i帧进行解扰,成功解扰后,才能解码该视频流的b帧和/或p帧,再进行视频播放。

步骤33,所述视频服务器通过长连接向所述用户终端发送更新的i帧扰码信息。

所述用户终端与所述视频服务器建立长连接,例如,建立mqtt长连接,每隔一预定时间,所述视频服务器通过所述长连接向所述用户终端发送新的i-frame扰码信息,所述新的i-frame扰码信息包括新的i-frame扰码,用于每一次对发送给所述用户终端的视频流中的i帧加扰。

所述用户终端接收更新后的i-frame扰码后,将其保存。例如,所述用户终端将新的i-frame扰码替换已经存储的i-frame扰码,即所述用户终端每次保存的都是当前新接收的i-frame扰码,而对此前已经保存的i-frame扰码进行清除处理。

步骤34,所述视频服务器将所述新的i帧扰码信息加入到又一次待发送给所述用户终端的新视频流中的i帧,并向所述用户终端发送包括所述新的i帧扰码信息的所述新视频流,其中,所述新视频流为所述目标视频数据的另一部分数据。

例如,所述视频服务器每次发送视频流时,均产生一个新的i-frame扰码并发送给所述用户终端,然后使用所述新的i-frame扰码对所要发送的视频流的i帧进行加扰,并向所述用户终端发送加扰后的视频流,所述用户终端不断接收更新的i-frame扰码并更新其保存的i-frame扰码,使其均可以使用当前接收的最新的i-frame扰码解码所接收的最新的视频流i帧,在解码i帧的基础上,才能解码视频流的b帧和/或p帧,进而完整解码视频流,才能正常播放。

所述用户终端接收所述视频服务器发送的新视频流,并根据保存的更新后的i-frame扰码作为新的授权码对又一次所接收的新视频流进行解码和播放。

根据上述描述的保护视频数据安全的方法可知,基于视频关键帧i-frame添加扰码信息达到视频加密的目的,用户终端基于视频播放前与视频服务器同步好的扰码信息来解密收到的视频流的i-frame关键帧,从而达到播放的目的。同时用户终端还可以和视频服务器维持一个长连接用来接收视频服务器发的不断更新的扰码信息,所述视频服务器对应每次待发送给所述用户终端的视频流,均产生新的i帧扰码信息并加入到视频流的i帧中,因此,用户终端根据长连接收到的不断更新的扰码信息来解码包括同步更新的扰码信息的视频流,从而达到视频防盗的目的。

对应于用户终端执行的所述保护视频数据安全的方法,本申请的另一实施例还提供一种保护视频数据安全的系统,如图4,为本申请另一实施例的一种保护视频数据安全的系统的结构示意图。

所述保护视频数据安全的系统包括网络40、用户终端41和视频服务器42,所述用户终端41和所述视频服务器42通过所述网络40通信,所述网络40可以为移动通信网络或互联网。

所述用户终端41还可以包括通过总线相互连接的收发模块411、视频处理模块412、长连接模块413和存储模板414。

所述视频服务器42还可以包括通过总线相互连接的收发模块421、视频服务模块422、扰码产生器423、长连接模块424和编码模块425。

所述收发模块411,用于在所述用户终端41与所述视频服务器42建立连接后,向所述视频服务器42发送获取目标视频数据的视频流地址请求,并接收所述视频服务器42发送的所述目标视频数据的视频流地址和i帧扰码信息。

对于所述i帧扰码信息的描述,可以参考前述方法实施例的相关所述i帧扰码信息的描述,在此不再赘述。

所述存储模板414,用于存储所接收的i帧扰码信息。例如,所述存储模板414,用于将当前所接收的i帧扰码信息替换其已经保存的i帧扰码信息。

所述收发模块411,还用于通过所述视频流地址从所述视频服务器42获取加入所述i帧扰码信息的当前视频流,其中,所述当前视频流为所述目标视频数据的一部分数据。

所述视频处理模块412,用于根据保存的所述i帧扰码信息作为授权码解码和播放所述当前视频流。例如,所述视频处理模块412,用于根据所述i帧扰码信息对所接收的当前视频流的i帧进行解扰,成功解扰i帧后,再解码视频流的b帧和/或p帧,全部解码成功后,进行视频播放。

所述长连接模块413,用于与所述视频服务器42建立长连接,例如,mqtt长连接。

所述收发模块411,还用于接收所述视频服务器42通过长连接发送的更新的i帧扰码信息,并保存所述更新的i帧扰码信息,例如,将所述更新的i帧扰码信息替换已经保存的i帧扰码信息。

所述收发模块411,还用于接收所述视频服务器42发送的加入上述更新的i帧扰码信息的新视频流,其中,所述新视频流为所述目标视频数据的另一部分数据。

所述视频处理模块412,还用于根据保存的更新后的i帧扰码信息作为新的授权码对所述新视频流的i帧进行解码,成功解扰i帧后,再解码视频流的b帧和/或p帧。

本实施例中,所述用户终端所包括所述收发模块411、所述视频处理模块412、所述长连接模块413和所述存储模板414的具体工作过程,可以与前述图2实施例描述的内容对应,为避免重复描述,在此不再赘述。

对应于所述图3的方法实施例,所述视频服务器42所包括的所述收发模块421、所述视频服务模块422、所述扰码产生器423、所述长连接模块424和编码模块425的功能,可以如下所述。

所述扰码产生器423,用于针对每次待发送视频流,产生用于加扰视频流i帧的i帧扰码信息。例如,所述i帧扰码信息可以为伪随机码序列,所述扰码产生器423可以按照一定规律生成伪随机码序列,例如,从00000000开始,可以每预定一定时间,自动加1。

所述收发模块421,用于在所述用户终端41和视频服务器42建立连接后,接收所述用户终端41发送的获取目标视频数据的视频流地址请求,根据所述获取视频流地址请求向所述用户终端41发送所述目标视频数据的视频流地址和所述扰码产生器423产生的i帧扰码信息。

所述视频服务模块422用于将所述i帧扰码信息加入到所述当前视频流的i帧中,所述收发模块421还用于向所述用户终端41发送加入所述i帧扰码信息的所述当前视频流,其中,所述当前视频流为所述目标视频数据的一部分数据。

所述目标视频数据可以为一个目标视频的所有视频数据,所述目标视频可以一部电影视频数据或一个视频歌曲数据等等,所述收发模块421在发送所述目标视频数据时,所述编码模块425用于将所述目标视频数据编码成一段一段的视频流,因此,所述目标视频数据包括多个视频流,所述收发模块421需要分多次向所述用户终端41发送所述目标视频数据的视频流。因此,所述收发模块421发送的当前视频流为所述目标视频数据的一部分数据。

所述收发模块421在发送当前视频流之前,所述收发模块421还用于将所述扰码产生器423生成的所述i帧扰码信息发送给所述用户终端41进行存储。

所述视频服务模块422还用于将所述已经发送的i帧扰码信息加入到所述当前视频流(即待发送的视频流)的i帧中,例如,通过所述扰码产生器423在视频流的i帧添加入i-frame扰码。其中,所述扰码产生器423可以为伪随机序列发生器,所述视频服务模块422用于将所述伪随机序列发生器生成的i帧扰码信息加入到视频流的i帧中,例如,所述视频服务模块422用于将i帧扰码信息与所述视频流的i帧码字相乘,或者将i帧扰码信息按照预定码字间隔加入到所述视频流的i帧码字中,得到加扰后的视频流,所述视频服务模块422将加扰后的视频流推流到下发的视频流地址上去以供所述用户终端播放。

例如,所述编码模块425当前生成的原始视频流i帧为0011010111000,所述扰码产生器423为这次的视频流生成的扰码为1110,则所述视频服务模块422对于该原始视频流i帧,在每隔一定长度,例如6bit(比特),将当前的扰码加入到所述原始视频流i帧中,得到加扰后的视频流i帧,例如,加扰后的视频流i帧为:001101(1110)011100(1110)0。

所述用户终端41接收所述视频服务器42的所述收发模块421发送的当前视频流,根据其保存的所述i帧扰码信息作为授权码对所接收的当前视频流的i帧进行解扰,成功解扰后,才能解码该视频流的b帧和/或p帧,再进行视频播放。

所述长连接模块424,用于与所述用户终端41建立长连接。

所述收发模块421还用于通过长连接向所述用户终端41发送更新的i帧扰码信息。所述用户终端41接收更新后的i-frame扰码后,将其保存。例如,所述用户终端41将新的i-frame扰码替换已经存储的i-frame扰码,即所述用户终端41每次保存的都是当前新接收的i-frame扰码,而对此前已经保存的i-frame扰码进行清除处理。

所述视频服务模块422还用于将所述新的i帧扰码信息加入到又一次待发送给所述用户终端41的新视频流中的i帧。

所述收发模块421,还用于向所述用户终端41发送包括所述新的i帧扰码信息的所述新视频流,其中,所述新视频流为所述目标视频数据的另一部分数据。

所述收发模块421每次发送视频流时,所述扰码产生器423均产生一个新的i-frame扰码并通过所述收发模块421发送给所述用户终端41,然后所述视频服务模块422使用所述新的i-frame扰码对所要发送的视频流的i帧进行加扰,并通过所述收发模块421向所述用户终端发送加扰后的视频流,所述用户终端41不断接收更新的i-frame扰码并更新其保存的i-frame扰码,使其均可以使用当前接收的最新的i-frame扰码解码所接收的最新的视频流i帧,在解码i帧的基础上,才能解码视频流的b帧和/或p帧,进而完整解码视频流,才能正常播放。

所述用户终端接41收所述视频服务器发送的新视频流,并根据保存的更新后的i-frame扰码作为新的授权码对所接收的新视频流进行解码。

为解决上述技术问题,本申请实施例还提供一种保护视频数据安全的装置,所述保护视频数据安全的装置可以为用户终端或视频服务器,其中,用户终端可以为计算机设备,具体请参阅图5,图5为本实施例保护视频数据安全的装置基本结构框图。

所述保护视频数据安全的装置5包括通过系统总线相互通信连接存储器51、处理器52、网络接口53。需要指出的是,图中仅示出了具有组件51-53的保护视频数据安全的装置5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的所述保护视频数据安全的装置5是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述保护视频数据安全的装置5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述保护视频数据安全的装置5可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器51至少包括一种类型的可读存储介质,所述可读存储介质包括非易失性存储器(non-volatilememory)或易失性存储器,例如,闪存(flashmemory)、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦写可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、电可擦写可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、可编程只读存储器(programmableread-onlymemory,prom)、磁性存储器、磁盘、光盘等,所述ram可以包括静态ram或动态ram。在一些实施例中,所述存储器51可以是所述保护视频数据安全的装置5的内部存储单元,例如,该所述保护视频数据安全的装置5的硬盘或内存。在另一些实施例中,所述存储器51也可以是所述保护视频数据安全的装置5的外部存储设备,例如该所述保护视频数据安全的装置5上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器51还可以既包括所述保护视频数据安全的装置5的内部存储单元也包括其外部存储设备。本实施例中,所述存储器51通常用于存储安装于所述保护视频数据安全的装置5的操作系统和各类应用软件,例如用于执行保护视频数据安全方法的程序代码等。此外,所述存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。

在本申请实施例中,该处理器52可以是中央处理单元(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52还可以是其他通用处理器、数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,例如单片机等。

该处理器52通常用于控制所述保护视频数据安全的装置5的总体操作。本实施例中,所述存储器51用于存储程序代码或指令,所述程序代码包括计算机操作指令,所述处理器52用于执行所述存储器51存储的程序代码或指令或者处理数据,例如运行用户终端或视频服务器执行保护视频数据安全方法的程序代码。

本文描述的总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该总线系统可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

本申请的另一实施例还提供一种计算机可读介质,计算机可读介质可以是计算机可读信号介质或者计算机可读介质。计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图2或3分别对应的用户终端或视频服务器执行保护视频数据安全方法中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。

计算机可读介质包含但不限于电子、磁性、光学、电磁、红外的存储器或半导体系统、设备或者装置,或者前述的任意适当组合,所述存储器用于存储程序代码或指令,所述程序代码包括计算机操作指令,所述处理器用于执行所述存储器存储的程序代码或指令。

所述存储器和所述处理器的定义,可以参考前述计算机设备实施例的描述,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1