EasyCVR是我们支持协议最全面的视频平台,可支持的协议包括国标GB/T28181、RTSP/Onvif、RTMP等,并且平台兼容性非常高,支持多类型的设备接入,包括传统网络摄像机、NVR、编码器、4G移动执法仪等视频源设备接入。平台支持兼容不同品牌、不同型号的视频平台及设备,可覆盖市面上绝大多数的设备。
我们在测试过程中发现,在EasyCVR前端添加RTSP设备时,无论是选择UDP还是TCP,出现了最终都以TCP的连接方式添加的现象。
添加设备中有TCP/UDP选项:
在通道中添加设备只能以上层目录中TCP还是UDP进行RTSP连接:
所以在测试中发现,不管上层目录选择的是TCP还是UDP,最终都是以TCP的方式添加了设备。这显然不符合我们平台的功能设计,所以针对该情况我们进行了排查分析和解决。
1)首先需要找到添加设备的API接口。代码如下:
2)此处是获取设备目录的信息,里面自带添加的TCP和UDP属性。
3)如下图,此处才是向数据添加的设备:
4)以下是添加RTSP流,并有一个RTSP句柄:
5)最终找到了添加RTSP句柄,原来这里面写死了TCP连接方式。如下图:
解决方法:
1)在开始添加设备时,将父级通道的连接方式传给子类。这样子类就有父类的连接方式。如下图:
2)最终还需要修改写死TCP连接的方式,只需要判断即可,如下:
按照上述操作修改后,RTSP设备始终以TCP方式连接的问题得到了修复。
EasyCVR平台的采集、汇聚、编码、管理、存储、分发等高效的基础视频能力,为各平台模块、子系统提供了稳定流畅的视频数据服务。平台可对外提供统一的服务API接口,实现连接设备、连接数据、连接应用,便于第三方平台快速集成。
EasyCVR目前已经在大量的线下场景中落地,如智慧工厂、智慧工地、智慧安防、智慧校园、智慧水利等场景中。感兴趣的用户可以前往演示平台进行体验或部署测试。