EasyNVR级联到上级平台播放一分钟后出现黑屏现象排查
今年年初,我们将EasyNVR的功能做了精进,EasyNVR目前也支持国标GB28181协议的级联了。如果大家想更多了解EasyNVR的级联功能,可以通过EasyNVR+EasyGBS的方案进行测试,当然EasyNVR也可以级联其他上级平台。
在EasyNVR级联上级平台后,播放视频流一分钟后出现了黑屏现相,然而EasyNVR平台视频可以一直播放,说明流没有问题。查看日志EasyNVR平台级联消息也是正确的。再来查看EasyNVR的通道配置,用户配置的是按需,查找推流时的代码,发现按需播放需要发送保活消息,在保活消息发送超过一分钟后,如果没有再次更新保活时间将结束推流。
接着查找国标级联的Invite消息,发现NVR在收到消息后,没有定时更新保活时间,所以出现了上级平台播放一分钟后断流黑屏的现象。
只需要在接收到Invite消息时,在定时器中更新保活时间就能解决问题:
但是定时器也不能忘了退出,否则即使按需直播结束了播放也会继续推流,所以还需要在定时器中监听退出信号,接收到Bye消息时,在通道发送定时器退出信号,停止更新保活时间,保证推流断开。