关于NVR资源的利用方面,本文就主要介绍NVR设备本地(在HDMI/VGA显示器上)出现“资源不足”的原因及常规排查思路。
现象:如下图所示,部分通道显示“资源不足” 我们先理解下“资源不足”的原因:解码显示性能达到了设备的上限。每一个产品都有性能上限,本地解码性能指的是NVR将前端IPC图像显示出来的最大能力,如果超过了这个能力就会提示“资源不足”。
在讲到排查思路之前,我们先来了解一下NVR的机制和原理。 (1)NVR连接IPC取流原理 当NVR连接前端IPC时,都会尝试获取2路视频,也就是主码流+子码流。主码流的分辨率和码率要更高一些,属于高清视频源;子码流是辅流,清晰度较低。
(2)NVR本地解码原理 NVR本地支持画面分割,在IPC主、子码流都成功连接后,解码规则是单画面或大画面解码主码流,小画面解码子码流;当小画面获取不到子码流的情况下,也会使用主码流进行解码。 在多画面分割的情况下,设备主要是以子码流在解码。理论上,子码流不是很大的情况下,设备是不会出现资源不足的情况。
(3)NVR取IPC子码流规则。 当满足以下条件时,才会在连接IPC时取IPC的子码流: 对于V3.0.2之前,子码流分辨率小于等于4CIF,码率小于等于1M; 对于V3.1.0以后版本,子码流分辨率需小于等于720P,码率小于等于2M; 综上所述,细心的读者应该已经可以从原理中总结出:其实在多画面分割的情况下,设备主要是以子码流在解码,理论上,子码流不是非常大的情况下,设备是不会出现资源不足的情况。
2.1单画面情况下,出现“资源不足”。 单画面的情况下,只解码一路视频,如果出现了资源不足,那就只能是IPC分辨率超过了设备的单路解码能力。比如DS-8632N-E8,单路最大支持600W的解码,如果接入800W的IPC,单画面解主码流时,将出现“资源不足”。
2.2多画面情况下,出现“资源不足”。 多画面的情况下,按照“单画面或大画面解码主码流,小画面解码子码流”的规则,出现资源不足的情况是设备的解码能力达到了上限。遇到最多的情况是IPC子码流没有取到,使用主码流达到设备性能上限导致。 那么,实际上,排查多画面“资源不足”,就是排查子码流是否没有成功取到。
2.2.1怎么判断子码流没有取到呢? 方法一:在预览画面的情况下,单击某个通道,查看快捷菜单栏的摄像头图标,可以查看通道的解码信息,看当前通道的解码是主码流还是子码流,分辨率和码率如何。如果小画面解码的是分辨率较低的视频,就可以证明已经取到子码流。
方法二:进入主菜单,通络下面路径:录像配置-编码参数-子码流参数,查看子码流具体参数的参数;若提示“该通道不支持此项功能”则表示该通道的子码流没有成功取到。
2.2.2 NVR没有取到IPC子码流,导致多画面“资源不足”问题的处理步骤 登录IPC的界面,查看编码参数中的IPC的子码流的分辨率及码率; 设置为满足条件的参数,比如分辨率4CIF/ 码率1024Kbps; 重启IPC,NVR将重新连接并获取子码流信息。
2.3针对解码资源不足的情况,我们是否有一些优化措施?当然,研发的兄弟们也是在不断优化,以方便排查及减少资源不足出现的情况。 优化措施: 1.当子码流因超限取流失败时,“异常/报警”窗口提示“子码流分辨率/码率超限”; 2.NVR在获取到子码流后,编码参数的界面中,用户可以查看到子码流的分辨率及码率上限,且无法设置高于这两个限制的参数。 3.本地4画面解码超过一定分辨率自动切换为子码流,降低资源不足的概率。
1、本地回放时,提示“资源不足”,是为什么? 答:回放时,从硬盘读取数据,而一般录像都是主码流高清数据。所以,回放是实打实播放,多路回放情况下,达到设备解码上限时,会出现“资源不足”(较为少见)。
2、预览多画面出现“资源不足”,查看通道子码流实际获取到,通道码流信息查看,解码的是主码流,切换为单画面,再切换为多画面就可以正常? 答:NVR一些老版本,存在不能自动切换子码流解码的问题。目前V3.4.2以上版本都已经解决。