疏而不漏——腾讯如何编织数据中心视频监控网络?(组网架构与资源计算)
NVR(网络视频录像机)的选择
在过去的模拟摄像机时代,视频监控的架构基本上是模拟摄像机+DVR/DVS的模式,DVR要负责进行“模拟到数字信号”的转化和编码等工作。
而当前的组网模式逐渐过渡到网络摄像机(IPCamera)+NVR(Net Video Recorder),网络摄像机集成了编码的和数字化的功能,而NVR的主要功能是对网络音视频数据进行集中存储和检索。它和网络摄像机一样,是当前网络视频监控方案的核心硬件。
对NVR的选择主要需要考虑如下的因素:
NVR的接入能力
接入路数、分辨率支持和接入带宽这3个指标综合表明了NVR的接入能力。
接入路数即“NVR可以接入的摄像头路数上限”。图1中的摄像头最高可以接入32路,但前提是在码率合适的情况下。假设每个摄像头均为8M的1080P码流,而图1中的NVR视频接入带宽为200Mbps,所以8M码流实际上只能最高支持到25路。目前市面上主流的接入数量有4路、8路、16路、32路,最高有256路的NVR设备。
分辨率支持即“NVR可以支持最大多少分辨率的摄像头接入”,通常分辨率越高,摄像头的码率也越高,受限于接入带宽,能够接入的路数相应减少。
接入带宽很好理解,常见的NVR视频的接入带宽有从几十到几百Mbps不等。
总之,接入路数越多,接入带宽越宽,分辨率的支持越高,表明NVR的接入能力越强。用户在选择时需要根据自己的应用场景,选择合适路数、分辨率支持及接入带宽的NVR产品。
图1 NVR接入路数及分辨率支持举例
NVR的解码能力
NVR的解码能力决定了NVR的输出能力,即NVR在本地外接显示器时,显示器上可以同时显示最大多少特定分辨率的画面。图1中,该NVR支持4路1080P的解码,意味着它可以直接支持4路1080P分辨率的实时视频查看/回放。当然,用户也可以通过对输出视频流的分辨率的配置,来提高NVR的视频输出路数。
NVR的存储能力
存储视频是NVR的主要功能之一,用户在选择NVR时需要关注NVR最多可以支持多少路硬盘(即多少路Sata接口)、每一路最高支持到多少TB的硬盘,它们共同决定了NVR最高的存储容量。另外在选型时,还要明确NVR是否支持磁盘整列功能,网络渠道购买的大多数NVR都是不支持Raid的通用产品,如果需要支持磁盘整列,需要认准针对工业的NVR型号。
NVR其他需要考虑的性能
NVR其他需要考虑的性能,还包括NVR的输出接口(如VGA、HDMI),以及对协议(如ONVIF)的支持等。
视频系统的组网架构
视频监控系统通过多年的发展,在组网架构上已经日益简单:1.编码被集成到IP 摄像机中2.NVR/EVS等自带存储和管理功能3.用户可自行选择存储盘位、是否自带解码上墙等功能。一个典型的IP Camera组网图如下所示:
图2 典型网络架构图
前端的网络摄像机直接通过POE交换机供电,同时进行网络数据的传输。POE传输的好处是在同一根网线上解决了摄像头的供电和网络传输问题,方便工程施工。后端NVR直接配置需要接入和存储的网络摄像机IP,抓取对应摄像机的视频流进行存储。数据中心行业根据审计的要求,目前通常需要存储不少于3个月的原始视频数据。
用户还可以自主选择集中式或者分布式的网络架构。对于腾讯的微模块架构,为了便于产品化,一直采用的是分布式架构。我们选择了较小容量的NVR,并对每个微模块的多路视频进行收敛,在每个MDC独立存储。对于T-Block或大型园区,可以利用大容量的NVR/EVS进行集中存储管理。相对来讲,集中式架构颗粒度大,冗余可靠性低,但是成本更低、可管理性更高,用户需要自行平衡。
分辨率、码流、帧率
分辨率是指摄像机的像素密度,它代表了摄像机图像的清晰程度。
而码流指视频文件在单位时间内使用的数据流量,码流决定了如何选择网络带宽和存储。
帧率代表每秒钟传输多少帧图像,帧率太低导致图像卡顿,太高则占用过多带宽,通常按25帧考虑。
要理清分辨率、码流、帧率之间的关系,首先我们需要考虑最基础的图片空间占用问题。比如一张1920*1080P的BMP真彩色图片,在没有压缩的情况下,需要占用多少空间?
公式1
BMP真彩色图片每个像素点由RGB共3色组成,每个像素点占用8bit位。代入上述计算公式可以得到空间占用(Byte)=1920*1024*8*3/8 =6075KB=5.93MB。在完全不进行压缩的情况下,如果我们要传输基于BMP真彩色的25帧1080P视频,其码流为:
公式2
显然148MBps的码流会占用巨量的传输带宽,在进行视频传输时是不可能被接受的,为此工程师们设计了各种视频的编码技术来对码流进行压缩,将数据中的冗余信息去掉。目前最常用的视频编码技术,是由ITU[国际电传视讯联盟]主导的H.264/H.265编码制式。一般一个1080P,200万像素H.264的摄像头码流在4Mbps左右。另外当前主流的摄像头还有主码流和副码流的区别,分别对应不同的接入地址,本地局域网通常带宽比较充足,可以选择接入分辨率和码流都较高的主码流,对于远程视频接入可以选择副码流。
存储空间资源计算
视频监控的存储容量和码流有密切的关系。单个摄像头每天录像容量的计算公式为:
公式3
在计算前,我们需要了解摄像机的码流设置。图3、图4为一台典型网络摄像的码流配置界面。可以看到同样的分辨率下,用户可以自行选择固定码流或变码流,如果选择变码流,摄像机可以根据数据量的大小自动调节带宽,遇到图像变化较快,颜色丰富的场景分配的带宽就大一些;图像变化较慢,颜色较不丰富时,分配的带宽就小一些。同时也可以设置变码流的上限。在选择固定码流的情况下,用户也可以自行选定码流,一般对于1080P的摄像头,选择4096Kb/S就能获得较好的效果。
图3 可变码流选择 | 图4 固定码率选择
假定选择了4096Kb/s的码流,将数据代入到上述公式3中可以得到:
经过计算可以得出,1台1080P的摄像机,如果采用4096Kb/s的固定码流,每天需要占用42.2GB的存储空间,用户只要将该数据乘以整体的摄像头数量,就可以计算出整个数据中心每天需要的存储容量,从而选择合适的硬盘配置。需要说明的是,NVR在配置硬盘时为了做到冗余通常需要做磁盘阵列,Raid5技术为每组盘有1块硬盘空间不可用,Raid6技术为每组硬盘2块硬盘空间不可用,在计算时需要扣除。
交换机选择计算
前文提及了主流的视频监控组网架构,那么如何选择合适的POE交换机,避免造成网络拥塞,也需要进行充分的考虑。以下计算假定每台摄像机的码流均为4Mbps。
接入层交换机选择
接入层交换机的选择相对简单。目前主流的接入层交换机每个端口都达到了100M以上,在接入层也不必考虑交换机级联的问题,如果将每个摄像机直接接入到POE接入层交换机的端口,在端口层面是完全没有问题的。但是需要关注接入层交换机的上联端口,如果接入层交换机为24口,在全部插满摄像头的情况下,其整体带宽将达到24*4=96M,考虑到网络开销,建议选择1000M的上行端口。因此对于接入层的交换机,我们只需要选择100M的下行端口,1000M的上行端口就能满足主流1080P摄像头部署需要。
汇聚层交换机选择
要汇聚多台接入层交换机,就需要关注更多的交换机参数——上行带宽、背板带宽和包转发率。这里我们假定汇聚交换机的端口为24口,每个端口均为1000M口,并且下挂满载24个摄像头的接入层交换机。此时汇聚层的流量为:
4Mbps×24×24=2304Mbps。
因此汇聚交换机的上行端口必须选择万兆端口。
交换机的总交换能力,是交换机处理器、接口卡和数据总线配合在一起能够处理的最大数据容量,通常单位为Gbps。一台交换机的背板带宽越大,对数据的交换处理能力就越强。我们通常希望交换机是线速交换机,保证所有的端口都不限速工作,也就是所有端口都全双工工作时,背板带宽仍然能提供无阻塞的包交换。背板带宽的计算公式:
公式4
假定这台汇聚交换机为24个千兆口,4个万兆上行口,则该交换机的背板带宽需求为:
下图为某公司某系列交换机的选型参数表格,可以看到其交换容量为336Gbps,属于线速交换机,在背板容量上不存在瓶颈。
图5 交换机选型表格截图
包转发率则标识了交换机转发数据包的能力,单位一般为Mpps(百万包每秒),通常和交换机的背板带宽成正比。对于万兆以太网,一个线速端口的包转发率为14.88Mpps;对于千兆以太网,一个线速端口的包转发率为1.488Mpps;100M以太网则为0.1488Mpps。交换机的包转发率的计算公式为:
公式5
仍然假定选择的这台汇聚交换机为24个千兆口,4个万兆上行口,其包转发率为:
因此用户可以根据计算的包转发率在图5中选择合适的交换机型号。
其他需要注意的问题
如果有核心层的交换机,可参考汇聚层交换机的计算方式进行选择。需要注意的是,以上计算只考虑了视频实时存储的需要,也就是每个摄像头实时只有一路码流输出。如果每个摄像头除了在实时存储以外,还有另外的客户端在实时查看,则需要相应的附加上这个部分的带宽。另外对NVR接入带宽的选择也需要根据NVR接入的摄像头数量,参考交换机的计算方式进行相应的选择。
总结
天网恢恢疏而不漏,至此,我们已经从“设备选型与布局”和“组网架构与资源计算”两个方面,为大家介绍了腾讯是如何编织数据中心视频监控网络的,这也是腾讯数据中心安防产品“腾讯觅踪”的技术基础。
![](https://jkboy.com/wp-content/uploads/2021/10/Pasted-11.png)