一种基于H.264编码的视频加解密方法技术

技术编号:11635790 阅读:223 留言:0更新日期:2015-06-24 09:23
本发明专利技术公开了一种基于H.264编码的视频加解密方法,本发明专利技术的加解密方法选择性地对视频帧进行加密:仅针对编码后的H.264视频关键帧数据进行部分加密,能够快速部署到有加密需求的视频传输端上,提升了加密运算效率,保证了实时视频的质量,同时,采用通用的加密算法也为客户端的解码工作带来极大方便。该加密技术不参与、不影响视频的编码过程,可以由用户定制加密密钥Key,自由选择硬件加密或软件加密的加密方法。

【技术实现步骤摘要】

本专利技术属于视频传输通信安全
,尤其是一种基于H.264编码的视频加解密方法
技术介绍
现在的视频监控系统尤其是IP摄像机都是以明文的方式把摄像机采集的视频数据传输到服务器或客户端上,以明文的方式把采集的视频数据保存在外部存储卡或计算机硬盘上,这种明文传输和明文保存的视频数据很容易被截获和窃取,存在极大的安全隐患。传统的视频数据加密算法大都是把视频数据当作普通二进制数据,采用标准的DES、AES等对称性加密算法直接进行加密,这些算法通常运算量较大而不能满足视频流的实时性要求。一些针对视频编码格式的加密算法(比如基于H.264的视频加密)在一定程度上降低了运算量,但是复杂多样的视频加密算法以及客户端解密的繁琐,也为系统的实施部署尤其是在嵌入式的IP摄像机上带来了极大困难,大大降低了通用性和实际使用价值。专利申请“201410279771.9”,名称“一种基于多媒体数据的选择性加密方法及装置”,公开日“2014-10-1”。提出了一种对多媒体数据进行选择性加密的方法,其中,基于多媒体数据的选择性加密方法包括接收来自数据源的多媒体数据,并对所述多媒体数据进行编码;采用预定策略从所述编码过的多媒体数据中选择需要加密的多媒体数据;对所述需要加密的多媒体数据采用预定的加密算法进行加密,获得编码且加密后的多媒体数据;对所述经过编码且加密后的多媒体数据进行解码,获得加密后的多媒体数据。该专利技术虽然在一定程度上解决了多媒体加密运算量较大的问题,但采用私有加密算法不如标准加密算法如AES、DES具有通用性,这样对加密方案的部署以及客户端的解密带来不便;同时,该专利技术在实施上是基于windows软件来实现的,无法实施到基于嵌入式的IP摄像机上尤其支持硬件加密的IP摄像机上。
技术实现思路
本专利技术针对现有H.264视频加密技术的不足,尤其是基于嵌入式的IP摄像机视频帧加密的性能瓶颈,提出了一种基于H.264编码的选择性加解密方案,该专利技术解决了嵌入式IP摄像机视频的传输和存储安全,同时也保证了视频的实时要求。技术方案:一种基于H.264编码的视频加解密方法,具体步骤为:S1、视频传输端的应用程序将密钥Key进行配置;s2、SoC编码模块完成H.264编码后,加密选择模块判断出关键帧和非关键帧;S3、将步骤s2判断出的关键帧进行加密处理,并在帧数据最后增加两个字节数据以标识加密帧及数据加密长度;s4、将步骤S3处理后的关键帧和步骤s2判断出的非关键帧送入流媒体处理模块进行打包封装;s5、视频播放端接收步骤s4处理后的视频帧,通过帧头部的TYPE类型识别出关键帧和非关键帧,然后通过帧数据的最后两个字节确认帧加密方式及数据加密长度,使用密钥Key对关键帧进行解密处理,解密处理中将关键帧的最后两个字节数据删除;S6、H.264解码器对步骤s5解密后的关键帧和步骤s5识别出的非关键帧进行解码并渲染播放。优选的,步骤s2中,根据已编码数据的NALU头部的TYPE字段以及后续数据内容判断出关键帧和非关键帧。优选的,在于步骤s3中,所述加密处理的方法自由选择:通过SoC加密模块进行;或应用程序软件进行。其中,选用应用程序软件进行加密处理时:从已编码数据的NALU主体最前端开始,选择数据长度N进行加密,数据长度N的选择需要同时满足加密效果和加密性能的折中。其中,选用SoC加密模块进行加密处理时:采用AES或DES或3DES算法,对关键帧的NALU主体数据进行加密处理。优选的,步骤s4中,所述打包封装采用标准的RTP/RTCP封装模块对视频帧进行流化处理。作为一种方案,所述视频传输端为播放H.264视频文件的通用流媒体服务器,所述视频播放端为增加了步骤s5中所述解密处理功能的用户客户端。作为另一种方案,所述视频传输端为USB接入的摄像头,所述视频播放端为增加了步骤s5中所述解密处理功能的用户客户端。作为另一种方案,所述视频传输端为IP摄像机,所述视频播放端为具有步骤s5中所述解密处理功能的监控客户端。所述密钥Key的生成和使用定制化管理:在IP摄像机的应用程序中管理;或在IP摄像机接入的云端或服务器中管理,再下发至IP摄像机的应用程序中。有益效果:本专利技术的加解密方法选择性地对视频帧进行加密,仅针对编码后的H.264视频关键帧数据进行部分加密,能够快速部署到有加密需求的视频传输端(流媒体服务器尤其嵌入式的IP摄像机)上,提升了加密运算效率,保证了实时视频的质量,同时,采用通用的加密算法也为客户端的解码工作带来极大方便。该加密技术不参与、不影响视频的编码过程,可以由用户定制加密密钥Key,自由选择硬件加密或软件加密的加密方法。【附图说明】图1为本专利技术实施例中的视频加解密流程图。图2为本专利技术实施例中的加密帧示意图。图3为本专利技术实施例中的密钥配置示意图。【具体实施方式】下面结合实施例对本专利技术作进一步说明,但本专利技术的保护范围不限于此:实施例1:本专利技术在嵌入式IP摄像机(IP Jnternet Protocol,网络之间互联的协议)上的具体实施。本实施例中,IP摄像机的SoC芯片(SoC:System-on-a-chip,系统芯片)包括SoC编码模块、SoC加密模块、加密选择模块。如图1所示,当IP摄像机采集到视频源经过量化后,送入SoC编码模块进行H.264编码。加密选择模块判断编码后的H.264帧类型,如果是关键帧(I帧),送入SoC加密模块进行加密,如果是非关键帧,不进行加密处理。SoC加密模块可以根据需要选择硬件加密或软件加密方式,加密处理后并在帧数据最后增加两个字节数据以标识加密帧及数据加密长度。一个标准的 H.264 帧由 NALU 头部(NALU:Network Abstract Layer,网络提取层单元)和NALU主体组成,根据NALU头部的TYPE字段以及后续数据内容判断出关键帧,然后把NALU主体数据送入SoC加密模块进行加密运算。本实施例中选用硬件加密方式,加密使用的密钥Key和用户当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种基于H.264编码的视频加解密方法,其特征在于具体步骤为:s1、视频传输端的应用程序将密钥Key进行配置;s2、SoC编码模块完成H.264编码后,加密选择模块判断出关键帧和非关键帧;s3、将步骤s2判断出的关键帧进行加密处理,并在关键帧的帧数据最后增加两个字节数据以标识加密帧及数据加密长度;s4、将步骤s3处理后的关键帧和步骤s2判断出的非关键帧送入流媒体处理模块进行打包封装;s5、视频播放端接收步骤s4处理后的视频帧,通过帧头部的TYPE类型识别出关键帧和非关键帧,然后通过帧数据的最后两个字节确认帧加密方式及数据加密长度,使用密钥Key对关键帧进行解密处理,解密处理中将关键帧的最后两个字节数据删除;s6、H.264解码器对步骤s5解密后的关键帧和步骤s5识别出的非关键帧进行解码并渲染播放。

【技术特征摘要】

【专利技术属性】
技术研发人员:张焰刘成天
申请(专利权)人:南京中新赛克科技有限责任公司
类型:发明
国别省市:江苏;32

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

1