全部博文(346)
分类: LINUX
2010-05-31 12:35:04
在数字视频监控系统设计与实际应用中,经常需要规划数字视频系统的网络带宽及存储带宽,这对于整个系统的应用非常重要,而如何规划网络,涉及到系统实际配置、最用使用及存储、编解码设备、工作站等分布等等因素,是数字视频监控中最重要,而有比较难规划的,西刹子在此从原理上及应用上略做说明。
首先需要明确如下概念:
Ø
一帧就是一副静止的画面,连续的帧就形成动画,如电视图象等。我们通常说帧数,简单地说,就是在1秒钟时间里传输的图片的数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数 (fps) 愈多,所显示的动作就会愈流畅。
Ø
码流(Data Rate),是指视频文件在单位时间内使用的数据流量,也叫码率,是他是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。
Ø
视频分辨率是指视频成像产品所成图像的大小或尺寸。常见的视像分辨率有352×288,176×144,640×480,1024×768。在成像的两组数字中,前者为图片长度,后者为图片的宽度,两者相乘得出的是图片的像素,长宽比一般为4:3。
帧率、码流与分辨率关系如下图:
v
数字视频系统中典型架构如下图:
系统中主要设备是编码器、网络录像机NVR、及工作站,根据系统不同,可能有中央服务器,管理服务器,存储归档服务器、流媒体服务器等,本文以典型架构说明。在系统中,网络中跑的主要是上行的视频流,一般为UDP,下行的控制命令,一般为TCP。主要码流来源于从编码器到NVR的视频存储流,及工作站实时监视视频流(本文不讨论组播)。
Ø
对于实时视频流,工作站调用某个通道视频时,工作站调用的流类型不同,码流不同,主要考虑的是分辨率,4CIF分辨率下码流大小均值可以考虑1.5M,而编码器到NVR之间总带宽主要取决于每个通道码流大小及总的通道数量。工作站与NVR之间带宽主要决定于工作站调用的视频资源数量。(本讨论中假定编码器没开组播功能,否则另外一回事了)。
Ø
NVR的一个功能是转发视频,首先要考虑的是服务器的输出带宽,服务器是通过网卡进行数据输出的,在100Base-TX交换以太网环境下,单块网卡的输出带宽是1000M,一个视频流的带宽是1.5M,所以1000M 的网络都足够。因此网卡不是瓶颈。而NVR服务器的转发机制、内存、CPU等、录像对总体资源的消耗,都会对并发用户数有所影响。
Ø
NVR的另外一个功能是存储视频并接收回放命令,此功能主要在NVR及磁盘阵列,首先要考虑的是服务器的输出带宽,另外要考虑的问题是磁盘的输出带宽及读写速度,视频服务器的主要功能是以稳定的速率向网络上的客户端传输实时及回放视频数据,当系统中有大量的并发用户时,磁盘盘的输出能力是系统的主要瓶颈。典型的磁盘阵列可以提供40MB的I/O,一个标准的MPEG4视频流带宽为1.5Mbps,因此I/O不是瓶颈,但是NVR服务器的存储机制、内存、CPU等、实时查看回放等对总体资源的消耗,都会对存储通道数有所影响。
v
NVR系统内存需求与单位数据流所占内存、数据流速率的大小、最大流数和流媒体软件体系本身占用的内存密切相关。一般来说NVR软件本身需要占用128MB可用内存,每1kbps数据流要占用12K的内存,系统在使用最大流数时的内存可以通过公式计算: 128M+12×数据流速率×最大流数。
网络带宽是网络中的瓶颈资源,网络可以同时支持的最大并发用户数与网络带宽、视频流的带宽是密切相关的。网络带宽可根据公式计算:网络带宽=每kbps数据速率×最大流数。
网上视频的所有录像资源都存储在视频服务器NVR中,系统需要的存储空间大小需要依据用户的实际情况来确定,存储空间=通道数CH×码流×保存日期,
如20个通道,每个通道码流3Mbps,计划保存30天。则:
20CH×3×3600S×24×30/8×1024×1024=18.5T.
注意:磁盘空间计算是粗略的、不可能非常精确,因为每个摄像机的场景是随时变化的,而码流也是动态的,因此可能存在一定偏差。