视频的播放都是需要消耗带宽及流量的,由于有带宽及服务器的限制,在我们的流媒体平台都添加了“按需直播”的选择,以节省带宽。
在EasyNVR后台通道列表中,如果将通道设置为按需播放,在播放视频时会定时请求touchstreamclient接口进行拉流,如果通道离线了,在页面进行弹框提示。参数channel是一个指定通道号:

但是,如果在实时调阅中播放视频,并且16路按需流一起播放就会有16个touchstreamclient请求,这样会浪费资源,所以需要进行接口优化。

优化后的逻辑是在channel中传数组,每播放一路新的流就在列表中增加一个通道ID,并且过滤重复的通道ID,返回的数据也需要进行对应的修改。将原来的只返回特定通道的信息改为数组形式,所有通道信息都放入一个数组中,前端将数据处理后正确的通道进行播放,离线的通道弹窗提示,这样只需要一个请求就能完成所有播放通道的心跳保活。
播放如下:

实现如下:

本文介绍了一种在流媒体平台中优化“按需直播”功能的方法。通过改进touchstreamclient接口,实现了多路视频同时播放时仅需一次心跳保活请求的目标,有效减少了资源消耗。
246

被折叠的 条评论
为什么被折叠?



