服务器后端之视频数据接收与转发搭建解决方案Word文件下载.docx
《服务器后端之视频数据接收与转发搭建解决方案Word文件下载.docx》由会员分享,可在线阅读,更多相关《服务器后端之视频数据接收与转发搭建解决方案Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
②视频数据压缩:
对解码出的视频流进行压缩,以便存储与网络传输;
③网络通信:
对压缩后的视频数据和相关的控制信息进行封装,将对摄像机的控制信息和视频信息封装成支持所定义的协议信息,同时通过相应的通道将这些协议信息以帧的形式传送到对方,完成通信双方之间的数据传输;
④视频数据存储:
实现对监控录像数据的统一保存和备份。
通过网络获取视频流数据,并以数据块的方式保存在预分配的磁盘空间中,通过磁盘数据的索引文件保存录像数据信息。
⑤监控视频资源检索回放:
用户可以通过检索回放模块对所关注的历史视频文件进行检索,并通过播放器进行回放。
⑥日志管理:
对系统的操作和系统故障及处理情况进行记录,供用户检索查看。
分析视频流在后端的处理主要是解码、存储、检索回放以及对各用户端的传输。
数据传输是远端用户对视频文件有目的的检索后通过视频存储服务器的流媒体服务功能完成的,因此,后端视频处理的主要过程可以描述为如图3.2。
图3.2后端视频处理主要过程
从图3.2中可以看出,从网络中接收到前端传送过来的视频流后,视频存储服务器将其解码成RGB视频;
再将解码后的视频进行压缩,变成适合存储的数据格式,然后按照存储文件的组织策略将这些数据进行规范,完成后将数据存入硬盘;
用户可以根据自己的需要对存储的数据文件进行查找与回放,远程用户查找到的视频文件也能够以流媒体的形式通过网络传送至用户机,完成远程监控。
3.2视频存储服务器的结构
所设计的视频存储服务器要完成的主要功能是将前端传送过来的视频信号解码还原成RGB视频,并进行编码压缩,然后按照存储策略存入存储设备,用户根据自己的需要对存储设备中的视频数据进行检索与播放。
设计中对视频存储服务器功能划分为5个功能模块,得到其功能结构如图3.3所示。
图3.3视频存储服务器的主要功能构成
各模块的功能定义如下:
1)视频解码模块:
主要负责对系统前端通过网络传送来的压缩视频信号进行解压缩,还原成原始的RGB视频数据。
2)存储管理模块:
负责对解码后的RGB视频数据进行压缩,然后以制定的文件组织规范将压缩后的数据存放到存储设备上。
在数据存储时要求数据占用的空间尽量要小,同时要便于对视频文件进行检索回放。
3)检索回放模块:
为用户提供视频录像资源的快速检索接口,用户可以根据需要对视频文件进行检索调用。
当用户查找到所需要的文件时,将相应的文件从硬盘上读出,并将这些数据与相应的控制信息封装成支持既定协议的信息帧,通过网络通道传送到用户,供用户回放浏览。
4)日志管理模块:
主要是记录系统工作时间内的一些重要操作及事件信息,管理用户能够通过管理日志了解系统的工作情况和用户访问情况。
5)系统管理模块:
负责系统的初始化工作,主要完成对系统的参数配置、用户权限管理、设备信息管理、用户请求处理等。
3.3视频存储服务器核心模块设计
3.3.1解码模块的设计
系统前端编码器所采用的编码标准是H.264编码标准,因此,系统的解码模块同样采用H.264标准。
依照H.264标准,整个流程分为5个步骤:
帧间和帧内预测(Estimation)、变换(Transform)和反变换、量化(Quantization)和反量化、环路滤波(LoopFilter)、熵编码(EntropyCoding)。
在设计中按照各部分功能对解码器进行了设计,其功能框图如图3.4所示。
图3.4H.264解码器功能框图
从图3.4可以看出,解码器的基本流程设计为:
解码器从NAL中接收压缩的比特流,经过对码流进行熵解码获得一系列量化系数X;
这些系数经过反量化和反变换得到残差数据D;
解码器使用从码流中解码得到的头信息创建一个预测块PRED,PRED与残差数据D求和得到图像块数据uF;
最后每个uF通过去块滤波得到重建图像的解码块F。
监控系统的视频是由连续的图像帧组成的。
因此,某种意义上说视频解码就是对视频的图像帧进行解码,解码程序对视频段的解码也可以说是主程序反复调用帧解码函数的过程。
单帧图像的解码流程如图3.5所示。
图3.5解码器解码一帧图像过程
一帧图像经过视频编码层VCL编解码后产生的码流,在NAL中将这些码流分割成NAL单元,并对NAL单元进行边界检测,之后对各单元进行去块滤波处理,并在参考图像进行存储处理后重建图像帧;
NAL单元解码过程包含了不同类型片的解码,而对各类型的片解码首先从码流中读入一个片的编码数据,提取RBSP语法结构,产生宏块片组映射图,并根据当前图像类型对参考图像列表进行初始化,最后完成片的解码;
而进行片解码首先要对参考图像序号数据以及当前宏块解码设置进行初始化。
然后从NAL中读入当前宏块的语法元素,以便对宏块进行解码。
3.3.2存储模块设计
视频监控系统产生的视频流数据是海量的,这些海量的视频数据文件对系统的存储系统提出了严峻的考验。
为了制定一个合理的存储方案,本文对监控存储方案与以往存储方案进行了比较,结果如表3.1所示。
表3.1监控存储与传统存储文件特性比较
项目
以往存储
监控存储
数据库表
文本/图像
图像/音频
数据表现形
结构化(有序,可用
统一结构表示)
非结构化(无序、无
法用统一结构表示)
非结构化(无序、无法用统一结构表示)
数据组织方式
非结构化(无序,规
则性不强)
结构化(有序,规则性很强)
数据保存时间
无序,时长不定
有序,定期删除更新
数据更新方式
无序,方式不定
有序,从尾部顺序增加
数据读写方式
无序,反复多次读写
有序,一次写少量读/不读
存储块大小
8-64KB
512B-1MB
64KB-1MB(512Kb-8Mb)
性能要求
IOPS
IOPS、带宽
多路并发的带宽
存储热点
2/8原则,20%的数据承载80%的访问
均衡原则,数据访问的机会均等
数据重要度
重要,数据价值高
不定
大部分是无用数据
从表2中可以看出,监控存储虽然数据的表现形式和以往的图像存储一样,体现出无规则的非结构化特征,但是在组织方式上是结构化的,具有很强的规则性,这是其最大的特点,也是和传统存储模型不一样的地方。
鉴于监控视频体现出的非结构化的表现形式和结构化的组织方式,以及其在保存时间、读写方式和更新方式上的有序性,本文考虑从监控视频的自身特点出发,利用视频编码技术消除其数据上的冗余,减少无用数据占用存储空间,并充分利用监控视频数据的有序性特征将数据进行规范的组织,实现有序存储,便于对存储设备的均衡访问和对数据的管理,为录像文件检索与回放提供一种快捷有效的方式。
基于上述的思路,课题从视频压缩、文件组织和存储管理三个方面对系统的存储
模块进行设计。
1)监控视频的压缩编码
数据压缩是解决存储问题最基础最有效的的方法之一。
视频监控系统的海量数据的存储光靠硬件设备支持是远远不够的,所以必须对数据进行压缩处理,来减轻存储设备的负荷。
对数据进行压缩有三个方面的好处:
节省存储设备空间;
节省CPU处理时间;
节省数据的传输时间。
编码的主要任务是按照所设置的编码压缩参数来完成对这些视频的压缩编码。
编码参数主要包括编码器参数和图像编码参数。
其中编码器数数主要有源帧率、信道速率等;
图像编码参数主要有图像的格式、编码类型,是否允许非限制运动矢量模式等。
由此看来,对视频数据进行压缩是视频文件存储的一个重要环节。
课题中采用的是MPEG4压缩编码标准,因为MPEG4基于AV对象的压缩模式能够保证运动物体图像有比较高的图像质量,更适合于项目中其他任务对运动目标分析的要求。
根据MPEG4的编码原理,所设计的压缩编码框图如图3.6所示。
图3.6MPEG4的压缩编码框图
MPEG4编码器编码过程可以描述为:
当视频流输入到编码器,一方面编码器对视频进行场景分析和对象分割,划分为不同的VOP,将VOP进行形状编码,得到各个VOP的形状和位置信息,并用形状编码得到的信息来控制VOP的运动编码和纹理编码;
另一方面对宏块进行DCT变换和量化,量化后的宏块经过逆量化和反DCT变换,并将这些处理后的宏块进行运动编码,在运动编码过程中采用了运动预测/补偿法;
输入的VOP与帧存中的前一帧的VOP进行比较,得到当前块的运动矢量,然后对两帧VOP的差值进行DCT变换、量化和纹理编码,得到纹理信息,接着将得到的纹理信息与运动编码得到的运动信息以及形状编码得到的形状和位置信息进行合成,形成VOP的比特流。
分别对不同视频对象的VOP进行编码,得到不同的比特流,再经过视频多路合成,形成MPEG4视频流在信道上传输。
2)文件组织
文件组织结构设计的主要目的是为了便于系统对文件数据的存储和管理。
因此,本文对视频存储中的视频文件的命名规则和文件管理策略两个方面制定了可行的方案。
具体方案如下:
1)视频文件的命名规则:
考虑到在实际应用中,用户在查询录像文件时一般是按录像的时间、某个摄像机所在的通道以及录像性质为查找条件。
为此,课题中提出以“时间+通道+录像性质”作为录像文件的名称,其中时间是按年月日时分秒来记录的。
命名格式规范为图3.7所示。
图3.7文件名格式规范
操作中,可以按照录像的时间自动为录像文件生成文件名,在系统判断文件是否过期和用户对文件进行检索回放时,可以按照文件名来进行快速准确的操作。
2)文件管理策略:
用户会根据不同场所的不同要求对录像文件设定不同的保存期限,在文件过期后为被删除,留出更多的空间存储更多新的视频数据。
因此,录像文件的改变是相当频繁的,而且系统产生的视频数据量相当大,生成的文件更是一个天文数字。
为了实现对这些海量文件的高效管理,本文将硬盘进行分层管理,其管理模式如图3.8所示。
图3.8硬盘分层管理模式
从图3.8中可以看出,硬盘中为其他类型文件和视频文件分别划分了不同的区,而在视频文件中又为不同的通道的视频数据进行了划分,这种管理方式层次比较强,为海量数据的管理提供了有效的方案。
3)管理策略
在视频监控系统中,视频文件的存储是一个需要在系统设计中解决好的重要问题,也是衡量系统性能的一个重要指标。
存储管理策略要求有效可靠的存储、简