关于RTSP及RTMP的区别,我想大家应该都比较清楚了,RTSP是拉流协议,而RTMP是推流协议。TSINGSEE团队研发的EasyNVR采用的是RTSP协议,主动从摄像机上进行拉流操作,并通过RTSP协议进行一系列转码分发工作,最终通过EasyPlayer播放器播放。
我们遇到的有位客户在将摄像机接入EasyNVR之后,出现摄像机经常拉流失败的情况,于是系统过于频繁重连,导致摄像机把EasyNVR禁用拉流。
市面上确实有部分摄像机有这个机制,不允许拉流客户端在拉流失败后,一直循环向摄像机发送拉流请求,如果一直请求,会把拉流客户端禁用,导致后续无法拉流。目前EasyNVR的重连机制恰巧就是不断向终端发送拉流请求,导致EasyNVR被禁用,拉流失败。
针对此类情况,我们对EasyNVR拉流重连机制进行了优化。在EasyNVR拉流失败且重连超时后,才重新发起连接请求,修改的代码如下:
在m_timeout_s时间内,进行延时,超时后,重新进行连接请求。
同时,这个重连超时可以通过在easynvr.ini配置文件中增加base_config下设置open_stream_timeout,单位为秒,默认不配置是5s。
注:EasyNVR视频平台目前已经支持H.265视频编码的播放,各位朋友如果有兴趣或者有需要都可以联系我们。