我时常会接到用户的反馈,使用Easy系列的产品时,直接使用流媒体分发的视频流,视频播放几分钟就出现中断问题。这种问题在用户不知道如何解决或者排查的情况下,就要通过我们的技术支持来协助解决了。

如何通过保活让RTSP、RTMP、GB28181协议视频平台持续输出视频流?_第1张图片

在网络和服务器都没有问题的情况下,为什么流媒体会自己停止传输视频?又如何让视频流一直持续输出?

我们研发的Easy系列的视频服务都是基于nginx来进行分发的,至于视频分发的持续性则是由应用层控制的,也就是说应用层控制了流媒体视频的接入和输出。我们可以推断流媒体停止视频分发,是由于应用层停止了对流媒体接入和输出请求。

因此我们需要让应用层一直保持对流媒体的接入,而流媒体对外的视频流也就会不停的输出了。

那么,我们如何实现应用层对流媒体的不停输出呢?这个就涉及到标题说的保活接口。

什么是保活:就是通过应用层的机制,实现流媒体的不停输出视频流。

Easy系列流媒体的机制就是通过客户端定期的向应用层发送心跳,让应用层知道客户端这边有视频播放的需求,以此为依据,不断要求流媒体稳定输出视频流。

EasyNVR的保活接口为:/api/v1/touchchannelstream

如何通过保活让RTSP、RTMP、GB28181协议视频平台持续输出视频流?_第2张图片

EasyGBS的保活接口为:/api/v1/stream/touch

如何通过保活让RTSP、RTMP、GB28181协议视频平台持续输出视频流?_第3张图片

对于保活接口客户端调用的频率:EasyNVR可以每30S调用一次;EasyGBS每15S调用一次。