现如今,越来越多的有趣的视频出现在了网络直播平台,那么对于直播来说最大的BUG不过是视频卡顿,对于这种情况极大的造成用户体验不佳的情况,都分为哪几种个原因,又该如何解决呢?
对于网络直播开发而言,出现直播的过程一般是采集→前处理→编码→推流→分发→拉流→解码→播放,如果要保证观看的及时性,那么应该如何降低直播延迟,如何解决直播源码开发中的一些关键性的问题呢?
首先如果某一直播间内很多用户都出现了卡顿问题首先使用排除法,如果该平台的其他直播间内没有该问题,排除平台问题。这时主播就该检查一下他所处的网络环境了,毕竟推流上行不稳定的原因大概率是主播所处网络环境有问题。
另外是否是用户网络问题。如果是某一网络环境下的用户直播卡顿,那么就很有可能使用户所在网络环境的问题,还有一种情况是视频清晰度过高产生的问题,清晰度高是很好的,但是清晰度过高会造成带宽的占用过高,会造成流量资费的提升和宽带的占用,并表现出卡顿。
再有就是关于时间戳的问题。时间戳问题与推流 SDK有关,音视频流在进行编码后会有固定的时间戳,经网络传输到达用户端后,视频帧会按照时间戳排序成像而视频播放器是严格按照时间戳来做音画同步的,因此,如果时间戳出现错误,肯定会影响到播放画面的渲染,导致画面解析时出现问题,造成直播卡顿。
接着是否是用户端硬件适配问题。直播的传输过程中会对视频进行编解码,如果手机/电脑硬件配置低,那么编解码的速度就会降低,用GPU硬解码的方式能在大量解码的同时提升解码效率,但如果手机配置跟不上也一样会造成直播卡顿。
最后就是视频分发问题。单点、单机房、单线路、单模块的故障,都可能导致直播卡顿,如果某一地区用户发现,该地区直播平台突然整个崩溃,那么多半是服务器或者视频分发出了问题,就像前几天阿里云华北地区的崩溃事故一样,半个华北地区的程序员都被惊动了,这也告诉我们,鸡蛋不要放在一个篮子里,必要的时候可以使用多家CDN协作保障。
另外提醒大家的是,直播app开发可以通过提高直播软件的兼容性和容错率,或设置多种清晰度供用户自行调整,增大播放器缓冲区,但这有可能延缓首屏开放时间。
上海酷虎网络科技有限公司专注APP定制开发服务,主要经营业务包括APP开发、品牌app运营推广、微信账号建设及运营、企业品牌打造和提升、以及区块链和应用软件开发、微信开发、 网站建设、小程序开发、营销推广、大数据分析等专业对接服务。 |