视频监控服务器中的视频保活机制,即视频监控软件平台的实时视频API接口调用问题解决

avatar
作者
筋斗云
阅读量:0

目录

一、问题说明

二、问题分析

1、进一步探究问题

2、服务端关闭视频流的原因

三、心跳保活

1、定义与原理

(1)定义

(2)原理

2、保活的作用

3、实现方式

四、测试视频心跳保活

1、请求实时视频

2、查看保活消息

3、观察服务器媒体流相关日志

五、实际使用

1、查看保活

2、查看视频


一、问题说明

        客户在测试视频监控平台服务器的实时视频请求API接口时,发现接口返回的视频流url仅能播放一分钟左右,一分钟之后url就失效了,vlc中输入url无法播放视频,这是什么原因呢?

二、问题分析

1、进一步探究问题

        收到客户的问题后,向客户询问了他们进行实时视频请求接口时的操作方式,得到客户的回复后,经过确认,接口中传入的参数没有问题,然后在本地使用相同的方式进行操作,将获得的url放在vlc里播放,一分钟后,视频自动停止播放。

        系统生成的url如下图所示:

        于是我们去查询了播放视频流相关的日志,发现在视频请求的一分钟后,服务器中出现了关闭视频流的相关信息,也就是说vlc无法继续播放视频的原因是视频流被关闭了。

2、服务端关闭视频流的原因

        什么情况下视频流会被关闭呢?

        首先想到的是在客户端手动去关闭正在播放的视频画面,但是这次的视频流是使用API接口请求的,并且也没有使用停止实时视频的API接口去手动停止播放,所以这个想法马上被否决了。

        接着,就考虑另一种情况:接口只是请求了实时视频,但没有向服务端发送视频心跳保活数据包。

   

三、心跳保活

        心跳保活是网络通信中的一种机制,特别是用于维护长连接的可用性。具体来说,心跳保活是指应用层通过定时发送心跳包的方式,来检测并维持双方连接的状态。

1、定义与原理

(1)定义

        心跳保活是指在网络通信中,通信双方通过定期发送心跳包来检测对方是否在线,从而维持长连接的可用性。

(2)原理

        通信的某一方(通常是客户端)按照预定的时间间隔向另一方(服务端)发送心跳包。如果服务端正常接收到心跳包并作出响应,则认为双方连接正常;如果服务端在一定时间内未收到心跳包或响应,则认为连接可能出现问题,进而可以采取相应的措施。

2、保活的作用

        ①检测连接状态:心跳保活能够实时检测连接的可用性,避免因连接中断或失效而导致的通信问题。

        ②维持长连接:在需要长时间保持连接的场景中(如IM即时通讯、在线游戏等),心跳保活机制能够确保连接的稳定性和可靠性。

        ③提高通信效率:通过及时检测并恢复失效的连接,心跳保活可以减少因连接中断而导致的重复连接请求和资源浪费。

3、实现方式

        ①定时发送心跳包:通信的某一方按照预定的时间间隔向另一方发送心跳包。心跳包的发送频率和格式可以根据实际需求进行配置。

        ②接收并响应心跳包:接收方在收到心跳包后,应该立即作出响应。如果接收方在一定时间内未收到心跳包或响应,则可以认为连接出现问题。

        ③处理连接问题:当检测到连接问题时,通信双方可以采取相应的措施来恢复连接。例如,客户端可以重新发起连接请求,或者服务端可以尝试重启连接等。

四、测试视频心跳保活

1、请求实时视频

        使用API接口请求实时视频。

2、查看保活消息

        在一分钟内调用视频心跳保活接口,根据请求实时视频返回的session-id,在接口中传入相关参数,向服务端发送保活信息。

        返回结果为OK。

3、观察服务器媒体流相关日志

        请求实时视频产生的部分日志,请求时间为16:19:52,如下图所示:

        断开视频流的日志,时间为:16:23:01,如下图所示:

        在接口请求实时视频的过程中,调用了几次视频心跳保活接口,每调用一次,实时视频的请求时间便会延长1分钟,如果在接下来的1分钟内没有再次调用心跳保活接口,视频流便会被关闭。

五、实际使用

1、查看保活

      在客户端的实际使用过程中,在客户端打开视频画面后,便会每30秒向服务器发送一次心跳保活数据包,以此来达到视频画面持续播放的目的。

        如下为接着的保活消息:

        可以看出,两个保活消息的时间间隔是30秒。

2、查看视频

        在VLC一直观察视频情况,如下图示:

        可以看出,视频一直保持播放。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!