通常在进行直播软件开发时,为了能进一步提升直播平台体验,较为常见的延迟、卡顿等问题,都是需要用心去处理的。其中有一项处理不好,都会直接影响前端app的运行。下面简单介绍下直播软件开发层面影响直播体验的相关因素。
直播软件开发中影响直播平台体验的三项指标
1.影响直播产品体验的第一个指标是延迟,即数据从信息源发送到目的地所需的时间。大部分用户都属于“视觉动物”重视第一印象,这也是为什么大多数开发者在进行直播软件开发时会格外注意了。由于 RTMP/HLS 是基于 TCP 之上的应用层协议,TCP 三次握手,四次挥手,慢启动过程中的每一次往返来回,都会加上一次往返耗时 ,这些交互过程都会增加延迟。再加上出现网络抖动也可能导致丢包重传,间接导致延迟加大。
2.卡顿即视频播放过程中出现画面滞帧,也就是我们通常提到的直播画面很卡的情况。单位时间内的播放卡顿次数统计称之为卡顿率。造成卡顿的原因可能有以下三点:
(1)推流端发送数据中断
(2)公网传输拥塞或者是网络抖动异常
(3)终端设备的解码性能太差
降低甚至消除直播软件的卡顿次数,用户的产品体验才能更好。
3.首屏耗时即第一次点击播放后,用户肉眼看到画面之前所等待的时间。技术上是指播放器解码第一帧渲染显示画面所花的耗时。所谓的秒开,也是指点击播放后,一秒内即可看到播放画面。同样的,首屏打开速度越快,用户的产品体验越好。
直播软件开发采用不同芯片平台会出现编码差异
iOS端和Android端应用的差异,导致芯片的选取也会有所不同。iOS端必然要选择Apple公司出厂的芯片了,由于是同一家公司出品的,所以在ios端无论是硬编还是软编,几乎不存在因为芯片平台不同而导致的编码差异。
但是在Android端就不同了,不同的芯片平台上编码差异表现很大。不同的厂家使用不同的芯片,而不同的芯片平台上Android MediaCodec 表现略有差异。再加上Android MediaCodec硬编层面的H.264编码画质参数是固定的baseline,所以画质比较一般。因此在直播软件开发时,Android端大都推荐使用软件编码,不仅画质可调控而且兼容性还好。
低端设备上高性能采集和编码的方法
在采集过程中,采集的频次很高且编码帧率也很高,每张图如果都经过编码器,那么编码器可能会出现过载情况。此时,可以在不影响画质的前提下进行选择性丢帧,以此来降低编码环节的功耗开销,这种方式在直播软件开发时的应用,也能很好的提升用户实际的直播平台体验。
弱网下保障高清流畅推流的方法
在移动端观看直播时,经常会遇到网络不稳定、断线重连、连接被充值等情况。还有就是用户在进行移动网络切换时,带宽可能也会出现瓶颈。如果带宽不够,那么帧率或码率较高的内容就无法及时发送出去,这个时候就需要可变码率进行支持。即在推流端,检查网络状态和简单测速后,选择动态切换码率,从而保障网络切换时的推流流畅。
以上这些因素的存在会影响直播平台体验,因此在直播软件开发过程中需要格外关注。如果有哪里叙述的不够全面,欢迎大家在评论区与我互动交流。