EasyCVR系统支持多种协议前端设备的接入,包括RTSP、RTMP、GB28181、Ehome及海康/大华SDK协议,其中选择比较多的是GB28181协议和Ehome协议。
有客户采用EasyCVR接入了各个公路养护地点的摄像头进行联网直播和录像处理,通过国标的方式来进行视频接入,但是在实际的使用过程中会出现,播放视频流的时候软件是可以正常工作和使用的,但是当我们开启全面录像的时候。就会出现系统卡顿和锁死的问题。
通过问题现象我们发现,出现卡顿和录像的开启有着直接的关系,那么我们需要从录像功能上来进行处理和问题的排查。
EasyCVR的录像是将摄像机的视频流进行切片处理,这样就涉及到磁盘读写的相关功能。由于在客户的系统中挂载的是群晖的网络磁盘对象,而且在实际的测试过程中会发现,磁盘的读写能力比较小,无法满足大批量的录像。且EasyCVR的数据库和录像都是磁盘文件,都是需要进行磁盘读写的,那么当磁盘的读写被录像占满后,必然会影响到数据库的读写,由此影响了数据库的运行。
通过上述分析可以得知,磁盘读写能力是导致问题的主要原因,当我们的录像和数据库冲突后,就会影响软件的运行。
此时我们可以切换两个磁盘来进行录像和数据库路径存储设置,当录像读写和数据库不是一个磁盘空间的时候,我们就可以满足对应的需求了。还有一种方式就是将EasyCVR的数据库切换为mysql这种不需要直接进行磁盘读写的数据库,由此来规避掉磁盘读写带来的数据使用问题。