码迷,mamicode.com
首页 > 其他好文 > 详细

视频监控/存储系统设计要点

时间:2014-10-21 17:43:59      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:视频监控   视频存储   

视频监控系统包括以下组成部分:

编号

模块名称

功能及备注

1

设备代理

系统与前端设备进行通信

2

报警

接收/存储报警信息(外部报警)

3

流媒体

转发视频流,因为设备并发连接有限,通常配备多个网卡

4

设备接入

前端设备接入系统,一般通过onvif,rtsp或SDK,电力系统有自己的协议

5

存储

下文将重点描述

6

联动

包括策略定义域执行

7

Web

跨平台可采用QtWebkit或mjpeg方式

8

电子地图

一般支持矢量图,在地图上叠加视频,支持多画面

9

级联

多级系统级联

10

控制服务

云台控制和权限管理

11

预览

客户端

12

校时

统一设置设备时间

 

存储的设计宗旨:即存的下、找得到。做到以下两点即为合格的存储:录像不丢失,快速找得到。

 

存储的发展过程:

名称或组成

位置

结构描述

较上一代的进步

PC式DVR

前端

在PC上使用板卡接收视频流,存入本地硬盘

 

嵌入式DVR

前端

使用专用设备接收视频流,存入本地硬盘

避免病毒、人员不当操作带来的风险

存储服务器+IPSAN

后端

集中存储,1+n模式,服务器收流后再发给IPSAN存储

可靠性提高

管理机+存储主机

后端

集中分布式存储,1+n模式,存储主机收流存储在IPSAN上,管理机负责分配和统一查询

避免带宽浪费,降低存储服务器压力

 

存储的过程:设备接入收流à流媒体分发à写入磁盘à录像查询

 

存储设计特点:写多读少,易产生磁盘碎片。据经验,磁盘循环覆盖3轮,读写效率降低80%。

防止磁盘产生大量碎片的方法:

1.      预分配空间:在磁盘中预先分配存储空间,并在空间中写满“垃圾数据”,人为使其成为连续空间。(可以通过“新磁盘初始化”过程实现;或在后台运行一个低优先级的线程,在空闲时进行预分配,分配完成后线程退出。)

2.      循环利用文件:不删除老文件,而是将老文件标记为“无效”。磁盘写满后寻找“无效文件”,重新写入。

 

存储视频格式:

可以使用原始格式(前端取来不加转换)或者统一格式(转换)。一般建议使用统一格式,以便于其它相关模块的开发,提升低耦合性和通用型。注意此处转换不是指转码。通常使用PS封装的H264流。(PS封装中包含了时间信息)

 

注意事项:

使用Intel i7处理器和NVIDIA独立显卡的PC客户端,在播放16路1080P视屏时会出现严重卡顿。通常解决方案是当显示路数少时,提升分辨率和码率;当显示路数多时,适当降低分辨率和码率。

 

关于拉模式和推模式:

通常建议使用拉模式,即获取视频流这一操作由后端(客户端或者存储主机发起)。这样方便平台系统的模块化,也降低了对前端设备的要求。

 

存储模式:

管理机上有一个全局统一的数据库存放录像的索引,包括I帧时间戳,事件时标等。

每台存储主机上有一个小数据库,记录本地存放了哪些录像文件,每个文件对应哪台前端设备的哪段时间,哪些文件已被标记“无效”哪个是当前正在使用的文件等。

存储主机运行时需向管理机上报运行状态。

 

分配存储资源:

支持在界面上指定,由管理机分配哪个IPC存到那个存储主机上。

存储主机启动时向管理机上报资源,管理机根据资源可以自动分配哪些摄像机存到哪台存储主机上。

 

录像检索:

查询时向管理机查询,管理机将具体查询的数据定位到某一台存储主机上。即用户不需要关心录像文件存储在哪一台存储主机中。

录像查询方式:

1.      按照摄像机-时间段来检索:最基本的检索方式。

2.      按照摄像机-事件标签来检索:(准智能检索)需要检测并存储SmartIPC产生的事件标签,检索时可根据事件标签进行。(也支持人工添加自定义标签)

3.      按照摄像机-内容检索:即在需要检索时再调用分析模块,在分析服务器上设定分析参数,预先把录像过滤一遍,产生片段后再提交给用户。(这提供了一种视频分析的应用新思路!)

 

容灾和异常处理:

目标是在异常情况下保证录像的完整性。包括3点:即切换、冗余、恢复。

1.      存储主机可以分为值班机和备用机,可以设置成N+1的形式,当某个值班机宕机时,由管理机发现,并用备用机顶上。

2.      同一台存储主机中的多块硬盘可以设置成N+1的冗余形式,当某个硬盘损坏时,用备用盘顶上。

3.      设备宕机后已存储数据的恢复,最简单的方式是使用多副本存储。

4.      要考虑某些关键录像不可被覆盖,可以采用数据库加锁的形式,或者将关键录像迁移到某一独立的存储主机上。

5.      故障恢复后的处理:已升至值班状态的原备机维持值班状态。从故障中恢复的原主机作为备机使用。

6.      当发现有IPC、磁盘、存储主机故障时,需要提醒工作人员处理。

 

旧系统升级需考虑原有NVR、DVR、外接存储介质(如SD卡、外接硬盘)的IPC,在现有存储体系中的地位,纳入还是不纳入。

 

其它:

存储策略:可以根据用户需求(或向用户提建议),在存储时降低帧率。某些画面相对静止和光线暗淡的摄像机可采用更低的帧率。

通常情况下,在不考虑主码流子码流的情况下,存储帧率和预览帧率是统一的。

存储的数据文件大小不宜过大,经验采用128MB。

网络利用率:经验中,网络利用率超过50%,画面会出现明显问题。

录像文件的平滑切换:将录像文件预读到流媒体中来处理(自己做个实验试试)。

在大规模分布式存储系统中,可将存储主机与设备部署在同一个局域网中,将管理机部署在主站端,以此解决存储对网络带宽的利用问题。

视频监控/存储系统设计要点

标签:视频监控   视频存储   

原文地址:http://blog.csdn.net/fm0517/article/details/40347815

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!