天天看点

如何增加直播APP代码观看到直播画面的速度

对直播APP代码来说用户的直播间开屏时间会直接影响到用户的观看体验。我们在观看直播时有时会遇到打开直播间只能听到声音看不到画面的情况,或干脆直接声音画面都没有,这就是视频流在传输过程中出现了问题,很有可能是延迟问题。

直播APP代码中产生延迟的原因有这几点:用户端与服务器之间的物理距离;用户端的网速;负载和网络类型。

1.我们都知道直播APP代码在搭建时多用到CDN服务器,CDN服务器各个节点分布的距离,覆盖的面积会直接影响到用户接收的时间,举个例子:CDN的某个节点在上海,观看直播的用户也在上海,那么这位用户看到直播画面的时间会比其他用户相对快一些,差距会在1-2秒内。

距离越长,视频流传递速度固定,花费的时间越长。如果服务器与客户端的网络运营商保持一致,网速保持一致,那么产生网络延迟的原因在于终端网络的负载和网络类型。

2.如上面所说,用户端的网速太慢也会影响到直播开屏时间。比如西部地区的服务器假设较少,网络延迟就会较高,延迟可能就会在50-100ms之间。正常的网络延迟无线环境下是10-100ms,有线是在5-10ms之间。

为了照顾弱网络环境下的用户,直播视频在上传的时候可以通过降低码率来降低视频的画质,这样视频在解码时需要的流量就会下降,在弱网络环境下也可以正常观看直播,只是画质不能太高。

3.服务器负载情况也会决定用户接收到视频流的时间。在没有服务集群或没有进行负载均衡协议时,服务器需要对用户的请求一个一个的回复,数据会由采集端的边缘节点传输到主干网络,再返回发送到播放端节点。整个过程耗费的时间根据用户的请求增加,请求越多,后面的用户就需要排队等待,等待服务器的相应。

在实际直播场景中,为解决网络不佳、网络抖动带来的延迟问题,还可以设立缓冲策略,通过缓冲策略累计延迟,在到达最大值时爆发延迟,这样用户观看时不会出现断断续续的场景,但会一次性等待过长的时间。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

继续阅读