当前位置:智慧城市产品技术 → 正文

基于关键帧提取技术的网络视频监控系统

责任编辑:editor004 |来源:企业网D1Net  2014-12-03 11:40:15 本文摘自:EEFOCUS

应用背景

由于宽带网络近年来在世界各地的高速发展,高品质的音视频压缩技术不断推陈出新,更高的压缩比率加上更宽的带宽,使得互联网用户在互联网上观看高品质电视节目的愿望不再是幻想。美国、意大利、法国、加拿大等国网络视频市场的日渐成熟,国内哈尔滨、泉州、上海等地的小试牛刀,都证明了以更强的互动性作为卖点、基于互联网技术和P2P传输技术的网络视频服务已经渐成气候。网络视频是对基于互联网技术传播的所谓宽带视频的统称,可以是用户自己制作、在线上传或点播视频节目,自主性和自助性强。各种视频网站和流媒体服务器随着人们对网络视频服务的需求快速增长,民营网络视频企业更是如雨后春笋。2007年是网络视频用户基数迅速成长的一年。据CNNIC今年1月份发布中国互联网调查报告,76.9%的网络用户使用网络视频,成为继音乐、即时通信之后的第三大互联网应用。这也是网络家庭娱乐应用第一次全面超过了网络商务应用,即邮件、搜索引擎和新闻等传统资讯应用。但随着网络视频的高速成长,各种黄色、暴力和反动等垃圾信息也掺杂在网络视频中在宽带网络上肆意泛滥,严重影响了人们的正常工作和生活,也对社会精神文明建设和未成年人教育带来了巨大的隐患。由于宽带视频网络的高速数据包传送,传统的信息安全监控设备在这方面显得力不从心,因此,我们提出应用关键帧提取技术来抽取网络视频中的关键帧,从而减小处理的负载和存储空间,降低设备成本并提高处理效率。建立相应的垃圾视频关键帧匹配库,通过视频关键帧匹配算法和模式,从高速的视频流中监测出垃圾信息。应用此视频监控系统和其他网络安全设备,可以为企业、学校和家庭打造一个高速干净的网络视频环境,让人们轻松尽情享受宽带视频服务。

系统方案

1.视频解码方案论证

方案一:利用Xilinx公司的FPGA产品Spartan 3E实现系统的视频解码。在Spartan 3E支持的MicroBlaze微处理器软核上移植开源视频解码器,由于MicroBlaze最高处理频率为50MHz,远不能满足现在的高速视频数据包的解码;方案二:通过在最新嵌入式微处理机eBox-4300上移植嵌入式操作系统WinCE来实现开源视频解码器。eBox处理器主频为500MHz,可以满足10/100MHz网络的视频解码,且在eBox上的WinCE操作系统可移植性较好,便于以后在系统中加入更多的视频格式解码器。2.数据包前端处理方案论证
方案一:利用Xilinx公司FPGA产品系列Spartan 3E来捕获网络中的视频数据包。高速的逻辑结构和并行特性是FPGA的特性,通过FPGA来识别并捕获视频数据包能降低系统的丢包率和漏报率;方案二:利用eBox-4300自带的以太网接口直接连接到网络上。由于WinCE操作系统下的以太网操作已封装好,为了兼顾可移植性,因此其效率没有直接在FPGA上实现的IP核好。3.关键帧匹配方案论证

方案一:利用Xilinx公司的FPGA产品系列Spartan 3E来实现视频关键帧标准库的查找和匹配。由于FPGA特有的存储单元结构,便于快速查找。

方案二:利用ADI公司的Blackfin 535数字信号处理器来实现视频帧的匹配算法。DSP特有的快速音视频处理能力能很好满足系统的性能要求。但Blackfin的片上存储空间有限,如果增加外部存储器将降低关键帧查找速率,从而成为整个系统的瓶颈。综合上述:系统采用Xilinx公司的FPGA产品系列Spartan 3E来作为数据包前端处理,识别并捕获相应格式的网络视频数据包,按序列将视频数据包传送到eBox-4300处理器上的视频解码单元。在eBox-4300处理器上抽取出视频的关键帧后,将视频关键帧传送到在Spartan 3E上实现的关键帧匹配单元中进行匹配模式检验。

  

图 1 系统示意图

[page]实现原理1. 视频数据包识别捕获

实时流协议RTSP是一个应用层协议,用于控制具有实时特性的数据如多媒体流的传送。为多媒体数据流提供远程控制功能,如播放、 停止、快进等。该协议支持以下操作:

1. 从媒体服务器上获取媒体;

2. 邀请媒体服务器加入会议;

3. 在一个已存在的演示中加入新的媒体流。

RTSP协议一般与RTP/RTCP和RSVP等底层协议一起协同工作,提供基于Internet的整套的流服务。它可以选择发送通道如UDP、组播UDP和TCP和基于RTP的发送机制。它可以应用于组播和点播。

RTSP协议负责在服务器和客户端之间建立并控制一个或多个时间上同步的连续流媒体,其目标是像HTTP协议为用户提供文字和图形服务那样为用户提供连续媒体服务。因此,RTSP协议的设计在语法和操作上与HTTP协议很相似,这样,对于HTTP的大部分扩展也适用于RTSP。但是RTSP协议和HTTP协议在很多方面有着区别:


  1. HTTP是一个无状态协议,而RTSP协议是有状态的。
2. HTTP本质上是一个非对称协议,客户端提出请求而服务器响应;而RTSP是对称的,服务器和客户端都可发送和响应请求。
  

在RTSP中,每个演示及其所对应的媒体流都由一个RTSP URL标识。整个演示及媒体特性都在一个演示描述文件中定义,该文件可能包括媒体编码方式、语言、RTSP URLs、目标地址、端口及其它参数。用户在向服务器请求某个连续媒体流的服务之前,必须首先从服务器获得该媒体流的演示描述文件以得到必需的参数,演示描述文件的获取可采用HTTP、Email或其他方法。
  

RTSP中的所有的操作都是通过服务器和客户方的消息应答来完成的,其消息包括请求和响应两种,RTSP正是通过服务器和客户端的消息 应答来完成媒体流的创建、初始化、VCR控制以及拆线等操作的。在基于客服端/服务器结构的分布式视频点播系统中,RTSP协议的操作过程如下所示:

图 2  基于RTSP的流媒体服务器

图 2 基于RTSP的流媒体服务器

客户机在向视频服务器请求视频服务之前,首先通过HTTP协议从Web服务器获取所请求视频服务的演示描述文件,利用该文件提供的信息定位视频服务地址包括视频服务器地址和端口号,及视频服务的编码方式等信息。然后客户机根据上述信息向视频服务器请求视频服务。视频服务初始化完毕,视频服务器为该客户建立一个新的视频服务流,客户端与服务器运行实时流控制协议RTCP,以对该流进行各种VCR控制信号的交 换,如播放、暂停、快进、快退等。当服务完毕,客户端提出拆线请求,需要说明的是,服务器使用RTP/UDP协议将媒体数据传输给客户端,一旦数据抵达客户端,客户端应用程序即可播放输出。在流式传输中,使用RTP/RTCP/UDP和RTSP/TCP两种不同的通信协议在客户端和服务器间建立联系。Microsoft公司的Windows Media的核心是ASF(Advanced Stream Format)。微软将ASF 定义为同步媒体的统一容器文件格式。ASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式,以网络数据包的形式传输,实现流 式多媒体内容发布。ASF最大优点就是体积小,因此适合网络传输,使用微软公司的最新媒体播放器可以直接播放该格式的文件。用户可以将图形、声音和动画数据组合成一个ASF格式的文件,当然也可以将其他格式的视频和音频转换为ASF格 式,而且用户还可以通过声卡和视频捕获卡将诸如麦克风、录像机等等外设的数据保存为ASF格式 [page]

ASF具有可扩展的媒体类型,ASF文件允许制作者很容易地定义新的媒体类型。ASF格式提供了非常有效的灵活地定义符合ASF文件格式定义的新的媒体流类型。任一存储的媒体流逻辑上都是独立于其他媒体流的,除非在文件头部分明显地定义了其与另一媒体流的关系。

ASF是设计用来表示可伸缩的媒体类型的带宽之间的依赖关系。ASF存储各个带宽就像一个单独的媒体流。媒体流之间的依赖关系存储在文件头部分,为客户机以一个独立于压缩的方式解释可伸缩的选项提供了丰富的信息流的优先级,现代的多媒体传输系统能够动态地调整以适应网络资源紧张的情况如带宽不足。多媒体内容的制作者要能够根据流的优先级表达他们的参考信息,如最低保证音频流的传输。随着可伸缩媒体类型的出现,流的优先级的安排变得复杂起来,因为在制作的时候很难决定各媒体流的顺序。

    

ASF设计为支持多语言。媒体流能够可选地指示所含媒体的语言。这个功能常用于音频和文本流。一个多语言ASF文件指的是包含不同语言版本的同一内容的一系列媒体流,其允许客户机在播放的过程中选择最合适的版本。

ASF提供可继续扩展的目录信息的功能,该功能的扩展性和灵活性都非常好。所有的目录信息都以无格式编码的形式存储在文件头部分,并且支持多语言,如果需要,目录信息既可预先定义如作者和标题,也可以是制作者自定义。目录信息功能既可以用于整个文件也可以用于单个媒体流。ASF文件主要有三种数据对象组成Header Object,Data Object,Index Object。Header Object包括ASF文件的主要信息,必须位于文件首部。Data Object包含数据信息,紧跟在Header Object之后,Index Object是非必须,提供跳跃索引,位于文件结尾。RTSP协议中,ASF的Header Object用Base64编码加密以后放在SDP(Session Description Protocol)数据包中。在系统中,我们采用了移植在eBox-4300上的WinCE作为系统的嵌入式操作系统,为了解码器的工作效率和移植方便,我们采用ASF流媒体文件格式。根据搭建的基于RTSP协议的流媒体服务器,可以校验在网络中截取到数据包的特定协议字段,如果应用层协议有RTSP的协议字段,就将数据包取出,按协议进行对包的卸载,提取出ASF文件,再将ASF文件按序列传输到下一处理单元进行视频解码,并提取出关键帧。2.网络视频关键帧提取

视频数据是分层结构,结构粒度从上到下逐渐减小。最顶层是粒度最大的视频,即一段视频流。最底层是粒度最小的帧,即单个的视频帧图像,对帧图像的处理可以采用图像特征提取技术,提取诸如颜色、纹理、形状等静态特征或空间运动的动态特征。镜头是一组时间上连续的帧序列,它代表一个场景中在时间上和空间上连续的动作,对应着摄像机的一次记录起停操作,也称为剪裁或拍摄。镜头是视频数据的最小单元,视频检索的结果就是获得符合条件的若干镜头。场景是一组语义上相关联及在时间上相邻的镜头的集合。

图3 视频层次结构示意图

图3 视频层次结构示意图

关键帧是反映一组镜头中主要信息内容的一帧或若干帧图像,可以简洁地表达镜头内容。因为每个镜头都是在同一场景下拍摄的,同一个镜头中的各帧图像有相当大的重复信息。考虑到存储容量和处理效率的因素,仅需要存储镜头关键帧,可达到降低系统存储容量和减少处理器冗余工作的效果。其次,从关键帧的匹配效率考虑,用关键帧来代表镜头,作用类似于入侵检测系统中的匹配规则,这样对网络视频流可用图像匹配技术进行处理。针对关键帧的特点,选取时有两个基本要求:第一,所选帧必须能够反映镜头中的主要事件,描述应尽可能准确完全,所以一般采用保守原则,宁可错选,也不能少提取;第二,为了减少系统存储设备,提高处理数据包的效率,数据处理量应尽量小,计算不宜过于复杂,因此关键帧的抽取应尽量少而精确。 [page]

早期的提取关键帧的尝试主要是采用颜色特征。一个简单的提取关键帧的想法是选择镜头片段的第一帧作为关键帧。当然这样提取的关键帧是很不准确的。在基于镜头的方法中,比较经典的有帧平均法和直方图平均法。帧平均法是从镜头中取所有帧在某个位置上像素值的平均值,然后将镜头中该点位置的像素值最接近平均值的帧作为关键帧。直方图平均法则是将镜头中所有帧的统计直方图取平均,然后选择与该平均直方图最接近的帧作为关键帧。这些方法的优点是计算比较简单,所选取的帧具有平均代表意义。缺点是只从一个镜头中选取一个关键帧,无法处理运动强度较高的镜头。一般说来,从镜头中选取一帧或固定数目的关键帧的方法并不是很好,因为当处理变化很少的镜头时,这样选取的关键帧过多,而对于运动较多的镜头,用一两个关键帧又无法充分描述其内容。所以有人提出了基于内容分析的方法。

综合前人的研究成果,我们在本系统采用渐变控制的方法。首先选取每个镜头的第一帧作为关键帧,同时作为其他候选关键帧的参考帧,将后续每帧和参考帧比较,当其差别大于预定的阀值时,即将当前帧作为新的关键帧,同时将此帧作为新的参考帧。

3. 视频关键帧匹配

常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征等。

颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。颜色直方图简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法。空间关系,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接或邻接关系、交叠或重叠关系和包含包容关系等。通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强调的是目标之间的距离大小以及方位。显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。优秀的匹配算法是系统工作效率和辨识能力的保证,而高效的匹配算法需要准确地描述出关键帧的特征。在本系统中,我们考虑到系统计算能力和稳定性的要求,采用颜色直方图和形状特征相结合的描述算法。当提取出当前网络视频流的关键帧序列后,将关键帧以流水线作业的方式后匹配规则库中的匹配图像做比较,若相似率大于预定的阀值时,我们就有理由相信当前视频流是垃圾视频。如果相似率低于预定的阀值,但落在了一个预定的有嫌疑的区间中,我们可以提取当前关键帧的颜色直方图和轮廓特征,与匹配图像的颜色直方图和轮廓特征相比较,如果其匹配概率大于预警阀值,系统可向管理员提出告警,再通过人工识别的方式来判断当前视频流是否非法。

4. 告警响应和处理

随着网络风险系数不断提高,网络攻击技术和病毒木马技术日益更新,单纯的网络安全设备已经不能满足企业、学校和家庭的安全保障。因此,本系统对视频信息的监测也将和其它网络安全设备结合在一起,构成全方位的网络安全保障体系结构来保证一个安全和谐的网络环境。

基于系统特有的预警机制,可以降低误报率和提高监测效率。当系统检测到垃圾视频信息时,将提取出该视频数据包的源IP地址和端口等信息,并将信息显示在系统报警页面通知系统管理员的同时,也会将信息传输到网络安全保障体系结构中的其他相关安全设备,如防火墙等。防火墙将第一时间将此非法IP地址和端口列入黑名单中,禁止该IP地址的视频数据包通过防火墙。

图4  安全保障体系结构

图4 安全保障体系结构

系统也可和入侵检测及安全审计等安全设备结合,来防止病毒和木马等捆绑在视频信息中对用户进行攻击。系统首先将关键帧进行匹配校验,如果相似率低于预警阀值,我们也不能掉以轻心,不排除其图像中隐藏有病毒和木马等信息,导致图像像素发生了肉眼无法区别的改变,由于图像像素结构的改变,可能会欺骗视频监测系统,从而通过了检验。因此,此时系统会将关键帧传输到病毒扫描系统进行进一步的检查。

由于系统本身的匹配校验和预警机制,同时结合网络安全保障体系中其他安全设备的资源来对视频流进行监测,可以保障视频信息的干净和安全,同时不影响用户对视频服务的享受。

系统实现

I.硬件实现

系统分别由视频数据包识别捕获单元、视频解码关键帧提取处理单元、关键帧查询单元、视频关键帧匹配单元、关键帧匹配规则库和告警响应处理单元六个模块组成。

视频数据包识别捕获单元视频数据包识别捕获单元由FPGA Spartan 3E板卡来实现。FPGA具有高速并行处理的逻辑编程结构,可以实现流水线识别源IP地址、源端口和目的IP地址、目的端口,以及协议类型、视频标志字段等信息的处理。根据用户特定需要监测的视频类型和流媒体协议,用户可以自定义视频特定位置的标志字段。识别捕获数据包单元过滤到相应的视频数据包时,将按照特定的流媒体协议对数据包进行卸载,提取出视频信息后传输到后继视频解码单元,提取出视频的关键帧。视频解码关键帧提取处理单元视频解码关键帧提取单元在eBox-4300上的Wince操作系统上实现。Wince是微软公司开发的嵌入式操作系统,具有很好的移植性和视频处理库,开发容易上手等优点。同时考虑到当前视频格式标准多样,为了提高系统的功能,以后一定会不断向系统添加新的解码器。而Wince上软件的兼容性相对其他的操作系统较强,当用户添加其他解码器时更简单。关键帧查询单元关键帧的查询是为了方便系统管理员对系统的工作效能进行控制。在系统管理过程中,管理员可以通过身份验证登录到系统管理页面,查看当前时间段的告警信息和相应的关键帧,并可根据人为识别的方法,决定是否向关键帧匹配库中添加新的匹配图像。视频关键帧匹配单元视频关键帧的匹配是系统的主要部分,系统监测的准确性主要取决于关键帧的匹配算法和模式。FPGA中,与RAM存储单元相关的资源有三类:Block RAM、LUT、寄存器。这三类资源可以通过配置和粘合逻辑实现为不同类型和位宽大小的单端口/双端口RAM、ROM、CAM、FIFO等。FPGA中CAM的实现和配置非常灵活,CAM是实现模式匹配的核心资源。CAM即内容可寻址存储器。CAM这种存储器在其每个存储单元都包含了一个内嵌的比较逻辑,CAM基于内容寻址,通过硬件电路并行查找,实现快速匹配。一般来说在一个时钟周期内,写入CAM的待比较数据和其内部存储的每一个数据进行比较,并返回与端口数据相同的内部数据存储的地址和是否匹配的标识符。CAM的这种并行处理特性使得它在数据分选领域倍受青睐,被广泛应用在以太网网址搜寻、路由器中的地址交换表、高速数据处理等方面。基于CAM在模式匹配方面的良好特性,我们将关键帧的匹配单元在FPGA中实现。由于Spartan 3E的BRAM资源有限,所以系统存储的关键帧数据不会很多。将匹配图像的颜色直方图和形状轮廓信息存储在CAM中后,提取关键帧的颜色直方图和形状轮廓信息进行匹配。用这种方法可以提高关键帧匹配的速率,避免了系统的瓶颈。关键帧匹配规则库视频关键帧匹配规则库的更新是提高视频监测准确性的关键。因此,视频匹配规则库良好的接口设计是用户交互的重要方面,在本系统中,我们将关键帧信息存储在CAM中,当用户根据自己的需求,提取出自定义图像的颜色直方图和形状轮廓特征信息后,可在线写入CAM中,作为新的匹配规则。告警响应处理单元鉴于当前网络攻击方式的多种多样和系统本身的处理能力有限,我们建议将此系统和其它网络安全设备相结合构成网络安全保障体系结构。综合各种安全监测设备自身的优点和不足,合理利用有限的资源,全方位保障内部网络的安全。在此系统中,我们可以提取出视频源的IP地址和端口号,如果确定当前视频含有垃圾信息,系统将其IP地址和端口号传输到体系中的防火墙等设备,由防火墙截断其数据包的传输,并将其列入黑名单重点监测。同时,提取出的关键帧还将由病毒扫描系统等安全审计设备进行检查,防止视频中捆绑有病毒和木马等攻击信息。

图5   硬件实现示意图

图5 硬件实现示意图

II.软件实现

系统网络接口Lwip是瑞士计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。Lwip既可以移植到操作系统上,又可以在无操作系统的情况下独立运行.

LwIP的特性如下:

(1) 支持多网络接口下的IP转发;

(2) 支持ICMP协议 ;

(4) 包括阻塞控制,RTT估算和快速恢复和快速转发的TCP协议;

(5) 提供专门的内部回调接口(Raw API)用于提高应用程序性能; 

(6) 可选择的Berkeley接口API(多线程情况下);

(7) 在最新的版本中支持PPP;

(8) 新版本中增加了的IP fragment的支持;

(9) 支持DHCP协议,动态分配ip地址。

在Xilinx公司提供的ISE 10.1开发套件中,EDK开发软件支持Lwip的应用,同时软件自身包含Lwip的库。因此,系统中的网络接口我们全部基于Lwip的RAW IP模式开发。关键帧提取FFmpeg是用于制作和转化流媒体音频和视频的完整解决方案, 包括 libavcodec ,一套先进的的音视频编解码类库。FFmpeg 在Linux上开发,当可以在大多数操作系统下编译,包括Windows。

Ffmpeg开源项目由以下几部分组成:

FFmpeg 视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件;FFserver 基于HTTP(RTSP正在开发中)用于实时广播的多媒体服务器.也支持时间平移;FFplay 用 SDL和FFmpeg库开发的一个简单的媒体播放器; libavcodec 一个包含了所有FFmpeg音视频编解码器的库.为了保证最优性能和高可复用性,大多数编解码器从头开发的;libavformat 一个包含了所有的普通音视格式的解析器和产生器的库.在系统中的网络视频解码和关键帧提取单元,解码器的实现是在开源音视频解码器库libavccodec的开发上实现的。RS232串口通信

1K Xmodem文件传输协议为基于点对点连接的服务与客户端间的通信,提供了一种固定包长度的简单的连续文件传输协议。每一个包都包含1024字节的文件数据,并且都单独的被接收客户端响应。每次只能传输一个文件,并且失败后只能从新开始传输。

图 6 文件数据包格式

图 6

文件数据包格式1K Xmodem文件传输协议并不需要向接收客户端发送待发送文件的名称 ,该文件将会被接收方授予一个局部有效的文件名。 要开始文件传输的过程,首先接收方向发送方发送一个轮询字符,来提示发送方客户端已经准备好了。如果接收方支持check-sum (CRC)校验,则轮询字符可以用0x43 (ASCII 字母 C);如果接收方只支持旧的checksum (求总和)校验,则轮询字符可以用0x15 (NACK线控制字符)。发送方响应接收方的启动字符,开始发送文件数据包,每个包都是1024字节的固定长度。如果最后一个文件数据包不足1024字节,则利用NACK(0x1A)填充到1024字节。接收方通过ACK(正常接收)或者NACK(非正接收)来响应每一个包。如果发送方收到ACK,则发送下一个包知道文件传输完成;如果发送方收到NACK,则重新发送上一个包。当发送方发送完成后,发送EOT通知接收方文件传输结束,接收方发送ACK来响应,发送方收到ACK后则文件传输完成。在系统中,eBox-4300通过1K Xmodem文件传输协议和Spartan 3E的RS232串口进行关键帧的传输。同时,系统也可以通过串口和系统管理主机进行通信。

图 7 软件实现流程图  


图 7 软件实现流程图

1.捕获分析:用户可根据实际情况,调整视频数据包捕获的标志字段,来截取当前网络中的视频数据包; 2.灵活的解码系统:由于当前流媒体文件格式多样,我们在此系统中只进行了ASF格式流媒体文件的解码,但用户可以自己编译自定义的解码器并添加到当前系统中; 3.匹配规则更新:匹配规则的更新是系统高效工作的前提,系统良好的用户交互界面,将帮助用户轻松添加新的匹配规则到当前系统中; 4.协调功能:系统架构初期充分考虑到目前的网络安全设备已经多种多样,为了充分利用网络中已有安全设备的资源,对一些常见的防御功能不再设计。因此,本系统可以很好地和其他安全设备交互网络信息,协调工作功能,从而保障网络各方面的安全。

关键字:关键帧纹理特征ASF格式

本文摘自:EEFOCUS

x 基于关键帧提取技术的网络视频监控系统 扫一扫
分享本文到朋友圈
当前位置:智慧城市产品技术 → 正文

基于关键帧提取技术的网络视频监控系统

责任编辑:editor004 |来源:企业网D1Net  2014-12-03 11:40:15 本文摘自:EEFOCUS

应用背景

由于宽带网络近年来在世界各地的高速发展,高品质的音视频压缩技术不断推陈出新,更高的压缩比率加上更宽的带宽,使得互联网用户在互联网上观看高品质电视节目的愿望不再是幻想。美国、意大利、法国、加拿大等国网络视频市场的日渐成熟,国内哈尔滨、泉州、上海等地的小试牛刀,都证明了以更强的互动性作为卖点、基于互联网技术和P2P传输技术的网络视频服务已经渐成气候。网络视频是对基于互联网技术传播的所谓宽带视频的统称,可以是用户自己制作、在线上传或点播视频节目,自主性和自助性强。各种视频网站和流媒体服务器随着人们对网络视频服务的需求快速增长,民营网络视频企业更是如雨后春笋。2007年是网络视频用户基数迅速成长的一年。据CNNIC今年1月份发布中国互联网调查报告,76.9%的网络用户使用网络视频,成为继音乐、即时通信之后的第三大互联网应用。这也是网络家庭娱乐应用第一次全面超过了网络商务应用,即邮件、搜索引擎和新闻等传统资讯应用。但随着网络视频的高速成长,各种黄色、暴力和反动等垃圾信息也掺杂在网络视频中在宽带网络上肆意泛滥,严重影响了人们的正常工作和生活,也对社会精神文明建设和未成年人教育带来了巨大的隐患。由于宽带视频网络的高速数据包传送,传统的信息安全监控设备在这方面显得力不从心,因此,我们提出应用关键帧提取技术来抽取网络视频中的关键帧,从而减小处理的负载和存储空间,降低设备成本并提高处理效率。建立相应的垃圾视频关键帧匹配库,通过视频关键帧匹配算法和模式,从高速的视频流中监测出垃圾信息。应用此视频监控系统和其他网络安全设备,可以为企业、学校和家庭打造一个高速干净的网络视频环境,让人们轻松尽情享受宽带视频服务。

系统方案

1.视频解码方案论证

方案一:利用Xilinx公司的FPGA产品Spartan 3E实现系统的视频解码。在Spartan 3E支持的MicroBlaze微处理器软核上移植开源视频解码器,由于MicroBlaze最高处理频率为50MHz,远不能满足现在的高速视频数据包的解码;方案二:通过在最新嵌入式微处理机eBox-4300上移植嵌入式操作系统WinCE来实现开源视频解码器。eBox处理器主频为500MHz,可以满足10/100MHz网络的视频解码,且在eBox上的WinCE操作系统可移植性较好,便于以后在系统中加入更多的视频格式解码器。2.数据包前端处理方案论证
方案一:利用Xilinx公司FPGA产品系列Spartan 3E来捕获网络中的视频数据包。高速的逻辑结构和并行特性是FPGA的特性,通过FPGA来识别并捕获视频数据包能降低系统的丢包率和漏报率;方案二:利用eBox-4300自带的以太网接口直接连接到网络上。由于WinCE操作系统下的以太网操作已封装好,为了兼顾可移植性,因此其效率没有直接在FPGA上实现的IP核好。3.关键帧匹配方案论证

方案一:利用Xilinx公司的FPGA产品系列Spartan 3E来实现视频关键帧标准库的查找和匹配。由于FPGA特有的存储单元结构,便于快速查找。

方案二:利用ADI公司的Blackfin 535数字信号处理器来实现视频帧的匹配算法。DSP特有的快速音视频处理能力能很好满足系统的性能要求。但Blackfin的片上存储空间有限,如果增加外部存储器将降低关键帧查找速率,从而成为整个系统的瓶颈。综合上述:系统采用Xilinx公司的FPGA产品系列Spartan 3E来作为数据包前端处理,识别并捕获相应格式的网络视频数据包,按序列将视频数据包传送到eBox-4300处理器上的视频解码单元。在eBox-4300处理器上抽取出视频的关键帧后,将视频关键帧传送到在Spartan 3E上实现的关键帧匹配单元中进行匹配模式检验。

  

图 1 系统示意图

[page]实现原理1. 视频数据包识别捕获

实时流协议RTSP是一个应用层协议,用于控制具有实时特性的数据如多媒体流的传送。为多媒体数据流提供远程控制功能,如播放、 停止、快进等。该协议支持以下操作:

1. 从媒体服务器上获取媒体;

2. 邀请媒体服务器加入会议;

3. 在一个已存在的演示中加入新的媒体流。

RTSP协议一般与RTP/RTCP和RSVP等底层协议一起协同工作,提供基于Internet的整套的流服务。它可以选择发送通道如UDP、组播UDP和TCP和基于RTP的发送机制。它可以应用于组播和点播。

RTSP协议负责在服务器和客户端之间建立并控制一个或多个时间上同步的连续流媒体,其目标是像HTTP协议为用户提供文字和图形服务那样为用户提供连续媒体服务。因此,RTSP协议的设计在语法和操作上与HTTP协议很相似,这样,对于HTTP的大部分扩展也适用于RTSP。但是RTSP协议和HTTP协议在很多方面有着区别:


  1. HTTP是一个无状态协议,而RTSP协议是有状态的。
2. HTTP本质上是一个非对称协议,客户端提出请求而服务器响应;而RTSP是对称的,服务器和客户端都可发送和响应请求。
  

在RTSP中,每个演示及其所对应的媒体流都由一个RTSP URL标识。整个演示及媒体特性都在一个演示描述文件中定义,该文件可能包括媒体编码方式、语言、RTSP URLs、目标地址、端口及其它参数。用户在向服务器请求某个连续媒体流的服务之前,必须首先从服务器获得该媒体流的演示描述文件以得到必需的参数,演示描述文件的获取可采用HTTP、Email或其他方法。
  

RTSP中的所有的操作都是通过服务器和客户方的消息应答来完成的,其消息包括请求和响应两种,RTSP正是通过服务器和客户端的消息 应答来完成媒体流的创建、初始化、VCR控制以及拆线等操作的。在基于客服端/服务器结构的分布式视频点播系统中,RTSP协议的操作过程如下所示:

图 2  基于RTSP的流媒体服务器

图 2 基于RTSP的流媒体服务器

客户机在向视频服务器请求视频服务之前,首先通过HTTP协议从Web服务器获取所请求视频服务的演示描述文件,利用该文件提供的信息定位视频服务地址包括视频服务器地址和端口号,及视频服务的编码方式等信息。然后客户机根据上述信息向视频服务器请求视频服务。视频服务初始化完毕,视频服务器为该客户建立一个新的视频服务流,客户端与服务器运行实时流控制协议RTCP,以对该流进行各种VCR控制信号的交 换,如播放、暂停、快进、快退等。当服务完毕,客户端提出拆线请求,需要说明的是,服务器使用RTP/UDP协议将媒体数据传输给客户端,一旦数据抵达客户端,客户端应用程序即可播放输出。在流式传输中,使用RTP/RTCP/UDP和RTSP/TCP两种不同的通信协议在客户端和服务器间建立联系。Microsoft公司的Windows Media的核心是ASF(Advanced Stream Format)。微软将ASF 定义为同步媒体的统一容器文件格式。ASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式,以网络数据包的形式传输,实现流 式多媒体内容发布。ASF最大优点就是体积小,因此适合网络传输,使用微软公司的最新媒体播放器可以直接播放该格式的文件。用户可以将图形、声音和动画数据组合成一个ASF格式的文件,当然也可以将其他格式的视频和音频转换为ASF格 式,而且用户还可以通过声卡和视频捕获卡将诸如麦克风、录像机等等外设的数据保存为ASF格式 [page]

ASF具有可扩展的媒体类型,ASF文件允许制作者很容易地定义新的媒体类型。ASF格式提供了非常有效的灵活地定义符合ASF文件格式定义的新的媒体流类型。任一存储的媒体流逻辑上都是独立于其他媒体流的,除非在文件头部分明显地定义了其与另一媒体流的关系。

ASF是设计用来表示可伸缩的媒体类型的带宽之间的依赖关系。ASF存储各个带宽就像一个单独的媒体流。媒体流之间的依赖关系存储在文件头部分,为客户机以一个独立于压缩的方式解释可伸缩的选项提供了丰富的信息流的优先级,现代的多媒体传输系统能够动态地调整以适应网络资源紧张的情况如带宽不足。多媒体内容的制作者要能够根据流的优先级表达他们的参考信息,如最低保证音频流的传输。随着可伸缩媒体类型的出现,流的优先级的安排变得复杂起来,因为在制作的时候很难决定各媒体流的顺序。

    

ASF设计为支持多语言。媒体流能够可选地指示所含媒体的语言。这个功能常用于音频和文本流。一个多语言ASF文件指的是包含不同语言版本的同一内容的一系列媒体流,其允许客户机在播放的过程中选择最合适的版本。

ASF提供可继续扩展的目录信息的功能,该功能的扩展性和灵活性都非常好。所有的目录信息都以无格式编码的形式存储在文件头部分,并且支持多语言,如果需要,目录信息既可预先定义如作者和标题,也可以是制作者自定义。目录信息功能既可以用于整个文件也可以用于单个媒体流。ASF文件主要有三种数据对象组成Header Object,Data Object,Index Object。Header Object包括ASF文件的主要信息,必须位于文件首部。Data Object包含数据信息,紧跟在Header Object之后,Index Object是非必须,提供跳跃索引,位于文件结尾。RTSP协议中,ASF的Header Object用Base64编码加密以后放在SDP(Session Description Protocol)数据包中。在系统中,我们采用了移植在eBox-4300上的WinCE作为系统的嵌入式操作系统,为了解码器的工作效率和移植方便,我们采用ASF流媒体文件格式。根据搭建的基于RTSP协议的流媒体服务器,可以校验在网络中截取到数据包的特定协议字段,如果应用层协议有RTSP的协议字段,就将数据包取出,按协议进行对包的卸载,提取出ASF文件,再将ASF文件按序列传输到下一处理单元进行视频解码,并提取出关键帧。2.网络视频关键帧提取

视频数据是分层结构,结构粒度从上到下逐渐减小。最顶层是粒度最大的视频,即一段视频流。最底层是粒度最小的帧,即单个的视频帧图像,对帧图像的处理可以采用图像特征提取技术,提取诸如颜色、纹理、形状等静态特征或空间运动的动态特征。镜头是一组时间上连续的帧序列,它代表一个场景中在时间上和空间上连续的动作,对应着摄像机的一次记录起停操作,也称为剪裁或拍摄。镜头是视频数据的最小单元,视频检索的结果就是获得符合条件的若干镜头。场景是一组语义上相关联及在时间上相邻的镜头的集合。

图3 视频层次结构示意图

图3 视频层次结构示意图

关键帧是反映一组镜头中主要信息内容的一帧或若干帧图像,可以简洁地表达镜头内容。因为每个镜头都是在同一场景下拍摄的,同一个镜头中的各帧图像有相当大的重复信息。考虑到存储容量和处理效率的因素,仅需要存储镜头关键帧,可达到降低系统存储容量和减少处理器冗余工作的效果。其次,从关键帧的匹配效率考虑,用关键帧来代表镜头,作用类似于入侵检测系统中的匹配规则,这样对网络视频流可用图像匹配技术进行处理。针对关键帧的特点,选取时有两个基本要求:第一,所选帧必须能够反映镜头中的主要事件,描述应尽可能准确完全,所以一般采用保守原则,宁可错选,也不能少提取;第二,为了减少系统存储设备,提高处理数据包的效率,数据处理量应尽量小,计算不宜过于复杂,因此关键帧的抽取应尽量少而精确。 [page]

早期的提取关键帧的尝试主要是采用颜色特征。一个简单的提取关键帧的想法是选择镜头片段的第一帧作为关键帧。当然这样提取的关键帧是很不准确的。在基于镜头的方法中,比较经典的有帧平均法和直方图平均法。帧平均法是从镜头中取所有帧在某个位置上像素值的平均值,然后将镜头中该点位置的像素值最接近平均值的帧作为关键帧。直方图平均法则是将镜头中所有帧的统计直方图取平均,然后选择与该平均直方图最接近的帧作为关键帧。这些方法的优点是计算比较简单,所选取的帧具有平均代表意义。缺点是只从一个镜头中选取一个关键帧,无法处理运动强度较高的镜头。一般说来,从镜头中选取一帧或固定数目的关键帧的方法并不是很好,因为当处理变化很少的镜头时,这样选取的关键帧过多,而对于运动较多的镜头,用一两个关键帧又无法充分描述其内容。所以有人提出了基于内容分析的方法。

综合前人的研究成果,我们在本系统采用渐变控制的方法。首先选取每个镜头的第一帧作为关键帧,同时作为其他候选关键帧的参考帧,将后续每帧和参考帧比较,当其差别大于预定的阀值时,即将当前帧作为新的关键帧,同时将此帧作为新的参考帧。

3. 视频关键帧匹配

常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征等。

颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。颜色直方图简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法。空间关系,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接或邻接关系、交叠或重叠关系和包含包容关系等。通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强调的是目标之间的距离大小以及方位。显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。优秀的匹配算法是系统工作效率和辨识能力的保证,而高效的匹配算法需要准确地描述出关键帧的特征。在本系统中,我们考虑到系统计算能力和稳定性的要求,采用颜色直方图和形状特征相结合的描述算法。当提取出当前网络视频流的关键帧序列后,将关键帧以流水线作业的方式后匹配规则库中的匹配图像做比较,若相似率大于预定的阀值时,我们就有理由相信当前视频流是垃圾视频。如果相似率低于预定的阀值,但落在了一个预定的有嫌疑的区间中,我们可以提取当前关键帧的颜色直方图和轮廓特征,与匹配图像的颜色直方图和轮廓特征相比较,如果其匹配概率大于预警阀值,系统可向管理员提出告警,再通过人工识别的方式来判断当前视频流是否非法。

4. 告警响应和处理

随着网络风险系数不断提高,网络攻击技术和病毒木马技术日益更新,单纯的网络安全设备已经不能满足企业、学校和家庭的安全保障。因此,本系统对视频信息的监测也将和其它网络安全设备结合在一起,构成全方位的网络安全保障体系结构来保证一个安全和谐的网络环境。

基于系统特有的预警机制,可以降低误报率和提高监测效率。当系统检测到垃圾视频信息时,将提取出该视频数据包的源IP地址和端口等信息,并将信息显示在系统报警页面通知系统管理员的同时,也会将信息传输到网络安全保障体系结构中的其他相关安全设备,如防火墙等。防火墙将第一时间将此非法IP地址和端口列入黑名单中,禁止该IP地址的视频数据包通过防火墙。

图4  安全保障体系结构

图4 安全保障体系结构

系统也可和入侵检测及安全审计等安全设备结合,来防止病毒和木马等捆绑在视频信息中对用户进行攻击。系统首先将关键帧进行匹配校验,如果相似率低于预警阀值,我们也不能掉以轻心,不排除其图像中隐藏有病毒和木马等信息,导致图像像素发生了肉眼无法区别的改变,由于图像像素结构的改变,可能会欺骗视频监测系统,从而通过了检验。因此,此时系统会将关键帧传输到病毒扫描系统进行进一步的检查。

由于系统本身的匹配校验和预警机制,同时结合网络安全保障体系中其他安全设备的资源来对视频流进行监测,可以保障视频信息的干净和安全,同时不影响用户对视频服务的享受。

系统实现

I.硬件实现

系统分别由视频数据包识别捕获单元、视频解码关键帧提取处理单元、关键帧查询单元、视频关键帧匹配单元、关键帧匹配规则库和告警响应处理单元六个模块组成。

视频数据包识别捕获单元视频数据包识别捕获单元由FPGA Spartan 3E板卡来实现。FPGA具有高速并行处理的逻辑编程结构,可以实现流水线识别源IP地址、源端口和目的IP地址、目的端口,以及协议类型、视频标志字段等信息的处理。根据用户特定需要监测的视频类型和流媒体协议,用户可以自定义视频特定位置的标志字段。识别捕获数据包单元过滤到相应的视频数据包时,将按照特定的流媒体协议对数据包进行卸载,提取出视频信息后传输到后继视频解码单元,提取出视频的关键帧。视频解码关键帧提取处理单元视频解码关键帧提取单元在eBox-4300上的Wince操作系统上实现。Wince是微软公司开发的嵌入式操作系统,具有很好的移植性和视频处理库,开发容易上手等优点。同时考虑到当前视频格式标准多样,为了提高系统的功能,以后一定会不断向系统添加新的解码器。而Wince上软件的兼容性相对其他的操作系统较强,当用户添加其他解码器时更简单。关键帧查询单元关键帧的查询是为了方便系统管理员对系统的工作效能进行控制。在系统管理过程中,管理员可以通过身份验证登录到系统管理页面,查看当前时间段的告警信息和相应的关键帧,并可根据人为识别的方法,决定是否向关键帧匹配库中添加新的匹配图像。视频关键帧匹配单元视频关键帧的匹配是系统的主要部分,系统监测的准确性主要取决于关键帧的匹配算法和模式。FPGA中,与RAM存储单元相关的资源有三类:Block RAM、LUT、寄存器。这三类资源可以通过配置和粘合逻辑实现为不同类型和位宽大小的单端口/双端口RAM、ROM、CAM、FIFO等。FPGA中CAM的实现和配置非常灵活,CAM是实现模式匹配的核心资源。CAM即内容可寻址存储器。CAM这种存储器在其每个存储单元都包含了一个内嵌的比较逻辑,CAM基于内容寻址,通过硬件电路并行查找,实现快速匹配。一般来说在一个时钟周期内,写入CAM的待比较数据和其内部存储的每一个数据进行比较,并返回与端口数据相同的内部数据存储的地址和是否匹配的标识符。CAM的这种并行处理特性使得它在数据分选领域倍受青睐,被广泛应用在以太网网址搜寻、路由器中的地址交换表、高速数据处理等方面。基于CAM在模式匹配方面的良好特性,我们将关键帧的匹配单元在FPGA中实现。由于Spartan 3E的BRAM资源有限,所以系统存储的关键帧数据不会很多。将匹配图像的颜色直方图和形状轮廓信息存储在CAM中后,提取关键帧的颜色直方图和形状轮廓信息进行匹配。用这种方法可以提高关键帧匹配的速率,避免了系统的瓶颈。关键帧匹配规则库视频关键帧匹配规则库的更新是提高视频监测准确性的关键。因此,视频匹配规则库良好的接口设计是用户交互的重要方面,在本系统中,我们将关键帧信息存储在CAM中,当用户根据自己的需求,提取出自定义图像的颜色直方图和形状轮廓特征信息后,可在线写入CAM中,作为新的匹配规则。告警响应处理单元鉴于当前网络攻击方式的多种多样和系统本身的处理能力有限,我们建议将此系统和其它网络安全设备相结合构成网络安全保障体系结构。综合各种安全监测设备自身的优点和不足,合理利用有限的资源,全方位保障内部网络的安全。在此系统中,我们可以提取出视频源的IP地址和端口号,如果确定当前视频含有垃圾信息,系统将其IP地址和端口号传输到体系中的防火墙等设备,由防火墙截断其数据包的传输,并将其列入黑名单重点监测。同时,提取出的关键帧还将由病毒扫描系统等安全审计设备进行检查,防止视频中捆绑有病毒和木马等攻击信息。

图5   硬件实现示意图

图5 硬件实现示意图

II.软件实现

系统网络接口Lwip是瑞士计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。Lwip既可以移植到操作系统上,又可以在无操作系统的情况下独立运行.

LwIP的特性如下:

(1) 支持多网络接口下的IP转发;

(2) 支持ICMP协议 ;

(4) 包括阻塞控制,RTT估算和快速恢复和快速转发的TCP协议;

(5) 提供专门的内部回调接口(Raw API)用于提高应用程序性能; 

(6) 可选择的Berkeley接口API(多线程情况下);

(7) 在最新的版本中支持PPP;

(8) 新版本中增加了的IP fragment的支持;

(9) 支持DHCP协议,动态分配ip地址。

在Xilinx公司提供的ISE 10.1开发套件中,EDK开发软件支持Lwip的应用,同时软件自身包含Lwip的库。因此,系统中的网络接口我们全部基于Lwip的RAW IP模式开发。关键帧提取FFmpeg是用于制作和转化流媒体音频和视频的完整解决方案, 包括 libavcodec ,一套先进的的音视频编解码类库。FFmpeg 在Linux上开发,当可以在大多数操作系统下编译,包括Windows。

Ffmpeg开源项目由以下几部分组成:

FFmpeg 视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件;FFserver 基于HTTP(RTSP正在开发中)用于实时广播的多媒体服务器.也支持时间平移;FFplay 用 SDL和FFmpeg库开发的一个简单的媒体播放器; libavcodec 一个包含了所有FFmpeg音视频编解码器的库.为了保证最优性能和高可复用性,大多数编解码器从头开发的;libavformat 一个包含了所有的普通音视格式的解析器和产生器的库.在系统中的网络视频解码和关键帧提取单元,解码器的实现是在开源音视频解码器库libavccodec的开发上实现的。RS232串口通信

1K Xmodem文件传输协议为基于点对点连接的服务与客户端间的通信,提供了一种固定包长度的简单的连续文件传输协议。每一个包都包含1024字节的文件数据,并且都单独的被接收客户端响应。每次只能传输一个文件,并且失败后只能从新开始传输。

图 6 文件数据包格式

图 6

文件数据包格式1K Xmodem文件传输协议并不需要向接收客户端发送待发送文件的名称 ,该文件将会被接收方授予一个局部有效的文件名。 要开始文件传输的过程,首先接收方向发送方发送一个轮询字符,来提示发送方客户端已经准备好了。如果接收方支持check-sum (CRC)校验,则轮询字符可以用0x43 (ASCII 字母 C);如果接收方只支持旧的checksum (求总和)校验,则轮询字符可以用0x15 (NACK线控制字符)。发送方响应接收方的启动字符,开始发送文件数据包,每个包都是1024字节的固定长度。如果最后一个文件数据包不足1024字节,则利用NACK(0x1A)填充到1024字节。接收方通过ACK(正常接收)或者NACK(非正接收)来响应每一个包。如果发送方收到ACK,则发送下一个包知道文件传输完成;如果发送方收到NACK,则重新发送上一个包。当发送方发送完成后,发送EOT通知接收方文件传输结束,接收方发送ACK来响应,发送方收到ACK后则文件传输完成。在系统中,eBox-4300通过1K Xmodem文件传输协议和Spartan 3E的RS232串口进行关键帧的传输。同时,系统也可以通过串口和系统管理主机进行通信。

图 7 软件实现流程图  


图 7 软件实现流程图

1.捕获分析:用户可根据实际情况,调整视频数据包捕获的标志字段,来截取当前网络中的视频数据包; 2.灵活的解码系统:由于当前流媒体文件格式多样,我们在此系统中只进行了ASF格式流媒体文件的解码,但用户可以自己编译自定义的解码器并添加到当前系统中; 3.匹配规则更新:匹配规则的更新是系统高效工作的前提,系统良好的用户交互界面,将帮助用户轻松添加新的匹配规则到当前系统中; 4.协调功能:系统架构初期充分考虑到目前的网络安全设备已经多种多样,为了充分利用网络中已有安全设备的资源,对一些常见的防御功能不再设计。因此,本系统可以很好地和其他安全设备交互网络信息,协调工作功能,从而保障网络各方面的安全。

关键字:关键帧纹理特征ASF格式

本文摘自:EEFOCUS

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^